From 50d1bf9dfaa09f783cfa12cc8c42c49e469adaeb Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 08:31:28 +0000 Subject: [PATCH 001/197] feat: richer EphemeralArray and TransientArray APIs Adds empty(), map, filter, any, all, find and read_as to EphemeralArray (spun off from #23928) and mirrors them on TransientArray. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 423 ++++++++++++++++++ .../aztec-nr/aztec/src/transient/mod.nr | 423 ++++++++++++++++++ 2 files changed, 846 insertions(+) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 2b64fe54f4a3..74cc36b813aa 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,4 +1,5 @@ use crate::oracle::ephemeral; +use crate::oracle::random::random; use crate::protocol::traits::{Deserialize, Serialize}; use crate::protocol::utils::{reader::Reader, writer::Writer}; @@ -39,6 +40,15 @@ impl EphemeralArray { Self::at(slot).clear() } + /// Returns an empty ephemeral array at a fresh, randomly allocated slot. + /// + /// Use this when the caller does not need a specific slot: the random slot is isolated from every other ephemeral + /// array with overwhelming probability. Prefer [`EphemeralArray::empty_at`] when the slot must be a known value + /// (e.g. one shared with an oracle). + pub unconstrained fn empty() -> Self { + Self::empty_at(random()) + } + /// Returns the number of elements stored in the array. pub unconstrained fn len(self) -> u32 { ephemeral::len_oracle(self.slot) @@ -110,6 +120,104 @@ impl EphemeralArray { f(i, self.get(i)); } } + + /// Applies `f` to every element and collects the results into a fresh ephemeral array. + /// + /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly + /// allocated slot (see [`EphemeralArray::empty`]). The source array is left unchanged, and the result is isolated + /// from it, so `map` can be chained. + pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> EphemeralArray + where + T: Deserialize, + U: Serialize, + { + let dest: EphemeralArray = EphemeralArray::empty(); + let n = self.len(); + for i in 0..n { + dest.push(f(self.get(i))); + } + dest + } + + /// Collects every element satisfying the predicate `f` into a fresh ephemeral array. + /// + /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a + /// freshly allocated slot (see [`EphemeralArray::empty`]). Relative order is preserved. The source array is left + /// unchanged, and the result is isolated from it, so `filter` can be chained. + pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self + where + T: Serialize + Deserialize, + { + let dest: Self = EphemeralArray::empty(); + let n = self.len(); + for i in 0..n { + let value = self.get(i); + if f(value) { + dest.push(value); + } + } + dest + } + + /// Returns `true` if at least one element satisfies the predicate `f`. + /// + /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in + /// terms of [`EphemeralArray::filter`]: it keeps the matching elements and checks whether any survived. This is + /// not short-circuiting — every element is tested even after the first match. + pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool + where + T: Serialize + Deserialize, + { + self.filter(f).len() != 0 + } + + /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). + /// + /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of + /// [`EphemeralArray::filter`]: every element matches exactly when filtering keeps all of them. This is not + /// short-circuiting — every element is tested even after the first failure. + pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool + where + T: Serialize + Deserialize, + { + self.filter(f).len() == self.len() + } + + /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. + /// + /// Mirrors Rust's `Iterator::find`. Defined in terms of [`EphemeralArray::filter`], which preserves order, so the + /// first kept element is the first match. This is not short-circuiting — every element is tested even after the + /// match is found. + pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option + where + T: Serialize + Deserialize, + { + let matches = self.filter(f); + if matches.len() != 0 { + Option::some(matches.get(0)) + } else { + Option::none() + } + } +} + +impl EphemeralArray { + /// Deserializes the whole array into a `T`. + /// + /// Asserts the array holds exactly `::N` fields, then reconstructs a `T` from them. This is the + /// read-back counterpart to pushing a value's serialized fields onto the array, and is defined only on + /// `EphemeralArray` because deserialization reconstructs a type from raw fields. + pub unconstrained fn read_as(self) -> T + where + T: Deserialize, + { + assert_eq(self.len(), ::N, "EphemeralArray length mismatch for read_as"); + let mut fields: [Field; ::N] = [0; ::N]; + for i in 0..::N { + fields[i] = self.get(i); + } + Deserialize::deserialize(fields) + } } /// Serializes an `EphemeralArray` as its slot identifier, allowing oracle function signatures to use @@ -141,6 +249,7 @@ impl Deserialize for EphemeralArray { } mod test { + use crate::protocol::traits::Serialize; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; use super::EphemeralArray; @@ -372,6 +481,35 @@ mod test { }); } + #[test] + unconstrained fn read_as_reconstructs_serialized_value() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + + let value = MockStruct::new(5, 6); + let serialized = value.serialize(); + for i in 0..serialized.len() { + array.push(serialized[i]); + } + + let reconstructed: MockStruct = array.read_as(); + assert_eq(reconstructed, value); + }); + } + + #[test(should_fail_with = "length mismatch")] + unconstrained fn read_as_rejects_length_mismatch() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + // MockStruct deserializes from 2 fields, so a single field is too short. + array.push(1); + + let _: MockStruct = array.read_as(); + }); + } + #[test] unconstrained fn empty_at_wipes_previous_data() { let env = TestEnvironment::new(); @@ -415,4 +553,289 @@ mod test { assert_eq(fresh.get(0), 4); }); } + + #[test] + unconstrained fn empty_allocates_distinct_slots() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let a: EphemeralArray = EphemeralArray::empty(); + let b: EphemeralArray = EphemeralArray::empty(); + + assert(a.slot != b.slot, "empty() should allocate a fresh slot each time"); + + a.push(1); + b.push(2); + assert_eq(a.len(), 1); + assert_eq(a.get(0), 1); + assert_eq(b.len(), 1); + assert_eq(b.get(0), 2); + }); + } + + #[test] + unconstrained fn map_transforms_each_element() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + let doubled: EphemeralArray = source.map(|x| x * 2); + + assert_eq(doubled.len(), 3); + assert_eq(doubled.get(0), 2); + assert_eq(doubled.get(1), 4); + assert_eq(doubled.get(2), 6); + + // The source array is left untouched. + assert_eq(source.len(), 3); + assert_eq(source.get(0), 1); + }); + } + + #[test] + unconstrained fn map_empty_source_gives_empty_dest() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + let mapped: EphemeralArray = source.map(|x| x * 2); + assert_eq(mapped.len(), 0); + }); + } + + #[test] + unconstrained fn map_to_different_type() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(5); + source.push(7); + + let structs: EphemeralArray = source.map(|x| MockStruct::new(x, x + 1)); + + assert_eq(structs.len(), 2); + assert_eq(structs.get(0), MockStruct::new(5, 6)); + assert_eq(structs.get(1), MockStruct::new(7, 8)); + }); + } + + #[test] + unconstrained fn map_results_are_isolated() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + // Each map allocates its own fresh slot, so two maps of the same source do not clobber each other. + let doubled: EphemeralArray = source.map(|x| x * 2); + let tripled: EphemeralArray = source.map(|x| x * 3); + + assert(doubled.slot != tripled.slot, "each map should land in a distinct slot"); + assert_eq(doubled.get(0), 2); + assert_eq(doubled.get(2), 6); + assert_eq(tripled.get(0), 3); + assert_eq(tripled.get(2), 9); + }); + } + + #[test] + unconstrained fn filter_keeps_matching_elements_in_order() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(1); + source.push(2); + source.push(3); + source.push(2); + source.push(5); + + let kept: EphemeralArray = source.filter(|x| x != 2); + + assert_eq(kept.len(), 3); + assert_eq(kept.get(0), 1); + assert_eq(kept.get(1), 3); + assert_eq(kept.get(2), 5); + + // The source array is left untouched. + assert_eq(source.len(), 5); + assert_eq(source.get(1), 2); + }); + } + + #[test] + unconstrained fn filter_empty_source_gives_empty_dest() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + let kept: EphemeralArray = source.filter(|_| true); + assert_eq(kept.len(), 0); + }); + } + + #[test] + unconstrained fn filter_none_match_gives_empty_dest() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + let kept: EphemeralArray = source.filter(|_| false); + assert_eq(kept.len(), 0); + }); + } + + #[test] + unconstrained fn filter_works_with_multi_field_type() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(MockStruct::new(1, 10)); + source.push(MockStruct::new(2, 20)); + source.push(MockStruct::new(3, 30)); + + let kept: EphemeralArray = source.filter(|s: MockStruct| s.a != 2); + + assert_eq(kept.len(), 2); + assert_eq(kept.get(0), MockStruct::new(1, 10)); + assert_eq(kept.get(1), MockStruct::new(3, 30)); + }); + } + + #[test] + unconstrained fn filter_results_are_isolated() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: EphemeralArray = EphemeralArray::empty_at(SLOT); + source.push(1); + source.push(2); + source.push(3); + source.push(4); + + // Each filter allocates its own fresh slot, so two filters of the same source do not clobber each other. + let odds: EphemeralArray = source.filter(|x| (x != 2) & (x != 4)); + let evens: EphemeralArray = source.filter(|x| (x != 1) & (x != 3)); + + assert(odds.slot != evens.slot, "each filter should land in a distinct slot"); + assert_eq(odds.len(), 2); + assert_eq(odds.get(0), 1); + assert_eq(odds.get(1), 3); + assert_eq(evens.len(), 2); + assert_eq(evens.get(0), 2); + assert_eq(evens.get(1), 4); + }); + } + + #[test] + unconstrained fn any_is_true_when_an_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.any(|x| x == 2)); + }); + } + + #[test] + unconstrained fn any_is_false_when_no_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(!array.any(|x| x == 9)); + }); + } + + #[test] + unconstrained fn any_on_empty_array_is_false() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + assert(!array.any(|_| true)); + }); + } + + #[test] + unconstrained fn all_is_true_when_every_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.all(|x| x != 0)); + }); + } + + #[test] + unconstrained fn all_is_false_when_one_element_fails() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(!array.all(|x| x != 2)); + }); + } + + #[test] + unconstrained fn all_on_empty_array_is_true() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + assert(array.all(|_| false)); + }); + } + + #[test] + unconstrained fn find_returns_first_matching_element() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + array.push(1); + array.push(2); + array.push(3); + array.push(4); + + // Both 2 and 4 match; find must return the first one in order. + let found = array.find(|x| (x == 2) | (x == 4)); + assert(found.is_some()); + assert_eq(found.unwrap(), 2); + }); + } + + #[test] + unconstrained fn find_returns_none_when_no_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.find(|x| x == 9).is_none()); + }); + } + + #[test] + unconstrained fn find_on_empty_array_is_none() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: EphemeralArray = EphemeralArray::empty_at(SLOT); + assert(array.find(|_| true).is_none()); + }); + } } diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index d143b0c294ed..ff70f59e4263 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -1,3 +1,4 @@ +use crate::oracle::random::random; use crate::oracle::transient; use crate::protocol::traits::{Deserialize, Serialize}; use crate::protocol::utils::{reader::Reader, writer::Writer}; @@ -40,6 +41,15 @@ impl TransientArray { Self { slot } } + /// Returns an empty transient array at a fresh, randomly allocated slot. + /// + /// Use this when the caller does not need a specific slot: the random slot is isolated from every other transient + /// array with overwhelming probability. Prefer [`TransientArray::at`] when the slot must be a known value (e.g. + /// one agreed upon with another frame of the same contract). + pub unconstrained fn empty() -> Self { + Self::at(random()).clear() + } + /// Returns the number of elements stored in the array. pub unconstrained fn len(self) -> u32 { transient::len_oracle(self.slot) @@ -107,6 +117,104 @@ impl TransientArray { f(i, self.get(i)); } } + + /// Applies `f` to every element and collects the results into a fresh transient array. + /// + /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly + /// allocated slot (see [`TransientArray::empty`]). The source array is left unchanged, and the result is isolated + /// from it, so `map` can be chained. + pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> TransientArray + where + T: Deserialize, + U: Serialize, + { + let dest: TransientArray = TransientArray::empty(); + let n = self.len(); + for i in 0..n { + dest.push(f(self.get(i))); + } + dest + } + + /// Collects every element satisfying the predicate `f` into a fresh transient array. + /// + /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a + /// freshly allocated slot (see [`TransientArray::empty`]). Relative order is preserved. The source array is left + /// unchanged, and the result is isolated from it, so `filter` can be chained. + pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self + where + T: Serialize + Deserialize, + { + let dest: Self = TransientArray::empty(); + let n = self.len(); + for i in 0..n { + let value = self.get(i); + if f(value) { + dest.push(value); + } + } + dest + } + + /// Returns `true` if at least one element satisfies the predicate `f`. + /// + /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in + /// terms of [`TransientArray::filter`]: it keeps the matching elements and checks whether any survived. This is + /// not short-circuiting — every element is tested even after the first match. + pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool + where + T: Serialize + Deserialize, + { + self.filter(f).len() != 0 + } + + /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). + /// + /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of + /// [`TransientArray::filter`]: every element matches exactly when filtering keeps all of them. This is not + /// short-circuiting — every element is tested even after the first failure. + pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool + where + T: Serialize + Deserialize, + { + self.filter(f).len() == self.len() + } + + /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. + /// + /// Mirrors Rust's `Iterator::find`. Defined in terms of [`TransientArray::filter`], which preserves order, so the + /// first kept element is the first match. This is not short-circuiting — every element is tested even after the + /// match is found. + pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option + where + T: Serialize + Deserialize, + { + let matches = self.filter(f); + if matches.len() != 0 { + Option::some(matches.get(0)) + } else { + Option::none() + } + } +} + +impl TransientArray { + /// Deserializes the whole array into a `T`. + /// + /// Asserts the array holds exactly `::N` fields, then reconstructs a `T` from them. This is the + /// read-back counterpart to pushing a value's serialized fields onto the array, and is defined only on + /// `TransientArray` because deserialization reconstructs a type from raw fields. + pub unconstrained fn read_as(self) -> T + where + T: Deserialize, + { + assert_eq(self.len(), ::N, "TransientArray length mismatch for read_as"); + let mut fields: [Field; ::N] = [0; ::N]; + for i in 0..::N { + fields[i] = self.get(i); + } + Deserialize::deserialize(fields) + } } /// Serializes a `TransientArray` as its slot identifier, allowing oracle function signatures to use `TransientArray` @@ -165,6 +273,7 @@ pub unconstrained fn delete(slot: Field) { } mod test { + use crate::protocol::traits::Serialize; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; use super::{delete, load, store, TransientArray}; @@ -402,6 +511,35 @@ mod test { }); } + #[test] + unconstrained fn read_as_reconstructs_serialized_value() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + + let value = MockStruct::new(5, 6); + let serialized = value.serialize(); + for i in 0..serialized.len() { + array.push(serialized[i]); + } + + let reconstructed: MockStruct = array.read_as(); + assert_eq(reconstructed, value); + }); + } + + #[test(should_fail_with = "length mismatch")] + unconstrained fn read_as_rejects_length_mismatch() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + // MockStruct deserializes from 2 fields, so a single field is too short. + array.push(1); + + let _: MockStruct = array.read_as(); + }); + } + #[test] unconstrained fn clear_returns_self() { let env = TestEnvironment::new(); @@ -432,6 +570,291 @@ mod test { }); } + #[test] + unconstrained fn empty_allocates_distinct_slots() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let a: TransientArray = TransientArray::empty(); + let b: TransientArray = TransientArray::empty(); + + assert(a.slot != b.slot, "empty() should allocate a fresh slot each time"); + + a.push(1); + b.push(2); + assert_eq(a.len(), 1); + assert_eq(a.get(0), 1); + assert_eq(b.len(), 1); + assert_eq(b.get(0), 2); + }); + } + + #[test] + unconstrained fn map_transforms_each_element() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + let doubled: TransientArray = source.map(|x| x * 2); + + assert_eq(doubled.len(), 3); + assert_eq(doubled.get(0), 2); + assert_eq(doubled.get(1), 4); + assert_eq(doubled.get(2), 6); + + // The source array is left untouched. + assert_eq(source.len(), 3); + assert_eq(source.get(0), 1); + }); + } + + #[test] + unconstrained fn map_empty_source_gives_empty_dest() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + let mapped: TransientArray = source.map(|x| x * 2); + assert_eq(mapped.len(), 0); + }); + } + + #[test] + unconstrained fn map_to_different_type() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(5); + source.push(7); + + let structs: TransientArray = source.map(|x| MockStruct::new(x, x + 1)); + + assert_eq(structs.len(), 2); + assert_eq(structs.get(0), MockStruct::new(5, 6)); + assert_eq(structs.get(1), MockStruct::new(7, 8)); + }); + } + + #[test] + unconstrained fn map_results_are_isolated() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + // Each map allocates its own fresh slot, so two maps of the same source do not clobber each other. + let doubled: TransientArray = source.map(|x| x * 2); + let tripled: TransientArray = source.map(|x| x * 3); + + assert(doubled.slot != tripled.slot, "each map should land in a distinct slot"); + assert_eq(doubled.get(0), 2); + assert_eq(doubled.get(2), 6); + assert_eq(tripled.get(0), 3); + assert_eq(tripled.get(2), 9); + }); + } + + #[test] + unconstrained fn filter_keeps_matching_elements_in_order() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + source.push(2); + source.push(5); + + let kept: TransientArray = source.filter(|x| x != 2); + + assert_eq(kept.len(), 3); + assert_eq(kept.get(0), 1); + assert_eq(kept.get(1), 3); + assert_eq(kept.get(2), 5); + + // The source array is left untouched. + assert_eq(source.len(), 5); + assert_eq(source.get(1), 2); + }); + } + + #[test] + unconstrained fn filter_empty_source_gives_empty_dest() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + let kept: TransientArray = source.filter(|_| true); + assert_eq(kept.len(), 0); + }); + } + + #[test] + unconstrained fn filter_none_match_gives_empty_dest() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + let kept: TransientArray = source.filter(|_| false); + assert_eq(kept.len(), 0); + }); + } + + #[test] + unconstrained fn filter_works_with_multi_field_type() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(MockStruct::new(1, 10)); + source.push(MockStruct::new(2, 20)); + source.push(MockStruct::new(3, 30)); + + let kept: TransientArray = source.filter(|s: MockStruct| s.a != 2); + + assert_eq(kept.len(), 2); + assert_eq(kept.get(0), MockStruct::new(1, 10)); + assert_eq(kept.get(1), MockStruct::new(3, 30)); + }); + } + + #[test] + unconstrained fn filter_results_are_isolated() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: TransientArray = TransientArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + source.push(4); + + // Each filter allocates its own fresh slot, so two filters of the same source do not clobber each other. + let odds: TransientArray = source.filter(|x| (x != 2) & (x != 4)); + let evens: TransientArray = source.filter(|x| (x != 1) & (x != 3)); + + assert(odds.slot != evens.slot, "each filter should land in a distinct slot"); + assert_eq(odds.len(), 2); + assert_eq(odds.get(0), 1); + assert_eq(odds.get(1), 3); + assert_eq(evens.len(), 2); + assert_eq(evens.get(0), 2); + assert_eq(evens.get(1), 4); + }); + } + + #[test] + unconstrained fn any_is_true_when_an_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.any(|x| x == 2)); + }); + } + + #[test] + unconstrained fn any_is_false_when_no_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(!array.any(|x| x == 9)); + }); + } + + #[test] + unconstrained fn any_on_empty_array_is_false() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + assert(!array.any(|_| true)); + }); + } + + #[test] + unconstrained fn all_is_true_when_every_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.all(|x| x != 0)); + }); + } + + #[test] + unconstrained fn all_is_false_when_one_element_fails() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(!array.all(|x| x != 2)); + }); + } + + #[test] + unconstrained fn all_on_empty_array_is_true() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + assert(array.all(|_| false)); + }); + } + + #[test] + unconstrained fn find_returns_first_matching_element() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + array.push(4); + + // Both 2 and 4 match; find must return the first one in order. + let found = array.find(|x| (x == 2) | (x == 4)); + assert(found.is_some()); + assert_eq(found.unwrap(), 2); + }); + } + + #[test] + unconstrained fn find_returns_none_when_no_element_matches() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.find(|x| x == 9).is_none()); + }); + } + + #[test] + unconstrained fn find_on_empty_array_is_none() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: TransientArray = TransientArray::at(SLOT); + assert(array.find(|_| true).is_none()); + }); + } + #[test] unconstrained fn store_and_load() { let env = TestEnvironment::new(); From fe86aae52b6b862824d02af9d0729f10a5b17c0f Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 09:54:45 +0000 Subject: [PATCH 002/197] refactor: unify EphemeralArray and TransientArray over OracleArray Both types are now aliases of a single OracleArray generic, parameterized by an ArrayOracle backend trait whose impls wrap the existing #[oracle] declarations. Foreign-call names and the TS-side services are untouched; monomorphization emits the same calls as before. empty_at stays ephemeral-only via a specialized impl. Test suites are byte-for-byte unchanged. Expansion snapshots regenerated: nargo expand now prints the resolved OracleArray paths. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 232 ++------------- noir-projects/aztec-nr/aztec/src/lib.nr | 1 + .../aztec-nr/aztec/src/oracle_array/mod.nr | 265 ++++++++++++++++++ .../aztec-nr/aztec/src/transient/mod.nr | 224 ++------------- .../invalid_note/snapshots__stderr.snap | 5 +- .../amm_contract/snapshots__expanded.snap | 3 +- .../snapshots__expanded.snap | 3 +- .../snapshots__expanded.snap | 3 +- .../snapshots__expanded.snap | 3 +- .../snapshots__expanded.snap | 3 +- .../token_contract/snapshots__expanded.snap | 3 +- 11 files changed, 329 insertions(+), 416 deletions(-) create mode 100644 noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 74cc36b813aa..86b3e63f36a8 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,7 +1,5 @@ use crate::oracle::ephemeral; -use crate::oracle::random::random; -use crate::protocol::traits::{Deserialize, Serialize}; -use crate::protocol::utils::{reader::Reader, writer::Writer}; +use crate::oracle_array::{ArrayOracle, OracleArray}; /// A dynamically sized array that exists only during a single contract call frame. /// @@ -24,227 +22,49 @@ use crate::protocol::utils::{reader::Reader, writer::Writer}; /// For data that must be shared across all frames of the same contract (private and utility) within one top-level PXE /// call (transaction simulation or utility call) but not persisted, use /// [`TransientArray`](crate::transient::TransientArray). -pub struct EphemeralArray { - pub slot: Field, -} +pub type EphemeralArray = OracleArray; -impl EphemeralArray { - /// Returns a handle to an ephemeral array at the given slot, which may already contain data (e.g. populated - /// by an oracle). - pub unconstrained fn at(slot: Field) -> Self { - Self { slot } - } +/// Routes [`OracleArray`] operations to the ephemeral array oracles, scoping arrays to a single contract call frame. +pub struct EphemeralOracle {} - /// Returns an empty ephemeral array at the given slot, clearing any pre-existing data. - pub unconstrained fn empty_at(slot: Field) -> Self { - Self::at(slot).clear() +impl ArrayOracle for EphemeralOracle { + unconstrained fn len_oracle(slot: Field) -> u32 { + ephemeral::len_oracle(slot) } - /// Returns an empty ephemeral array at a fresh, randomly allocated slot. - /// - /// Use this when the caller does not need a specific slot: the random slot is isolated from every other ephemeral - /// array with overwhelming probability. Prefer [`EphemeralArray::empty_at`] when the slot must be a known value - /// (e.g. one shared with an oracle). - pub unconstrained fn empty() -> Self { - Self::empty_at(random()) + unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32 { + ephemeral::push_oracle(slot, values) } - /// Returns the number of elements stored in the array. - pub unconstrained fn len(self) -> u32 { - ephemeral::len_oracle(self.slot) + unconstrained fn pop_oracle(slot: Field) -> [Field; N] { + ephemeral::pop_oracle(slot) } - /// Stores a value at the end of the array. - pub unconstrained fn push(self, value: T) - where - T: Serialize, - { - let serialized = value.serialize(); - let _ = ephemeral::push_oracle(self.slot, serialized); - } - - /// Removes and returns the last element. Panics if the array is empty. - pub unconstrained fn pop(self) -> T - where - T: Deserialize, - { - let serialized = ephemeral::pop_oracle(self.slot); - Deserialize::deserialize(serialized) - } - - /// Retrieves the value stored at `index`. Panics if the index is out of bounds. - pub unconstrained fn get(self, index: u32) -> T - where - T: Deserialize, - { - let serialized = ephemeral::get_oracle(self.slot, index); - Deserialize::deserialize(serialized) - } - - /// Overwrites the value stored at `index`. Panics if the index is out of bounds. - pub unconstrained fn set(self, index: u32, value: T) - where - T: Serialize, - { - let serialized = value.serialize(); - ephemeral::set_oracle(self.slot, index, serialized); - } - - /// Removes the element at `index`, shifting subsequent elements backward. Panics if out of bounds. - pub unconstrained fn remove(self, index: u32) { - ephemeral::remove_oracle(self.slot, index); - } - - /// Removes all elements from the array and returns self for chaining. - /// - /// Prefer [`EphemeralArray::empty_at`] when the intent is to start with a fresh array. - pub unconstrained fn clear(self) -> Self { - ephemeral::clear_oracle(self.slot); - self - } - - /// Calls a function on each element of the array. - /// - /// The function `f` is called once with each array value and its corresponding index. Iteration proceeds - /// backwards so that it is safe to remove the current element (and only the current element) inside the - /// callback. - /// - /// It is **not** safe to push new elements from inside the callback. - pub unconstrained fn for_each(self, f: unconstrained fn[Env](u32, T) -> ()) - where - T: Deserialize, - { - let mut i = self.len(); - while i > 0 { - i -= 1; - f(i, self.get(i)); - } - } - - /// Applies `f` to every element and collects the results into a fresh ephemeral array. - /// - /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly - /// allocated slot (see [`EphemeralArray::empty`]). The source array is left unchanged, and the result is isolated - /// from it, so `map` can be chained. - pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> EphemeralArray - where - T: Deserialize, - U: Serialize, - { - let dest: EphemeralArray = EphemeralArray::empty(); - let n = self.len(); - for i in 0..n { - dest.push(f(self.get(i))); - } - dest - } - - /// Collects every element satisfying the predicate `f` into a fresh ephemeral array. - /// - /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a - /// freshly allocated slot (see [`EphemeralArray::empty`]). Relative order is preserved. The source array is left - /// unchanged, and the result is isolated from it, so `filter` can be chained. - pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self - where - T: Serialize + Deserialize, - { - let dest: Self = EphemeralArray::empty(); - let n = self.len(); - for i in 0..n { - let value = self.get(i); - if f(value) { - dest.push(value); - } - } - dest + unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N] { + ephemeral::get_oracle(slot, index) } - /// Returns `true` if at least one element satisfies the predicate `f`. - /// - /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in - /// terms of [`EphemeralArray::filter`]: it keeps the matching elements and checks whether any survived. This is - /// not short-circuiting — every element is tested even after the first match. - pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool - where - T: Serialize + Deserialize, - { - self.filter(f).len() != 0 + unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]) { + ephemeral::set_oracle(slot, index, values) } - /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). - /// - /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of - /// [`EphemeralArray::filter`]: every element matches exactly when filtering keeps all of them. This is not - /// short-circuiting — every element is tested even after the first failure. - pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool - where - T: Serialize + Deserialize, - { - self.filter(f).len() == self.len() + unconstrained fn remove_oracle(slot: Field, index: u32) { + ephemeral::remove_oracle(slot, index) } - /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. - /// - /// Mirrors Rust's `Iterator::find`. Defined in terms of [`EphemeralArray::filter`], which preserves order, so the - /// first kept element is the first match. This is not short-circuiting — every element is tested even after the - /// match is found. - pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option - where - T: Serialize + Deserialize, - { - let matches = self.filter(f); - if matches.len() != 0 { - Option::some(matches.get(0)) - } else { - Option::none() - } + unconstrained fn clear_oracle(slot: Field) { + ephemeral::clear_oracle(slot) } } -impl EphemeralArray { - /// Deserializes the whole array into a `T`. +impl OracleArray { + /// Returns an empty ephemeral array at the given slot, clearing any pre-existing data. /// - /// Asserts the array holds exactly `::N` fields, then reconstructs a `T` from them. This is the - /// read-back counterpart to pushing a value's serialized fields onto the array, and is defined only on - /// `EphemeralArray` because deserialization reconstructs a type from raw fields. - pub unconstrained fn read_as(self) -> T - where - T: Deserialize, - { - assert_eq(self.len(), ::N, "EphemeralArray length mismatch for read_as"); - let mut fields: [Field; ::N] = [0; ::N]; - for i in 0..::N { - fields[i] = self.get(i); - } - Deserialize::deserialize(fields) - } -} - -/// Serializes an `EphemeralArray` as its slot identifier, allowing oracle function signatures to use -/// `EphemeralArray` instead of opaque `Field` slots. -impl Serialize for EphemeralArray { - let N: u32 = 1; - - fn serialize(self) -> [Field; Self::N] { - [self.slot] - } - - fn stream_serialize(self, writer: &mut Writer) { - writer.write(self.slot); - } -} - -/// Deserializes a single Field into an `EphemeralArray` handle, treating the field value as the slot identifier. -/// This is the inverse of [`Serialize`]. -impl Deserialize for EphemeralArray { - let N: u32 = 1; - - fn deserialize(fields: [Field; Self::N]) -> Self { - Self { slot: fields[0] } - } - - fn stream_deserialize(reader: &mut Reader) -> Self { - Self { slot: reader.read() } + /// This is deliberately ephemeral-only: a [`TransientArray`](crate::transient::TransientArray) slot may hold data + /// written by another frame of the same contract, so wiping a known slot there stays explicit via + /// `TransientArray::at(slot).clear()`. + pub unconstrained fn empty_at(slot: Field) -> Self { + Self::at(slot).clear() } } diff --git a/noir-projects/aztec-nr/aztec/src/lib.nr b/noir-projects/aztec-nr/aztec/src/lib.nr index 51d250108832..507cd51bed80 100644 --- a/noir-projects/aztec-nr/aztec/src/lib.nr +++ b/noir-projects/aztec-nr/aztec/src/lib.nr @@ -39,6 +39,7 @@ pub mod nullifier; pub mod oracle; pub mod state_vars; pub mod capsules; +pub mod oracle_array; pub mod ephemeral; pub mod transient; pub mod event; diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr new file mode 100644 index 000000000000..572df64f87f3 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr @@ -0,0 +1,265 @@ +use crate::oracle::random::random; +use crate::protocol::traits::{Deserialize, Serialize}; +use crate::protocol::utils::{reader::Reader, writer::Writer}; + +/// Oracle backend for an [`OracleArray`]: the set of PXE-side operations that implement its storage. +/// +/// Each implementor routes these operations to a distinct family of oracles, and the oracle family determines the +/// array's lifetime and visibility (e.g. [`EphemeralArray`](crate::ephemeral::EphemeralArray) arrays live for one +/// contract call frame, while [`TransientArray`](crate::transient::TransientArray) arrays are shared across all frames +/// of the same contract within one top-level PXE call). Implementations are thin wrappers around `#[oracle]` +/// declarations, so method dispatch is resolved at compile time via monomorphization and each array type emits its own +/// foreign calls. +pub trait ArrayOracle { + /// Returns the number of elements in the array at `slot`. + unconstrained fn len_oracle(slot: Field) -> u32; + + /// Appends a serialized element to the array at `slot` and returns the new length. + unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32; + + /// Removes and returns the last serialized element of the array at `slot`. + unconstrained fn pop_oracle(slot: Field) -> [Field; N]; + + /// Returns the serialized element at the given index of the array at `slot`. + unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N]; + + /// Overwrites the serialized element at the given index of the array at `slot`. + unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]); + + /// Removes the element at the given index of the array at `slot`, shifting subsequent elements backward. + unconstrained fn remove_oracle(slot: Field, index: u32); + + /// Removes all elements from the array at `slot`. + unconstrained fn clear_oracle(slot: Field); +} + +/// A dynamically sized array backed by PXE-side in-memory storage via an [`ArrayOracle`] backend. +/// +/// Arrays are identified by a slot, and each logical operation (push, pop, get, etc.) is a single oracle call. The +/// `Oracle` backend determines the array's lifetime and visibility; contracts should not use this type directly but +/// rather one of its aliases: [`EphemeralArray`](crate::ephemeral::EphemeralArray) (scoped to a single contract call +/// frame) or [`TransientArray`](crate::transient::TransientArray) (shared across all frames of the same contract +/// within one top-level PXE call). +pub struct OracleArray { + pub slot: Field, +} + +impl OracleArray +where + Oracle: ArrayOracle, +{ + /// Returns a handle to the array at the given slot, which may already contain data (e.g. populated by an oracle + /// or by an earlier frame, depending on the backend's visibility). + pub unconstrained fn at(slot: Field) -> Self { + Self { slot } + } + + /// Returns an empty array at a fresh, randomly allocated slot. + /// + /// Use this when the caller does not need a specific slot: the random slot is isolated from every other array of + /// the same backend with overwhelming probability. Prefer [`OracleArray::at`] when the slot must be a known value + /// (e.g. one shared with an oracle or another call frame). + pub unconstrained fn empty() -> Self { + Self::at(random()).clear() + } + + /// Returns the number of elements stored in the array. + pub unconstrained fn len(self) -> u32 { + Oracle::len_oracle(self.slot) + } + + /// Stores a value at the end of the array. + pub unconstrained fn push(self, value: T) + where + T: Serialize, + { + let serialized = value.serialize(); + let _ = Oracle::push_oracle(self.slot, serialized); + } + + /// Removes and returns the last element. Panics if the array is empty. + pub unconstrained fn pop(self) -> T + where + T: Deserialize, + { + let serialized = Oracle::pop_oracle(self.slot); + Deserialize::deserialize(serialized) + } + + /// Retrieves the value stored at `index`. Panics if the index is out of bounds. + pub unconstrained fn get(self, index: u32) -> T + where + T: Deserialize, + { + let serialized = Oracle::get_oracle(self.slot, index); + Deserialize::deserialize(serialized) + } + + /// Overwrites the value stored at `index`. Panics if the index is out of bounds. + pub unconstrained fn set(self, index: u32, value: T) + where + T: Serialize, + { + let serialized = value.serialize(); + Oracle::set_oracle(self.slot, index, serialized); + } + + /// Removes the element at `index`, shifting subsequent elements backward. Panics if out of bounds. + pub unconstrained fn remove(self, index: u32) { + Oracle::remove_oracle(self.slot, index); + } + + /// Removes all elements from the array and returns self for chaining (e.g. `OracleArray::at(slot).clear()` to + /// get a guaranteed-empty array at a given slot). + pub unconstrained fn clear(self) -> Self { + Oracle::clear_oracle(self.slot); + self + } + + /// Calls a function on each element of the array. + /// + /// The function `f` is called once with each array value and its corresponding index. Iteration proceeds + /// backwards so that it is safe to remove the current element (and only the current element) inside the + /// callback. + /// + /// It is **not** safe to push new elements from inside the callback. + pub unconstrained fn for_each(self, f: unconstrained fn[Env](u32, T) -> ()) + where + T: Deserialize, + { + let mut i = self.len(); + while i > 0 { + i -= 1; + f(i, self.get(i)); + } + } + + /// Applies `f` to every element and collects the results into a fresh array. + /// + /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly + /// allocated slot (see [`OracleArray::empty`]). The source array is left unchanged, and the result is isolated + /// from it, so `map` can be chained. + pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> OracleArray + where + T: Deserialize, + U: Serialize, + { + let dest: OracleArray = OracleArray::empty(); + let n = self.len(); + for i in 0..n { + dest.push(f(self.get(i))); + } + dest + } + + /// Collects every element satisfying the predicate `f` into a fresh array. + /// + /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a + /// freshly allocated slot (see [`OracleArray::empty`]). Relative order is preserved. The source array is left + /// unchanged, and the result is isolated from it, so `filter` can be chained. + pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self + where + T: Serialize + Deserialize, + { + let dest: Self = OracleArray::empty(); + let n = self.len(); + for i in 0..n { + let value = self.get(i); + if f(value) { + dest.push(value); + } + } + dest + } + + /// Returns `true` if at least one element satisfies the predicate `f`. + /// + /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in + /// terms of [`OracleArray::filter`]: it keeps the matching elements and checks whether any survived. This is not + /// short-circuiting — every element is tested even after the first match. + pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool + where + T: Serialize + Deserialize, + { + self.filter(f).len() != 0 + } + + /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). + /// + /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of + /// [`OracleArray::filter`]: every element matches exactly when filtering keeps all of them. This is not + /// short-circuiting — every element is tested even after the first failure. + pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool + where + T: Serialize + Deserialize, + { + self.filter(f).len() == self.len() + } + + /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. + /// + /// Mirrors Rust's `Iterator::find`. Defined in terms of [`OracleArray::filter`], which preserves order, so the + /// first kept element is the first match. This is not short-circuiting — every element is tested even after the + /// match is found. + pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option + where + T: Serialize + Deserialize, + { + let matches = self.filter(f); + if matches.len() != 0 { + Option::some(matches.get(0)) + } else { + Option::none() + } + } +} + +impl OracleArray +where + Oracle: ArrayOracle, +{ + /// Deserializes the whole array into a `T`. + /// + /// Asserts the array holds exactly `::N` fields, then reconstructs a `T` from them. This is the + /// read-back counterpart to pushing a value's serialized fields onto the array, and is defined only on arrays of + /// `Field` because deserialization reconstructs a type from raw fields. + pub unconstrained fn read_as(self) -> T + where + T: Deserialize, + { + assert_eq(self.len(), ::N, "OracleArray length mismatch for read_as"); + let mut fields: [Field; ::N] = [0; ::N]; + for i in 0..::N { + fields[i] = self.get(i); + } + Deserialize::deserialize(fields) + } +} + +/// Serializes an `OracleArray` as its slot identifier, allowing oracle function signatures to use array types +/// instead of opaque `Field` slots. +impl Serialize for OracleArray { + let N: u32 = 1; + + fn serialize(self) -> [Field; Self::N] { + [self.slot] + } + + fn stream_serialize(self, writer: &mut Writer) { + writer.write(self.slot); + } +} + +/// Deserializes a single Field into an `OracleArray` handle, treating the field value as the slot identifier. +/// This is the inverse of [`Serialize`]. +impl Deserialize for OracleArray { + let N: u32 = 1; + + fn deserialize(fields: [Field; Self::N]) -> Self { + Self { slot: fields[0] } + } + + fn stream_deserialize(reader: &mut Reader) -> Self { + Self { slot: reader.read() } + } +} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index ff70f59e4263..204fb253624c 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -1,7 +1,6 @@ -use crate::oracle::random::random; use crate::oracle::transient; +use crate::oracle_array::{ArrayOracle, OracleArray}; use crate::protocol::traits::{Deserialize, Serialize}; -use crate::protocol::utils::{reader::Reader, writer::Writer}; /// A dynamically sized array that lives for the duration of a single top-level PXE call. /// @@ -30,218 +29,39 @@ use crate::protocol::utils::{reader::Reader, writer::Writer}; /// Use this to pass not-to-be-persisted data between a contract's own frames (private or utility) within one top-level /// PXE call. For data confined to a single call frame, prefer [`EphemeralArray`](crate::ephemeral::EphemeralArray). /// For data that must persist indefinitely, use [`CapsuleArray`](crate::capsules::CapsuleArray). -pub struct TransientArray { - pub slot: Field, -} +pub type TransientArray = OracleArray; -impl TransientArray { - /// Returns a handle to a transient array at the given slot, which may already contain data pushed by an earlier - /// frame of the same contract in this top-level PXE call. - pub unconstrained fn at(slot: Field) -> Self { - Self { slot } - } - - /// Returns an empty transient array at a fresh, randomly allocated slot. - /// - /// Use this when the caller does not need a specific slot: the random slot is isolated from every other transient - /// array with overwhelming probability. Prefer [`TransientArray::at`] when the slot must be a known value (e.g. - /// one agreed upon with another frame of the same contract). - pub unconstrained fn empty() -> Self { - Self::at(random()).clear() - } - - /// Returns the number of elements stored in the array. - pub unconstrained fn len(self) -> u32 { - transient::len_oracle(self.slot) - } - - /// Stores a value at the end of the array. - pub unconstrained fn push(self, value: T) - where - T: Serialize, - { - let serialized = value.serialize(); - let _ = transient::push_oracle(self.slot, serialized); - } - - /// Removes and returns the last element. Panics if the array is empty. - pub unconstrained fn pop(self) -> T - where - T: Deserialize, - { - let serialized = transient::pop_oracle(self.slot); - Deserialize::deserialize(serialized) - } - - /// Retrieves the value stored at `index`. Panics if the index is out of bounds. - pub unconstrained fn get(self, index: u32) -> T - where - T: Deserialize, - { - let serialized = transient::get_oracle(self.slot, index); - Deserialize::deserialize(serialized) - } - - /// Overwrites the value stored at `index`. Panics if the index is out of bounds. - pub unconstrained fn set(self, index: u32, value: T) - where - T: Serialize, - { - let serialized = value.serialize(); - transient::set_oracle(self.slot, index, serialized); - } - - /// Removes the element at `index`, shifting subsequent elements backward. Panics if out of bounds. - pub unconstrained fn remove(self, index: u32) { - transient::remove_oracle(self.slot, index); - } - - /// Removes all elements from the array and returns self for chaining (e.g. `TransientArray::at(slot).clear()` - /// to get a guaranteed-empty array at a given slot). - pub unconstrained fn clear(self) -> Self { - transient::clear_oracle(self.slot); - self - } - - /// Calls a function on each element of the array. - /// - /// Iteration proceeds backwards so it is safe to remove the current element (and only the current element) inside - /// the callback. It is **not** safe to push new elements from inside the callback. - pub unconstrained fn for_each(self, f: unconstrained fn[Env](u32, T) -> ()) - where - T: Deserialize, - { - let mut i = self.len(); - while i > 0 { - i -= 1; - f(i, self.get(i)); - } - } - - /// Applies `f` to every element and collects the results into a fresh transient array. - /// - /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly - /// allocated slot (see [`TransientArray::empty`]). The source array is left unchanged, and the result is isolated - /// from it, so `map` can be chained. - pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> TransientArray - where - T: Deserialize, - U: Serialize, - { - let dest: TransientArray = TransientArray::empty(); - let n = self.len(); - for i in 0..n { - dest.push(f(self.get(i))); - } - dest - } - - /// Collects every element satisfying the predicate `f` into a fresh transient array. - /// - /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a - /// freshly allocated slot (see [`TransientArray::empty`]). Relative order is preserved. The source array is left - /// unchanged, and the result is isolated from it, so `filter` can be chained. - pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self - where - T: Serialize + Deserialize, - { - let dest: Self = TransientArray::empty(); - let n = self.len(); - for i in 0..n { - let value = self.get(i); - if f(value) { - dest.push(value); - } - } - dest - } - - /// Returns `true` if at least one element satisfies the predicate `f`. - /// - /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in - /// terms of [`TransientArray::filter`]: it keeps the matching elements and checks whether any survived. This is - /// not short-circuiting — every element is tested even after the first match. - pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool - where - T: Serialize + Deserialize, - { - self.filter(f).len() != 0 - } - - /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). - /// - /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of - /// [`TransientArray::filter`]: every element matches exactly when filtering keeps all of them. This is not - /// short-circuiting — every element is tested even after the first failure. - pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool - where - T: Serialize + Deserialize, - { - self.filter(f).len() == self.len() - } - - /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. - /// - /// Mirrors Rust's `Iterator::find`. Defined in terms of [`TransientArray::filter`], which preserves order, so the - /// first kept element is the first match. This is not short-circuiting — every element is tested even after the - /// match is found. - pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option - where - T: Serialize + Deserialize, - { - let matches = self.filter(f); - if matches.len() != 0 { - Option::some(matches.get(0)) - } else { - Option::none() - } - } -} +/// Routes [`OracleArray`] operations to the transient array oracles, sharing arrays across all call frames of the +/// same contract within one top-level PXE call. +pub struct TransientOracle {} -impl TransientArray { - /// Deserializes the whole array into a `T`. - /// - /// Asserts the array holds exactly `::N` fields, then reconstructs a `T` from them. This is the - /// read-back counterpart to pushing a value's serialized fields onto the array, and is defined only on - /// `TransientArray` because deserialization reconstructs a type from raw fields. - pub unconstrained fn read_as(self) -> T - where - T: Deserialize, - { - assert_eq(self.len(), ::N, "TransientArray length mismatch for read_as"); - let mut fields: [Field; ::N] = [0; ::N]; - for i in 0..::N { - fields[i] = self.get(i); - } - Deserialize::deserialize(fields) +impl ArrayOracle for TransientOracle { + unconstrained fn len_oracle(slot: Field) -> u32 { + transient::len_oracle(slot) } -} -/// Serializes a `TransientArray` as its slot identifier, allowing oracle function signatures to use `TransientArray` -/// instead of opaque `Field` slots. -impl Serialize for TransientArray { - let N: u32 = 1; + unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32 { + transient::push_oracle(slot, values) + } - fn serialize(self) -> [Field; Self::N] { - [self.slot] + unconstrained fn pop_oracle(slot: Field) -> [Field; N] { + transient::pop_oracle(slot) } - fn stream_serialize(self, writer: &mut Writer) { - writer.write(self.slot); + unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N] { + transient::get_oracle(slot, index) } -} -/// Deserializes a single Field into a `TransientArray` handle, treating the field value as the slot identifier. -/// This is the inverse of [`Serialize`]. -impl Deserialize for TransientArray { - let N: u32 = 1; + unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]) { + transient::set_oracle(slot, index, values) + } - fn deserialize(fields: [Field; Self::N]) -> Self { - Self { slot: fields[0] } + unconstrained fn remove_oracle(slot: Field, index: u32) { + transient::remove_oracle(slot, index) } - fn stream_deserialize(reader: &mut Reader) -> Self { - Self { slot: reader.read() } + unconstrained fn clear_oracle(slot: Field) { + transient::clear_oracle(slot) } } diff --git a/noir-projects/contract-snapshots/tests/snapshots/compile_failure/invalid_note/snapshots__stderr.snap b/noir-projects/contract-snapshots/tests/snapshots/compile_failure/invalid_note/snapshots__stderr.snap index 0e2fc502906b..c318cf3a0956 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/compile_failure/invalid_note/snapshots__stderr.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/compile_failure/invalid_note/snapshots__stderr.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 118 expression: stderr --- error: InvalidNote has a packed length of 9 fields, which exceeds the maximum allowed length of 8 fields. See https://docs.aztec.network/errors/4 @@ -13,8 +14,8 @@ error: InvalidNote has a packed length of 9 fields, which exceeds the maximum al at /noir-projects/aztec-nr/aztec/src/macros/aztec.nr:: 2: do_sync_state at /noir-projects/aztec-nr/aztec/src/messages/discovery/mod.nr:: - 3: EphemeralArray::for_each - at /noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr:: + 3: OracleArray::for_each + at /noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr:: 4: do_sync_state at /noir-projects/aztec-nr/aztec/src/messages/discovery/mod.nr:: 5: process_message_ciphertext diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap index c44ddd355c2f..3ec1b3682c61 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 159 expression: stdout --- @@ -833,7 +834,7 @@ pub contract AMM { unconstrained fn sync_state(scope: AztecAddress) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); - aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::ephemeral::EphemeralArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); + aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::oracle_array::OracleArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); } pub struct offchain_receive_parameters { diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap index c7f2843131a6..d2b5233aa173 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 159 expression: stdout --- @@ -332,7 +333,7 @@ contract AvmGadgetsTest { unconstrained fn sync_state(scope: aztec::protocol::address::AztecAddress) { let address: aztec::protocol::address::AztecAddress = aztec::context::UtilityContext::new().this_address(); - aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, aztec::protocol::address::AztecAddress)>::none(), Option:: aztec::ephemeral::EphemeralArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); + aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, aztec::protocol::address::AztecAddress)>::none(), Option:: aztec::oracle_array::OracleArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); } pub struct offchain_receive_parameters { diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap index cdfa8a6786b4..ab5416d3eb75 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 159 expression: stdout --- @@ -1718,7 +1719,7 @@ pub contract AvmTest { unconstrained fn sync_state(scope: AztecAddress) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); - aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::ephemeral::EphemeralArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); + aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::oracle_array::OracleArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); } pub struct offchain_receive_parameters { diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap index 445edf3cc082..ae15dd5d32cf 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 159 expression: stdout --- @@ -308,7 +309,7 @@ pub contract PublicFnsWithEmitRepro { unconstrained fn sync_state(scope: aztec::protocol::address::AztecAddress) { let address: aztec::protocol::address::AztecAddress = aztec::context::UtilityContext::new().this_address(); - aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, aztec::protocol::address::AztecAddress)>::none(), Option:: aztec::ephemeral::EphemeralArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); + aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, aztec::protocol::address::AztecAddress)>::none(), Option:: aztec::oracle_array::OracleArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); } pub struct offchain_receive_parameters { diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap index 0f8dae5d076b..e26096f956fc 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 159 expression: stdout --- @@ -267,7 +268,7 @@ contract StorageProofTest { unconstrained fn sync_state(scope: AztecAddress) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); - aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::ephemeral::EphemeralArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); + aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::oracle_array::OracleArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); } pub struct offchain_receive_parameters { diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap index 61239ae02de8..e99dc969d8f8 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap @@ -1,5 +1,6 @@ --- source: tests/snapshots.rs +assertion_line: 159 expression: stdout --- @@ -1043,7 +1044,7 @@ pub contract Token { unconstrained fn sync_state(scope: AztecAddress) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); - aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::ephemeral::EphemeralArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); + aztec::messages::discovery::do_sync_state(address, _compute_note_hash, _compute_note_nullifier, Option::, aztec::messages::processing::MessageContext, AztecAddress)>::none(), Option:: aztec::oracle_array::OracleArray>::some(aztec::messages::processing::offchain::sync_inbox), scope); } pub struct offchain_receive_parameters { From f75105743ddfc06efef5c3727c3af3c9b03402f4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 10:15:33 +0000 Subject: [PATCH 003/197] refactor: share OracleArray test bodies across backends Each behavior check is written once in oracle_array/test_helpers.nr, generic over the ArrayOracle backend; the ephemeral and transient test modules keep one named #[test] wrapper per behavior so counts, names and CI filters are unchanged. Backend-specific tests (empty_at, store/load/delete) stay with their backend. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 464 ++---------- .../aztec-nr/aztec/src/oracle_array/mod.nr | 2 + .../aztec/src/oracle_array/test_helpers.nr | 659 ++++++++++++++++++ .../aztec-nr/aztec/src/transient/mod.nr | 472 ++----------- 4 files changed, 745 insertions(+), 852 deletions(-) create mode 100644 noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 86b3e63f36a8..6ae5ca8a0ed6 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -69,265 +69,94 @@ impl OracleArray { } mod test { - use crate::protocol::traits::Serialize; + use crate::oracle_array::test_helpers::SLOT; + use crate::oracle_array::test_helpers as checks; use crate::test::helpers::test_environment::TestEnvironment; - use crate::test::mocks::MockStruct; - use super::EphemeralArray; - - global SLOT: Field = 1230; - global OTHER_SLOT: Field = 5670; + use super::{EphemeralArray, EphemeralOracle}; #[test] unconstrained fn empty_array() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::at(SLOT); - assert_eq(array.len(), 0); - }); + checks::check_empty_array::(); } #[test(should_fail_with = "out of bounds")] unconstrained fn empty_array_read() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - let _: Field = array.get(0); - }); + checks::check_empty_array_read::(); } #[test(should_fail_with = "is empty")] unconstrained fn empty_array_pop() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - let _: Field = array.pop(); - }); + checks::check_empty_array_pop::(); } #[test] unconstrained fn array_push() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - array.push(5); - - assert_eq(array.len(), 1); - assert_eq(array.get(0), 5); - }); + checks::check_array_push::(); } #[test(should_fail_with = "out of bounds")] unconstrained fn read_past_len() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - array.push(5); - - let _ = array.get(1); - }); + checks::check_read_past_len::(); } #[test] unconstrained fn array_pop() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - array.push(5); - array.push(10); - - let popped: Field = array.pop(); - assert_eq(popped, 10); - assert_eq(array.len(), 1); - assert_eq(array.get(0), 5); - }); + checks::check_array_pop::(); } #[test] unconstrained fn array_set() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - array.push(5); - array.set(0, 99); - assert_eq(array.get(0), 99); - }); + checks::check_array_set::(); } #[test] unconstrained fn array_remove_last() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - array.push(5); - array.remove(0); - assert_eq(array.len(), 0); - }); + checks::check_array_remove_last::(); } #[test] unconstrained fn array_remove_some() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - - array.push(7); - array.push(8); - array.push(9); - - assert_eq(array.len(), 3); - - array.remove(1); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), 7); - assert_eq(array.get(1), 9); - }); + checks::check_array_remove_some::(); } #[test] unconstrained fn array_remove_all() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - - array.push(7); - array.push(8); - array.push(9); - - array.remove(1); - array.remove(1); - array.remove(0); - - assert_eq(array.len(), 0); - }); + checks::check_array_remove_all::(); } #[test] unconstrained fn for_each_called_with_all_elements() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - let called_with = &mut BoundedVec::<(u32, Field), 3>::new(); - array.for_each(|index, value| { called_with.push((index, value)); }); - - assert_eq(called_with.len(), 3); - assert(called_with.any(|(index, value)| (index == 0) & (value == 4))); - assert(called_with.any(|(index, value)| (index == 1) & (value == 5))); - assert(called_with.any(|(index, value)| (index == 2) & (value == 6))); - }); + checks::check_for_each_called_with_all_elements::(); } #[test] unconstrained fn for_each_remove_some() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { - if index == 1 { - array.remove(index); - } - }); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), 4); - assert_eq(array.get(1), 6); - }); + checks::check_for_each_remove_some::(); } #[test] unconstrained fn for_each_remove_all() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = EphemeralArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { array.remove(index); }); - - assert_eq(array.len(), 0); - }); + checks::check_for_each_remove_all::(); } #[test] unconstrained fn different_slots_are_isolated() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array_a = EphemeralArray::at(SLOT); - let array_b = EphemeralArray::at(OTHER_SLOT); - - array_a.push(10); - array_a.push(20); - array_b.push(99); - - assert_eq(array_a.len(), 2); - assert_eq(array_a.get(0), 10); - assert_eq(array_a.get(1), 20); - - assert_eq(array_b.len(), 1); - assert_eq(array_b.get(0), 99); - }); + checks::check_different_slots_are_isolated::(); } #[test] unconstrained fn works_with_multi_field_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::at(SLOT); - - let a = MockStruct::new(5, 6); - let b = MockStruct::new(7, 8); - array.push(a); - array.push(b); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), a); - assert_eq(array.get(1), b); - - let popped: MockStruct = array.pop(); - assert_eq(popped, b); - assert_eq(array.len(), 1); - }); + checks::check_works_with_multi_field_type::(); } #[test] unconstrained fn read_as_reconstructs_serialized_value() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - - let value = MockStruct::new(5, 6); - let serialized = value.serialize(); - for i in 0..serialized.len() { - array.push(serialized[i]); - } - - let reconstructed: MockStruct = array.read_as(); - assert_eq(reconstructed, value); - }); + checks::check_read_as_reconstructs_serialized_value::(); } #[test(should_fail_with = "length mismatch")] unconstrained fn read_as_rejects_length_mismatch() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - // MockStruct deserializes from 2 fields, so a single field is too short. - array.push(1); - - let _: MockStruct = array.read_as(); - }); + checks::check_read_as_rejects_length_mismatch::(); } #[test] @@ -345,317 +174,106 @@ mod test { #[test] unconstrained fn clear_returns_self() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::at(SLOT).clear(); - assert_eq(array.len(), 0); - - array.push(42); - assert_eq(array.len(), 1); - assert_eq(array.get(0), 42); - }); + checks::check_clear_returns_self::(); } #[test] unconstrained fn clear_wipes_previous_data() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - assert_eq(array.len(), 3); - - // Clear the same slot, previous data should be gone. - let fresh: EphemeralArray = EphemeralArray::at(SLOT).clear(); - assert_eq(fresh.len(), 0); - fresh.push(4); - assert_eq(fresh.get(0), 4); - }); + checks::check_clear_wipes_previous_data::(); } #[test] unconstrained fn empty_allocates_distinct_slots() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let a: EphemeralArray = EphemeralArray::empty(); - let b: EphemeralArray = EphemeralArray::empty(); - - assert(a.slot != b.slot, "empty() should allocate a fresh slot each time"); - - a.push(1); - b.push(2); - assert_eq(a.len(), 1); - assert_eq(a.get(0), 1); - assert_eq(b.len(), 1); - assert_eq(b.get(0), 2); - }); + checks::check_empty_allocates_distinct_slots::(); } #[test] unconstrained fn map_transforms_each_element() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(1); - source.push(2); - source.push(3); - - let doubled: EphemeralArray = source.map(|x| x * 2); - - assert_eq(doubled.len(), 3); - assert_eq(doubled.get(0), 2); - assert_eq(doubled.get(1), 4); - assert_eq(doubled.get(2), 6); - - // The source array is left untouched. - assert_eq(source.len(), 3); - assert_eq(source.get(0), 1); - }); + checks::check_map_transforms_each_element::(); } #[test] unconstrained fn map_empty_source_gives_empty_dest() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - let mapped: EphemeralArray = source.map(|x| x * 2); - assert_eq(mapped.len(), 0); - }); + checks::check_map_empty_source_gives_empty_dest::(); } #[test] unconstrained fn map_to_different_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(5); - source.push(7); - - let structs: EphemeralArray = source.map(|x| MockStruct::new(x, x + 1)); - - assert_eq(structs.len(), 2); - assert_eq(structs.get(0), MockStruct::new(5, 6)); - assert_eq(structs.get(1), MockStruct::new(7, 8)); - }); + checks::check_map_to_different_type::(); } #[test] unconstrained fn map_results_are_isolated() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(1); - source.push(2); - source.push(3); - - // Each map allocates its own fresh slot, so two maps of the same source do not clobber each other. - let doubled: EphemeralArray = source.map(|x| x * 2); - let tripled: EphemeralArray = source.map(|x| x * 3); - - assert(doubled.slot != tripled.slot, "each map should land in a distinct slot"); - assert_eq(doubled.get(0), 2); - assert_eq(doubled.get(2), 6); - assert_eq(tripled.get(0), 3); - assert_eq(tripled.get(2), 9); - }); + checks::check_map_results_are_isolated::(); } #[test] unconstrained fn filter_keeps_matching_elements_in_order() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(1); - source.push(2); - source.push(3); - source.push(2); - source.push(5); - - let kept: EphemeralArray = source.filter(|x| x != 2); - - assert_eq(kept.len(), 3); - assert_eq(kept.get(0), 1); - assert_eq(kept.get(1), 3); - assert_eq(kept.get(2), 5); - - // The source array is left untouched. - assert_eq(source.len(), 5); - assert_eq(source.get(1), 2); - }); + checks::check_filter_keeps_matching_elements_in_order::(); } #[test] unconstrained fn filter_empty_source_gives_empty_dest() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - let kept: EphemeralArray = source.filter(|_| true); - assert_eq(kept.len(), 0); - }); + checks::check_filter_empty_source_gives_empty_dest::(); } #[test] unconstrained fn filter_none_match_gives_empty_dest() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(1); - source.push(2); - source.push(3); - - let kept: EphemeralArray = source.filter(|_| false); - assert_eq(kept.len(), 0); - }); + checks::check_filter_none_match_gives_empty_dest::(); } #[test] unconstrained fn filter_works_with_multi_field_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(MockStruct::new(1, 10)); - source.push(MockStruct::new(2, 20)); - source.push(MockStruct::new(3, 30)); - - let kept: EphemeralArray = source.filter(|s: MockStruct| s.a != 2); - - assert_eq(kept.len(), 2); - assert_eq(kept.get(0), MockStruct::new(1, 10)); - assert_eq(kept.get(1), MockStruct::new(3, 30)); - }); + checks::check_filter_works_with_multi_field_type::(); } #[test] unconstrained fn filter_results_are_isolated() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: EphemeralArray = EphemeralArray::empty_at(SLOT); - source.push(1); - source.push(2); - source.push(3); - source.push(4); - - // Each filter allocates its own fresh slot, so two filters of the same source do not clobber each other. - let odds: EphemeralArray = source.filter(|x| (x != 2) & (x != 4)); - let evens: EphemeralArray = source.filter(|x| (x != 1) & (x != 3)); - - assert(odds.slot != evens.slot, "each filter should land in a distinct slot"); - assert_eq(odds.len(), 2); - assert_eq(odds.get(0), 1); - assert_eq(odds.get(1), 3); - assert_eq(evens.len(), 2); - assert_eq(evens.get(0), 2); - assert_eq(evens.get(1), 4); - }); + checks::check_filter_results_are_isolated::(); } #[test] unconstrained fn any_is_true_when_an_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(array.any(|x| x == 2)); - }); + checks::check_any_is_true_when_an_element_matches::(); } #[test] unconstrained fn any_is_false_when_no_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(!array.any(|x| x == 9)); - }); + checks::check_any_is_false_when_no_element_matches::(); } #[test] unconstrained fn any_on_empty_array_is_false() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - assert(!array.any(|_| true)); - }); + checks::check_any_on_empty_array_is_false::(); } #[test] unconstrained fn all_is_true_when_every_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(array.all(|x| x != 0)); - }); + checks::check_all_is_true_when_every_element_matches::(); } #[test] unconstrained fn all_is_false_when_one_element_fails() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(!array.all(|x| x != 2)); - }); + checks::check_all_is_false_when_one_element_fails::(); } #[test] unconstrained fn all_on_empty_array_is_true() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - assert(array.all(|_| false)); - }); + checks::check_all_on_empty_array_is_true::(); } #[test] unconstrained fn find_returns_first_matching_element() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - array.push(1); - array.push(2); - array.push(3); - array.push(4); - - // Both 2 and 4 match; find must return the first one in order. - let found = array.find(|x| (x == 2) | (x == 4)); - assert(found.is_some()); - assert_eq(found.unwrap(), 2); - }); + checks::check_find_returns_first_matching_element::(); } #[test] unconstrained fn find_returns_none_when_no_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(array.find(|x| x == 9).is_none()); - }); + checks::check_find_returns_none_when_no_element_matches::(); } #[test] unconstrained fn find_on_empty_array_is_none() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::empty_at(SLOT); - assert(array.find(|_| true).is_none()); - }); + checks::check_find_on_empty_array_is_none::(); } } diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr index 572df64f87f3..52173cfcb4d2 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr @@ -1,3 +1,5 @@ +pub(crate) mod test_helpers; + use crate::oracle::random::random; use crate::protocol::traits::{Deserialize, Serialize}; use crate::protocol::utils::{reader::Reader, writer::Writer}; diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr new file mode 100644 index 000000000000..24a53aac0832 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -0,0 +1,659 @@ +//! Shared test suite for [`OracleArray`] backends. +//! +//! Each check exercises one behavior of the shared [`OracleArray`] API and is generic over the [`ArrayOracle`] +//! backend, so the ephemeral and transient test suites instantiate the same checks against their respective oracles +//! via thin `#[test]` wrappers. Tests for backend-specific API (e.g. `empty_at` on ephemeral arrays, or `store` / +//! `load` on transient ones) live with the backend instead. + +use crate::oracle_array::{ArrayOracle, OracleArray}; +use crate::protocol::traits::Serialize; +use crate::test::helpers::test_environment::TestEnvironment; +use crate::test::mocks::MockStruct; + +pub(crate) global SLOT: Field = 1230; +pub(crate) global OTHER_SLOT: Field = 5670; + +pub(crate) unconstrained fn check_empty_array() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + assert_eq(array.len(), 0); + }); +} + +pub(crate) unconstrained fn check_empty_array_read() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + let _: Field = array.get(0); + }); +} + +pub(crate) unconstrained fn check_empty_array_pop() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + let _: Field = array.pop(); + }); +} + +pub(crate) unconstrained fn check_array_push() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(5); + + assert_eq(array.len(), 1); + assert_eq(array.get(0), 5); + }); +} + +pub(crate) unconstrained fn check_read_past_len() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(5); + + let _ = array.get(1); + }); +} + +pub(crate) unconstrained fn check_array_pop() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(5); + array.push(10); + + let popped: Field = array.pop(); + assert_eq(popped, 10); + assert_eq(array.len(), 1); + assert_eq(array.get(0), 5); + }); +} + +pub(crate) unconstrained fn check_array_set() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(5); + array.set(0, 99); + assert_eq(array.get(0), 99); + }); +} + +pub(crate) unconstrained fn check_array_remove_last() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(5); + array.remove(0); + assert_eq(array.len(), 0); + }); +} + +pub(crate) unconstrained fn check_array_remove_some() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + array.push(7); + array.push(8); + array.push(9); + + assert_eq(array.len(), 3); + + array.remove(1); + + assert_eq(array.len(), 2); + assert_eq(array.get(0), 7); + assert_eq(array.get(1), 9); + }); +} + +pub(crate) unconstrained fn check_array_remove_all() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + array.push(7); + array.push(8); + array.push(9); + + array.remove(1); + array.remove(1); + array.remove(0); + + assert_eq(array.len(), 0); + }); +} + +pub(crate) unconstrained fn check_for_each_called_with_all_elements() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + array.push(4); + array.push(5); + array.push(6); + + let called_with = &mut BoundedVec::<(u32, Field), 3>::new(); + array.for_each(|index, value| { called_with.push((index, value)); }); + + assert_eq(called_with.len(), 3); + assert(called_with.any(|(index, value)| (index == 0) & (value == 4))); + assert(called_with.any(|(index, value)| (index == 1) & (value == 5))); + assert(called_with.any(|(index, value)| (index == 2) & (value == 6))); + }); +} + +pub(crate) unconstrained fn check_for_each_remove_some() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + array.push(4); + array.push(5); + array.push(6); + + array.for_each(|index, _| { + if index == 1 { + array.remove(index); + } + }); + + assert_eq(array.len(), 2); + assert_eq(array.get(0), 4); + assert_eq(array.get(1), 6); + }); +} + +pub(crate) unconstrained fn check_for_each_remove_all() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + array.push(4); + array.push(5); + array.push(6); + + array.for_each(|index, _| { array.remove(index); }); + + assert_eq(array.len(), 0); + }); +} + +pub(crate) unconstrained fn check_different_slots_are_isolated() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array_a: OracleArray = OracleArray::at(SLOT); + let array_b: OracleArray = OracleArray::at(OTHER_SLOT); + + array_a.push(10); + array_a.push(20); + array_b.push(99); + + assert_eq(array_a.len(), 2); + assert_eq(array_a.get(0), 10); + assert_eq(array_a.get(1), 20); + + assert_eq(array_b.len(), 1); + assert_eq(array_b.get(0), 99); + }); +} + +pub(crate) unconstrained fn check_works_with_multi_field_type() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + let a = MockStruct::new(5, 6); + let b = MockStruct::new(7, 8); + array.push(a); + array.push(b); + + assert_eq(array.len(), 2); + assert_eq(array.get(0), a); + assert_eq(array.get(1), b); + + let popped: MockStruct = array.pop(); + assert_eq(popped, b); + assert_eq(array.len(), 1); + }); +} + +pub(crate) unconstrained fn check_read_as_reconstructs_serialized_value() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + + let value = MockStruct::new(5, 6); + let serialized = value.serialize(); + for i in 0..serialized.len() { + array.push(serialized[i]); + } + + let reconstructed: MockStruct = array.read_as(); + assert_eq(reconstructed, value); + }); +} + +pub(crate) unconstrained fn check_read_as_rejects_length_mismatch() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + // MockStruct deserializes from 2 fields, so a single field is too short. + array.push(1); + + let _: MockStruct = array.read_as(); + }); +} + +pub(crate) unconstrained fn check_clear_returns_self() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT).clear(); + assert_eq(array.len(), 0); + + array.push(42); + assert_eq(array.len(), 1); + assert_eq(array.get(0), 42); + }); +} + +pub(crate) unconstrained fn check_clear_wipes_previous_data() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + assert_eq(array.len(), 3); + + // Clear the same slot, previous data should be gone. + let fresh: OracleArray = OracleArray::at(SLOT).clear(); + assert_eq(fresh.len(), 0); + fresh.push(4); + assert_eq(fresh.get(0), 4); + }); +} + +pub(crate) unconstrained fn check_empty_allocates_distinct_slots() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let a: OracleArray = OracleArray::empty(); + let b: OracleArray = OracleArray::empty(); + + assert(a.slot != b.slot, "empty() should allocate a fresh slot each time"); + + a.push(1); + b.push(2); + assert_eq(a.len(), 1); + assert_eq(a.get(0), 1); + assert_eq(b.len(), 1); + assert_eq(b.get(0), 2); + }); +} + +pub(crate) unconstrained fn check_map_transforms_each_element() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + let doubled: OracleArray = source.map(|x| x * 2); + + assert_eq(doubled.len(), 3); + assert_eq(doubled.get(0), 2); + assert_eq(doubled.get(1), 4); + assert_eq(doubled.get(2), 6); + + // The source array is left untouched. + assert_eq(source.len(), 3); + assert_eq(source.get(0), 1); + }); +} + +pub(crate) unconstrained fn check_map_empty_source_gives_empty_dest() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + let mapped: OracleArray = source.map(|x| x * 2); + assert_eq(mapped.len(), 0); + }); +} + +pub(crate) unconstrained fn check_map_to_different_type() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(5); + source.push(7); + + let structs: OracleArray = source.map(|x| MockStruct::new(x, x + 1)); + + assert_eq(structs.len(), 2); + assert_eq(structs.get(0), MockStruct::new(5, 6)); + assert_eq(structs.get(1), MockStruct::new(7, 8)); + }); +} + +pub(crate) unconstrained fn check_map_results_are_isolated() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + // Each map allocates its own fresh slot, so two maps of the same source do not clobber each other. + let doubled: OracleArray = source.map(|x| x * 2); + let tripled: OracleArray = source.map(|x| x * 3); + + assert(doubled.slot != tripled.slot, "each map should land in a distinct slot"); + assert_eq(doubled.get(0), 2); + assert_eq(doubled.get(2), 6); + assert_eq(tripled.get(0), 3); + assert_eq(tripled.get(2), 9); + }); +} + +pub(crate) unconstrained fn check_filter_keeps_matching_elements_in_order() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + source.push(2); + source.push(5); + + let kept: OracleArray = source.filter(|x| x != 2); + + assert_eq(kept.len(), 3); + assert_eq(kept.get(0), 1); + assert_eq(kept.get(1), 3); + assert_eq(kept.get(2), 5); + + // The source array is left untouched. + assert_eq(source.len(), 5); + assert_eq(source.get(1), 2); + }); +} + +pub(crate) unconstrained fn check_filter_empty_source_gives_empty_dest() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + let kept: OracleArray = source.filter(|_| true); + assert_eq(kept.len(), 0); + }); +} + +pub(crate) unconstrained fn check_filter_none_match_gives_empty_dest() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + + let kept: OracleArray = source.filter(|_| false); + assert_eq(kept.len(), 0); + }); +} + +pub(crate) unconstrained fn check_filter_works_with_multi_field_type() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(MockStruct::new(1, 10)); + source.push(MockStruct::new(2, 20)); + source.push(MockStruct::new(3, 30)); + + let kept: OracleArray = source.filter(|s: MockStruct| s.a != 2); + + assert_eq(kept.len(), 2); + assert_eq(kept.get(0), MockStruct::new(1, 10)); + assert_eq(kept.get(1), MockStruct::new(3, 30)); + }); +} + +pub(crate) unconstrained fn check_filter_results_are_isolated() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let source: OracleArray = OracleArray::at(SLOT); + source.push(1); + source.push(2); + source.push(3); + source.push(4); + + // Each filter allocates its own fresh slot, so two filters of the same source do not clobber each other. + let odds: OracleArray = source.filter(|x| (x != 2) & (x != 4)); + let evens: OracleArray = source.filter(|x| (x != 1) & (x != 3)); + + assert(odds.slot != evens.slot, "each filter should land in a distinct slot"); + assert_eq(odds.len(), 2); + assert_eq(odds.get(0), 1); + assert_eq(odds.get(1), 3); + assert_eq(evens.len(), 2); + assert_eq(evens.get(0), 2); + assert_eq(evens.get(1), 4); + }); +} + +pub(crate) unconstrained fn check_any_is_true_when_an_element_matches() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.any(|x| x == 2)); + }); +} + +pub(crate) unconstrained fn check_any_is_false_when_no_element_matches() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(!array.any(|x| x == 9)); + }); +} + +pub(crate) unconstrained fn check_any_on_empty_array_is_false() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + assert(!array.any(|_| true)); + }); +} + +pub(crate) unconstrained fn check_all_is_true_when_every_element_matches() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.all(|x| x != 0)); + }); +} + +pub(crate) unconstrained fn check_all_is_false_when_one_element_fails() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(!array.all(|x| x != 2)); + }); +} + +pub(crate) unconstrained fn check_all_on_empty_array_is_true() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + assert(array.all(|_| false)); + }); +} + +pub(crate) unconstrained fn check_find_returns_first_matching_element() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + array.push(4); + + // Both 2 and 4 match; find must return the first one in order. + let found = array.find(|x| (x == 2) | (x == 4)); + assert(found.is_some()); + assert_eq(found.unwrap(), 2); + }); +} + +pub(crate) unconstrained fn check_find_returns_none_when_no_element_matches() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + array.push(2); + array.push(3); + + assert(array.find(|x| x == 9).is_none()); + }); +} + +pub(crate) unconstrained fn check_find_on_empty_array_is_none() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + assert(array.find(|_| true).is_none()); + }); +} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 204fb253624c..4079ae8652e5 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -93,586 +93,200 @@ pub unconstrained fn delete(slot: Field) { } mod test { - use crate::protocol::traits::Serialize; + use crate::oracle_array::test_helpers::SLOT; + use crate::oracle_array::test_helpers as checks; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; - use super::{delete, load, store, TransientArray}; - - global SLOT: Field = 1230; - global OTHER_SLOT: Field = 5670; + use super::{delete, load, store, TransientArray, TransientOracle}; #[test] unconstrained fn empty_array() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - assert_eq(array.len(), 0); - }); + checks::check_empty_array::(); } #[test(should_fail_with = "out of bounds")] unconstrained fn empty_array_read() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - let _: Field = array.get(0); - }); + checks::check_empty_array_read::(); } #[test(should_fail_with = "is empty")] unconstrained fn empty_array_pop() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - let _: Field = array.pop(); - }); + checks::check_empty_array_pop::(); } #[test] unconstrained fn array_push() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - array.push(5); - - assert_eq(array.len(), 1); - assert_eq(array.get(0), 5); - }); + checks::check_array_push::(); } #[test(should_fail_with = "out of bounds")] unconstrained fn read_past_len() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - array.push(5); - - let _ = array.get(1); - }); + checks::check_read_past_len::(); } #[test] - unconstrained fn set_and_remove() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - array.push(7); - array.push(8); - array.push(9); - array.set(0, 99); - assert_eq(array.get(0), 99); - array.remove(1); - assert_eq(array.len(), 2); - assert_eq(array.get(0), 99); - assert_eq(array.get(1), 9); - }); + unconstrained fn array_pop() { + checks::check_array_pop::(); } #[test] - unconstrained fn array_pop() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - array.push(5); - array.push(10); - - let popped: Field = array.pop(); - assert_eq(popped, 10); - assert_eq(array.len(), 1); - assert_eq(array.get(0), 5); - }); + unconstrained fn array_set() { + checks::check_array_set::(); } #[test] unconstrained fn array_remove_last() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - array.push(5); - array.remove(0); - assert_eq(array.len(), 0); - }); + checks::check_array_remove_last::(); } #[test] unconstrained fn array_remove_some() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - - array.push(7); - array.push(8); - array.push(9); - - assert_eq(array.len(), 3); - - array.remove(1); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), 7); - assert_eq(array.get(1), 9); - }); + checks::check_array_remove_some::(); } #[test] unconstrained fn array_remove_all() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - - array.push(7); - array.push(8); - array.push(9); - - array.remove(1); - array.remove(1); - array.remove(0); - - assert_eq(array.len(), 0); - }); + checks::check_array_remove_all::(); } #[test] unconstrained fn for_each_called_with_all_elements() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - let called_with = &mut BoundedVec::<(u32, Field), 3>::new(); - array.for_each(|index, value| { called_with.push((index, value)); }); - - assert_eq(called_with.len(), 3); - assert(called_with.any(|(index, value)| (index == 0) & (value == 4))); - assert(called_with.any(|(index, value)| (index == 1) & (value == 5))); - assert(called_with.any(|(index, value)| (index == 2) & (value == 6))); - }); + checks::check_for_each_called_with_all_elements::(); } #[test] unconstrained fn for_each_remove_some() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { - if index == 1 { - array.remove(index); - } - }); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), 4); - assert_eq(array.get(1), 6); - }); + checks::check_for_each_remove_some::(); } #[test] unconstrained fn for_each_remove_all() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array = TransientArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { array.remove(index); }); - - assert_eq(array.len(), 0); - }); + checks::check_for_each_remove_all::(); } #[test] unconstrained fn different_slots_are_isolated() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array_a = TransientArray::at(SLOT); - let array_b = TransientArray::at(OTHER_SLOT); - - array_a.push(10); - array_a.push(20); - array_b.push(99); - - assert_eq(array_a.len(), 2); - assert_eq(array_a.get(0), 10); - assert_eq(array_a.get(1), 20); - - assert_eq(array_b.len(), 1); - assert_eq(array_b.get(0), 99); - }); + checks::check_different_slots_are_isolated::(); } #[test] unconstrained fn works_with_multi_field_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - - let a = MockStruct::new(5, 6); - let b = MockStruct::new(7, 8); - array.push(a); - array.push(b); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), a); - assert_eq(array.get(1), b); - - let popped: MockStruct = array.pop(); - assert_eq(popped, b); - assert_eq(array.len(), 1); - }); + checks::check_works_with_multi_field_type::(); } #[test] unconstrained fn read_as_reconstructs_serialized_value() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - - let value = MockStruct::new(5, 6); - let serialized = value.serialize(); - for i in 0..serialized.len() { - array.push(serialized[i]); - } - - let reconstructed: MockStruct = array.read_as(); - assert_eq(reconstructed, value); - }); + checks::check_read_as_reconstructs_serialized_value::(); } #[test(should_fail_with = "length mismatch")] unconstrained fn read_as_rejects_length_mismatch() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - // MockStruct deserializes from 2 fields, so a single field is too short. - array.push(1); - - let _: MockStruct = array.read_as(); - }); + checks::check_read_as_rejects_length_mismatch::(); } #[test] unconstrained fn clear_returns_self() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT).clear(); - assert_eq(array.len(), 0); - - array.push(42); - assert_eq(array.len(), 1); - assert_eq(array.get(0), 42); - }); + checks::check_clear_returns_self::(); } #[test] unconstrained fn clear_wipes_previous_data() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - assert_eq(array.len(), 3); - - let fresh: TransientArray = TransientArray::at(SLOT).clear(); - assert_eq(fresh.len(), 0); - fresh.push(4); - assert_eq(fresh.get(0), 4); - }); + checks::check_clear_wipes_previous_data::(); } #[test] unconstrained fn empty_allocates_distinct_slots() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let a: TransientArray = TransientArray::empty(); - let b: TransientArray = TransientArray::empty(); - - assert(a.slot != b.slot, "empty() should allocate a fresh slot each time"); - - a.push(1); - b.push(2); - assert_eq(a.len(), 1); - assert_eq(a.get(0), 1); - assert_eq(b.len(), 1); - assert_eq(b.get(0), 2); - }); + checks::check_empty_allocates_distinct_slots::(); } #[test] unconstrained fn map_transforms_each_element() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(1); - source.push(2); - source.push(3); - - let doubled: TransientArray = source.map(|x| x * 2); - - assert_eq(doubled.len(), 3); - assert_eq(doubled.get(0), 2); - assert_eq(doubled.get(1), 4); - assert_eq(doubled.get(2), 6); - - // The source array is left untouched. - assert_eq(source.len(), 3); - assert_eq(source.get(0), 1); - }); + checks::check_map_transforms_each_element::(); } #[test] unconstrained fn map_empty_source_gives_empty_dest() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - let mapped: TransientArray = source.map(|x| x * 2); - assert_eq(mapped.len(), 0); - }); + checks::check_map_empty_source_gives_empty_dest::(); } #[test] unconstrained fn map_to_different_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(5); - source.push(7); - - let structs: TransientArray = source.map(|x| MockStruct::new(x, x + 1)); - - assert_eq(structs.len(), 2); - assert_eq(structs.get(0), MockStruct::new(5, 6)); - assert_eq(structs.get(1), MockStruct::new(7, 8)); - }); + checks::check_map_to_different_type::(); } #[test] unconstrained fn map_results_are_isolated() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(1); - source.push(2); - source.push(3); - - // Each map allocates its own fresh slot, so two maps of the same source do not clobber each other. - let doubled: TransientArray = source.map(|x| x * 2); - let tripled: TransientArray = source.map(|x| x * 3); - - assert(doubled.slot != tripled.slot, "each map should land in a distinct slot"); - assert_eq(doubled.get(0), 2); - assert_eq(doubled.get(2), 6); - assert_eq(tripled.get(0), 3); - assert_eq(tripled.get(2), 9); - }); + checks::check_map_results_are_isolated::(); } #[test] unconstrained fn filter_keeps_matching_elements_in_order() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(1); - source.push(2); - source.push(3); - source.push(2); - source.push(5); - - let kept: TransientArray = source.filter(|x| x != 2); - - assert_eq(kept.len(), 3); - assert_eq(kept.get(0), 1); - assert_eq(kept.get(1), 3); - assert_eq(kept.get(2), 5); - - // The source array is left untouched. - assert_eq(source.len(), 5); - assert_eq(source.get(1), 2); - }); + checks::check_filter_keeps_matching_elements_in_order::(); } #[test] unconstrained fn filter_empty_source_gives_empty_dest() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - let kept: TransientArray = source.filter(|_| true); - assert_eq(kept.len(), 0); - }); + checks::check_filter_empty_source_gives_empty_dest::(); } #[test] unconstrained fn filter_none_match_gives_empty_dest() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(1); - source.push(2); - source.push(3); - - let kept: TransientArray = source.filter(|_| false); - assert_eq(kept.len(), 0); - }); + checks::check_filter_none_match_gives_empty_dest::(); } #[test] unconstrained fn filter_works_with_multi_field_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(MockStruct::new(1, 10)); - source.push(MockStruct::new(2, 20)); - source.push(MockStruct::new(3, 30)); - - let kept: TransientArray = source.filter(|s: MockStruct| s.a != 2); - - assert_eq(kept.len(), 2); - assert_eq(kept.get(0), MockStruct::new(1, 10)); - assert_eq(kept.get(1), MockStruct::new(3, 30)); - }); + checks::check_filter_works_with_multi_field_type::(); } #[test] unconstrained fn filter_results_are_isolated() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let source: TransientArray = TransientArray::at(SLOT); - source.push(1); - source.push(2); - source.push(3); - source.push(4); - - // Each filter allocates its own fresh slot, so two filters of the same source do not clobber each other. - let odds: TransientArray = source.filter(|x| (x != 2) & (x != 4)); - let evens: TransientArray = source.filter(|x| (x != 1) & (x != 3)); - - assert(odds.slot != evens.slot, "each filter should land in a distinct slot"); - assert_eq(odds.len(), 2); - assert_eq(odds.get(0), 1); - assert_eq(odds.get(1), 3); - assert_eq(evens.len(), 2); - assert_eq(evens.get(0), 2); - assert_eq(evens.get(1), 4); - }); + checks::check_filter_results_are_isolated::(); } #[test] unconstrained fn any_is_true_when_an_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(array.any(|x| x == 2)); - }); + checks::check_any_is_true_when_an_element_matches::(); } #[test] unconstrained fn any_is_false_when_no_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(!array.any(|x| x == 9)); - }); + checks::check_any_is_false_when_no_element_matches::(); } #[test] unconstrained fn any_on_empty_array_is_false() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - assert(!array.any(|_| true)); - }); + checks::check_any_on_empty_array_is_false::(); } #[test] unconstrained fn all_is_true_when_every_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(array.all(|x| x != 0)); - }); + checks::check_all_is_true_when_every_element_matches::(); } #[test] unconstrained fn all_is_false_when_one_element_fails() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(!array.all(|x| x != 2)); - }); + checks::check_all_is_false_when_one_element_fails::(); } #[test] unconstrained fn all_on_empty_array_is_true() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - assert(array.all(|_| false)); - }); + checks::check_all_on_empty_array_is_true::(); } #[test] unconstrained fn find_returns_first_matching_element() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - array.push(4); - - // Both 2 and 4 match; find must return the first one in order. - let found = array.find(|x| (x == 2) | (x == 4)); - assert(found.is_some()); - assert_eq(found.unwrap(), 2); - }); + checks::check_find_returns_first_matching_element::(); } #[test] unconstrained fn find_returns_none_when_no_element_matches() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - array.push(1); - array.push(2); - array.push(3); - - assert(array.find(|x| x == 9).is_none()); - }); + checks::check_find_returns_none_when_no_element_matches::(); } #[test] unconstrained fn find_on_empty_array_is_none() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: TransientArray = TransientArray::at(SLOT); - assert(array.find(|_| true).is_none()); - }); + checks::check_find_on_empty_array_is_none::(); } #[test] From 0b346bf9156d72eee4f697264ed780438c316307 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 10:24:12 +0000 Subject: [PATCH 004/197] feat: empty_at for transient arrays Moves empty_at from the ephemeral-only impl into the shared OracleArray impl, making it available on TransientArray as well. Its doc notes that for cross-frame backends it wipes data other frames may have written. The empty_at test moves to the shared suite and runs on both backends. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 25 ++----------------- .../aztec-nr/aztec/src/oracle_array/mod.nr | 19 ++++++++++---- .../aztec/src/oracle_array/test_helpers.nr | 15 +++++++++++ .../aztec-nr/aztec/src/transient/mod.nr | 5 ++++ 4 files changed, 36 insertions(+), 28 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 6ae5ca8a0ed6..ad3dcb066d9c 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -57,22 +57,9 @@ impl ArrayOracle for EphemeralOracle { } } -impl OracleArray { - /// Returns an empty ephemeral array at the given slot, clearing any pre-existing data. - /// - /// This is deliberately ephemeral-only: a [`TransientArray`](crate::transient::TransientArray) slot may hold data - /// written by another frame of the same contract, so wiping a known slot there stays explicit via - /// `TransientArray::at(slot).clear()`. - pub unconstrained fn empty_at(slot: Field) -> Self { - Self::at(slot).clear() - } -} - mod test { - use crate::oracle_array::test_helpers::SLOT; use crate::oracle_array::test_helpers as checks; - use crate::test::helpers::test_environment::TestEnvironment; - use super::{EphemeralArray, EphemeralOracle}; + use super::EphemeralOracle; #[test] unconstrained fn empty_array() { @@ -161,15 +148,7 @@ mod test { #[test] unconstrained fn empty_at_wipes_previous_data() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: EphemeralArray = EphemeralArray::at(SLOT); - array.push(1); - assert_eq(array.len(), 1); - - let fresh: EphemeralArray = EphemeralArray::empty_at(SLOT); - assert_eq(fresh.len(), 0); - }); + checks::check_empty_at_wipes_previous_data::(); } #[test] diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr index 52173cfcb4d2..bd1cfe75adc7 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr @@ -56,13 +56,21 @@ where Self { slot } } + /// Returns an empty array at the given slot, clearing any pre-existing data. + /// + /// For backends whose arrays are visible beyond a single call frame (e.g. transient arrays), this wipes data + /// other frames of the same contract may have written at the slot. + pub unconstrained fn empty_at(slot: Field) -> Self { + Self::at(slot).clear() + } + /// Returns an empty array at a fresh, randomly allocated slot. /// /// Use this when the caller does not need a specific slot: the random slot is isolated from every other array of - /// the same backend with overwhelming probability. Prefer [`OracleArray::at`] when the slot must be a known value - /// (e.g. one shared with an oracle or another call frame). + /// the same backend with overwhelming probability. Prefer [`OracleArray::empty_at`] when the slot must be a known + /// value (e.g. one shared with an oracle or another call frame). pub unconstrained fn empty() -> Self { - Self::at(random()).clear() + Self::empty_at(random()) } /// Returns the number of elements stored in the array. @@ -111,8 +119,9 @@ where Oracle::remove_oracle(self.slot, index); } - /// Removes all elements from the array and returns self for chaining (e.g. `OracleArray::at(slot).clear()` to - /// get a guaranteed-empty array at a given slot). + /// Removes all elements from the array and returns self for chaining. + /// + /// Prefer [`OracleArray::empty_at`] when the intent is to start with a fresh array. pub unconstrained fn clear(self) -> Self { Oracle::clear_oracle(self.slot); self diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr index 24a53aac0832..e76130764008 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -657,3 +657,18 @@ where assert(array.find(|_| true).is_none()); }); } + +pub(crate) unconstrained fn check_empty_at_wipes_previous_data() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let array: OracleArray = OracleArray::at(SLOT); + array.push(1); + assert_eq(array.len(), 1); + + let fresh: OracleArray = OracleArray::empty_at(SLOT); + assert_eq(fresh.len(), 0); + }); +} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 4079ae8652e5..c4be81762e8a 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -289,6 +289,11 @@ mod test { checks::check_find_on_empty_array_is_none::(); } + #[test] + unconstrained fn empty_at_wipes_previous_data() { + checks::check_empty_at_wipes_previous_data::(); + } + #[test] unconstrained fn store_and_load() { let env = TestEnvironment::new(); From 0f9f79fe3eac430733a759b7a075a6197ea60a81 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 10:35:23 +0000 Subject: [PATCH 005/197] feat: store/load/delete for ephemeral arrays, symmetric array APIs Generic store/load/delete cores live in oracle_array; ephemeral and transient expose them via thin module-level wrappers, so both backends now have identical public surfaces (alias + oracle marker + store/load/delete). The store/load test bodies move to the shared suite; each backend keeps a store_and_load smoke test through its own wrappers. Also fixes the stale test_helpers doc that still described empty_at and store/load as backend-specific. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 65 +++++++++++++- .../aztec-nr/aztec/src/oracle_array/mod.nr | 34 ++++++++ .../aztec/src/oracle_array/test_helpers.nr | 84 +++++++++++++++++-- .../aztec-nr/aztec/src/transient/mod.nr | 58 +++---------- 4 files changed, 187 insertions(+), 54 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index ad3dcb066d9c..006ad55d2240 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,5 +1,6 @@ use crate::oracle::ephemeral; use crate::oracle_array::{ArrayOracle, OracleArray}; +use crate::protocol::traits::{Deserialize, Serialize}; /// A dynamically sized array that exists only during a single contract call frame. /// @@ -57,9 +58,32 @@ impl ArrayOracle for EphemeralOracle { } } +/// Stores a single value at `slot`, overwriting any value previously stored there. +pub unconstrained fn store(slot: Field, value: T) +where + T: Serialize, +{ + crate::oracle_array::store::(slot, value) +} + +/// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. +pub unconstrained fn load(slot: Field) -> Option +where + T: Deserialize, +{ + crate::oracle_array::load::(slot) +} + +/// Deletes the value stored at `slot`. Does nothing if the slot is already empty. +pub unconstrained fn delete(slot: Field) { + crate::oracle_array::delete::(slot) +} + mod test { + use crate::oracle_array::test_helpers::SLOT; use crate::oracle_array::test_helpers as checks; - use super::EphemeralOracle; + use crate::test::helpers::test_environment::TestEnvironment; + use super::{EphemeralOracle, load, store}; #[test] unconstrained fn empty_array() { @@ -255,4 +279,43 @@ mod test { unconstrained fn find_on_empty_array_is_none() { checks::check_find_on_empty_array_is_none::(); } + + #[test] + unconstrained fn store_and_load() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + store(SLOT, 42); + assert_eq(load(SLOT), Option::some(42)); + }); + } + + #[test] + unconstrained fn load_empty_returns_none() { + checks::check_load_empty_returns_none::(); + } + + #[test] + unconstrained fn store_overwrites() { + checks::check_store_overwrites::(); + } + + #[test] + unconstrained fn delete_removes_value() { + checks::check_delete_removes_value::(); + } + + #[test] + unconstrained fn delete_empty_is_noop() { + checks::check_delete_empty_is_noop::(); + } + + #[test] + unconstrained fn store_and_load_multi_field_type() { + checks::check_store_and_load_multi_field_type::(); + } + + #[test] + unconstrained fn stored_value_is_visible_as_a_length_one_array() { + checks::check_stored_value_is_visible_as_a_length_one_array::(); + } } diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr index bd1cfe75adc7..39851bbcbe83 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr @@ -274,3 +274,37 @@ impl Deserialize for OracleArray { Self { slot: reader.read() } } } + +/// Stores a single value at `slot`, overwriting any value previously stored there. +/// +/// The value is stored as a length-one array at the slot: read it back with [`load`] and remove it with [`delete`]. +pub(crate) unconstrained fn store(slot: Field, value: T) +where + T: Serialize, + Oracle: ArrayOracle, +{ + let array: OracleArray = OracleArray::at(slot); + array.clear().push(value); +} + +/// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. +pub(crate) unconstrained fn load(slot: Field) -> Option +where + T: Deserialize, + Oracle: ArrayOracle, +{ + let array: OracleArray = OracleArray::at(slot); + if array.len() == 0 { + Option::none() + } else { + Option::some(array.get(0)) + } +} + +/// Deletes the value stored at `slot`. Does nothing if the slot is already empty. +pub(crate) unconstrained fn delete(slot: Field) +where + Oracle: ArrayOracle, +{ + Oracle::clear_oracle(slot) +} diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr index e76130764008..be1c9536c7c9 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -1,11 +1,12 @@ //! Shared test suite for [`OracleArray`] backends. //! -//! Each check exercises one behavior of the shared [`OracleArray`] API and is generic over the [`ArrayOracle`] -//! backend, so the ephemeral and transient test suites instantiate the same checks against their respective oracles -//! via thin `#[test]` wrappers. Tests for backend-specific API (e.g. `empty_at` on ephemeral arrays, or `store` / -//! `load` on transient ones) live with the backend instead. +//! Each check exercises one behavior of the shared [`OracleArray`] API (or of the generic `store` / `load` / `delete` +//! helpers) and is generic over the [`ArrayOracle`] backend, so the ephemeral and transient test suites instantiate +//! the same checks against their respective oracles via thin `#[test]` wrappers. Each backend module additionally +//! keeps a smoke test that routes through its own public helpers (e.g. `transient::store` / `transient::load`) to +//! cover the delegation wiring. -use crate::oracle_array::{ArrayOracle, OracleArray}; +use crate::oracle_array::{ArrayOracle, delete, load, OracleArray, store}; use crate::protocol::traits::Serialize; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; @@ -672,3 +673,76 @@ where assert_eq(fresh.len(), 0); }); } + +pub(crate) unconstrained fn check_load_empty_returns_none() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: Option = load::(SLOT); + assert_eq(value, Option::none()); + }); +} + +pub(crate) unconstrained fn check_store_overwrites() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + store::(SLOT, 1); + store::(SLOT, 2); + assert_eq(load::(SLOT), Option::some(2)); + }); +} + +pub(crate) unconstrained fn check_delete_removes_value() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + store::(SLOT, 42); + delete::(SLOT); + let value: Option = load::(SLOT); + assert_eq(value, Option::none()); + }); +} + +pub(crate) unconstrained fn check_delete_empty_is_noop() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + delete::(SLOT); + let value: Option = load::(SLOT); + assert_eq(value, Option::none()); + }); +} + +pub(crate) unconstrained fn check_store_and_load_multi_field_type() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value = MockStruct::new(5, 6); + store::(SLOT, value); + assert_eq(load::(SLOT), Option::some(value)); + }); +} + +pub(crate) unconstrained fn check_stored_value_is_visible_as_a_length_one_array() +where + Oracle: ArrayOracle, +{ + let env = TestEnvironment::new(); + env.utility_context(|_| { + store::(SLOT, 42); + let array: OracleArray = OracleArray::at(SLOT); + assert_eq(array.len(), 1); + assert_eq(array.get(0), 42); + }); +} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index c4be81762e8a..ad30325b2518 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -70,8 +70,7 @@ pub unconstrained fn store(slot: Field, value: T) where T: Serialize, { - let array: TransientArray = TransientArray::at(slot); - array.clear().push(value); + crate::oracle_array::store::(slot, value) } /// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. @@ -79,25 +78,19 @@ pub unconstrained fn load(slot: Field) -> Option where T: Deserialize, { - let array: TransientArray = TransientArray::at(slot); - if array.len() == 0 { - Option::none() - } else { - Option::some(array.get(0)) - } + crate::oracle_array::load::(slot) } /// Deletes the value stored at `slot`. Does nothing if the slot is already empty. pub unconstrained fn delete(slot: Field) { - transient::clear_oracle(slot); + crate::oracle_array::delete::(slot) } mod test { use crate::oracle_array::test_helpers::SLOT; use crate::oracle_array::test_helpers as checks; use crate::test::helpers::test_environment::TestEnvironment; - use crate::test::mocks::MockStruct; - use super::{delete, load, store, TransientArray, TransientOracle}; + use super::{load, store, TransientOracle}; #[test] unconstrained fn empty_array() { @@ -305,62 +298,31 @@ mod test { #[test] unconstrained fn load_empty_returns_none() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let value: Option = load(SLOT); - assert_eq(value, Option::none()); - }); + checks::check_load_empty_returns_none::(); } #[test] unconstrained fn store_overwrites() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - store(SLOT, 1); - store(SLOT, 2); - assert_eq(load(SLOT), Option::some(2)); - }); + checks::check_store_overwrites::(); } #[test] unconstrained fn delete_removes_value() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - store(SLOT, 42); - delete(SLOT); - let value: Option = load(SLOT); - assert_eq(value, Option::none()); - }); + checks::check_delete_removes_value::(); } #[test] unconstrained fn delete_empty_is_noop() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - delete(SLOT); - let value: Option = load(SLOT); - assert_eq(value, Option::none()); - }); + checks::check_delete_empty_is_noop::(); } #[test] unconstrained fn store_and_load_multi_field_type() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - let value = MockStruct::new(5, 6); - store(SLOT, value); - assert_eq(load(SLOT), Option::some(value)); - }); + checks::check_store_and_load_multi_field_type::(); } #[test] unconstrained fn stored_value_is_visible_as_a_length_one_array() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - store(SLOT, 42); - let array: TransientArray = TransientArray::at(SLOT); - assert_eq(array.len(), 1); - assert_eq(array.get(0), 42); - }); + checks::check_stored_value_is_visible_as_a_length_one_array::(); } } From c4857f976badc5a4079268687b932785a3fe6d6d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 11:01:07 +0000 Subject: [PATCH 006/197] refactor: generate per-backend OracleArray tests with a comptime macro Backend test modules no longer list one wrapper per shared check. Annotating a test module with ephemeral_oracle_array_tests / transient_oracle_array_tests reflects over test_helpers and emits one #[test] per unconstrained check with that backend's oracle swapped in, so new checks automatically run against every backend and the suites cannot drift. should_fail_with messages come from a single manifest in test_helpers; an unregistered failing check fails loudly rather than silently. Generated test names match the previous hand-written ones. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 229 +----------------- .../aztec/src/oracle_array/test_helpers.nr | 154 ++++++++---- .../aztec-nr/aztec/src/transient/mod.nr | 229 +----------------- 3 files changed, 108 insertions(+), 504 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 006ad55d2240..e444f29198ea 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -79,206 +79,11 @@ pub unconstrained fn delete(slot: Field) { crate::oracle_array::delete::(slot) } +#[crate::oracle_array::test_helpers::ephemeral_oracle_array_tests] mod test { use crate::oracle_array::test_helpers::SLOT; - use crate::oracle_array::test_helpers as checks; use crate::test::helpers::test_environment::TestEnvironment; - use super::{EphemeralOracle, load, store}; - - #[test] - unconstrained fn empty_array() { - checks::check_empty_array::(); - } - - #[test(should_fail_with = "out of bounds")] - unconstrained fn empty_array_read() { - checks::check_empty_array_read::(); - } - - #[test(should_fail_with = "is empty")] - unconstrained fn empty_array_pop() { - checks::check_empty_array_pop::(); - } - - #[test] - unconstrained fn array_push() { - checks::check_array_push::(); - } - - #[test(should_fail_with = "out of bounds")] - unconstrained fn read_past_len() { - checks::check_read_past_len::(); - } - - #[test] - unconstrained fn array_pop() { - checks::check_array_pop::(); - } - - #[test] - unconstrained fn array_set() { - checks::check_array_set::(); - } - - #[test] - unconstrained fn array_remove_last() { - checks::check_array_remove_last::(); - } - - #[test] - unconstrained fn array_remove_some() { - checks::check_array_remove_some::(); - } - - #[test] - unconstrained fn array_remove_all() { - checks::check_array_remove_all::(); - } - - #[test] - unconstrained fn for_each_called_with_all_elements() { - checks::check_for_each_called_with_all_elements::(); - } - - #[test] - unconstrained fn for_each_remove_some() { - checks::check_for_each_remove_some::(); - } - - #[test] - unconstrained fn for_each_remove_all() { - checks::check_for_each_remove_all::(); - } - - #[test] - unconstrained fn different_slots_are_isolated() { - checks::check_different_slots_are_isolated::(); - } - - #[test] - unconstrained fn works_with_multi_field_type() { - checks::check_works_with_multi_field_type::(); - } - - #[test] - unconstrained fn read_as_reconstructs_serialized_value() { - checks::check_read_as_reconstructs_serialized_value::(); - } - - #[test(should_fail_with = "length mismatch")] - unconstrained fn read_as_rejects_length_mismatch() { - checks::check_read_as_rejects_length_mismatch::(); - } - - #[test] - unconstrained fn empty_at_wipes_previous_data() { - checks::check_empty_at_wipes_previous_data::(); - } - - #[test] - unconstrained fn clear_returns_self() { - checks::check_clear_returns_self::(); - } - - #[test] - unconstrained fn clear_wipes_previous_data() { - checks::check_clear_wipes_previous_data::(); - } - - #[test] - unconstrained fn empty_allocates_distinct_slots() { - checks::check_empty_allocates_distinct_slots::(); - } - - #[test] - unconstrained fn map_transforms_each_element() { - checks::check_map_transforms_each_element::(); - } - - #[test] - unconstrained fn map_empty_source_gives_empty_dest() { - checks::check_map_empty_source_gives_empty_dest::(); - } - - #[test] - unconstrained fn map_to_different_type() { - checks::check_map_to_different_type::(); - } - - #[test] - unconstrained fn map_results_are_isolated() { - checks::check_map_results_are_isolated::(); - } - - #[test] - unconstrained fn filter_keeps_matching_elements_in_order() { - checks::check_filter_keeps_matching_elements_in_order::(); - } - - #[test] - unconstrained fn filter_empty_source_gives_empty_dest() { - checks::check_filter_empty_source_gives_empty_dest::(); - } - - #[test] - unconstrained fn filter_none_match_gives_empty_dest() { - checks::check_filter_none_match_gives_empty_dest::(); - } - - #[test] - unconstrained fn filter_works_with_multi_field_type() { - checks::check_filter_works_with_multi_field_type::(); - } - - #[test] - unconstrained fn filter_results_are_isolated() { - checks::check_filter_results_are_isolated::(); - } - - #[test] - unconstrained fn any_is_true_when_an_element_matches() { - checks::check_any_is_true_when_an_element_matches::(); - } - - #[test] - unconstrained fn any_is_false_when_no_element_matches() { - checks::check_any_is_false_when_no_element_matches::(); - } - - #[test] - unconstrained fn any_on_empty_array_is_false() { - checks::check_any_on_empty_array_is_false::(); - } - - #[test] - unconstrained fn all_is_true_when_every_element_matches() { - checks::check_all_is_true_when_every_element_matches::(); - } - - #[test] - unconstrained fn all_is_false_when_one_element_fails() { - checks::check_all_is_false_when_one_element_fails::(); - } - - #[test] - unconstrained fn all_on_empty_array_is_true() { - checks::check_all_on_empty_array_is_true::(); - } - - #[test] - unconstrained fn find_returns_first_matching_element() { - checks::check_find_returns_first_matching_element::(); - } - - #[test] - unconstrained fn find_returns_none_when_no_element_matches() { - checks::check_find_returns_none_when_no_element_matches::(); - } - - #[test] - unconstrained fn find_on_empty_array_is_none() { - checks::check_find_on_empty_array_is_none::(); - } + use super::{load, store}; #[test] unconstrained fn store_and_load() { @@ -288,34 +93,4 @@ mod test { assert_eq(load(SLOT), Option::some(42)); }); } - - #[test] - unconstrained fn load_empty_returns_none() { - checks::check_load_empty_returns_none::(); - } - - #[test] - unconstrained fn store_overwrites() { - checks::check_store_overwrites::(); - } - - #[test] - unconstrained fn delete_removes_value() { - checks::check_delete_removes_value::(); - } - - #[test] - unconstrained fn delete_empty_is_noop() { - checks::check_delete_empty_is_noop::(); - } - - #[test] - unconstrained fn store_and_load_multi_field_type() { - checks::check_store_and_load_multi_field_type::(); - } - - #[test] - unconstrained fn stored_value_is_visible_as_a_length_one_array() { - checks::check_stored_value_is_visible_as_a_length_one_array::(); - } } diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr index be1c9536c7c9..6e36a38dc0de 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -1,10 +1,13 @@ //! Shared test suite for [`OracleArray`] backends. //! -//! Each check exercises one behavior of the shared [`OracleArray`] API (or of the generic `store` / `load` / `delete` -//! helpers) and is generic over the [`ArrayOracle`] backend, so the ephemeral and transient test suites instantiate -//! the same checks against their respective oracles via thin `#[test]` wrappers. Each backend module additionally -//! keeps a smoke test that routes through its own public helpers (e.g. `transient::store` / `transient::load`) to -//! cover the delegation wiring. +//! Every `unconstrained` function in this module checks one behavior of the shared [`OracleArray`] API (or of the +//! generic `store` / `load` / `delete` helpers) and is generic over the [`ArrayOracle`] backend. Backend test modules +//! do not reference the checks one by one: annotating a module with `ephemeral_oracle_array_tests` / +//! `transient_oracle_array_tests` generates one `#[test]` per check with that backend's oracle swapped in, so a check +//! added here automatically runs against every backend. Checks that are expected to fail must be registered in +//! `should_fail_message`, which supplies the message for the generated `#[test(should_fail_with = ...)]` attribute. +//! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. +//! `transient::store` / `transient::load`) to cover the delegation wiring. use crate::oracle_array::{ArrayOracle, delete, load, OracleArray, store}; use crate::protocol::traits::Serialize; @@ -14,7 +17,7 @@ use crate::test::mocks::MockStruct; pub(crate) global SLOT: Field = 1230; pub(crate) global OTHER_SLOT: Field = 5670; -pub(crate) unconstrained fn check_empty_array() +pub(crate) unconstrained fn empty_array() where Oracle: ArrayOracle, { @@ -25,7 +28,7 @@ where }); } -pub(crate) unconstrained fn check_empty_array_read() +pub(crate) unconstrained fn empty_array_read() where Oracle: ArrayOracle, { @@ -36,7 +39,7 @@ where }); } -pub(crate) unconstrained fn check_empty_array_pop() +pub(crate) unconstrained fn empty_array_pop() where Oracle: ArrayOracle, { @@ -47,7 +50,7 @@ where }); } -pub(crate) unconstrained fn check_array_push() +pub(crate) unconstrained fn array_push() where Oracle: ArrayOracle, { @@ -61,7 +64,7 @@ where }); } -pub(crate) unconstrained fn check_read_past_len() +pub(crate) unconstrained fn read_past_len() where Oracle: ArrayOracle, { @@ -74,7 +77,7 @@ where }); } -pub(crate) unconstrained fn check_array_pop() +pub(crate) unconstrained fn array_pop() where Oracle: ArrayOracle, { @@ -91,7 +94,7 @@ where }); } -pub(crate) unconstrained fn check_array_set() +pub(crate) unconstrained fn array_set() where Oracle: ArrayOracle, { @@ -104,7 +107,7 @@ where }); } -pub(crate) unconstrained fn check_array_remove_last() +pub(crate) unconstrained fn array_remove_last() where Oracle: ArrayOracle, { @@ -117,7 +120,7 @@ where }); } -pub(crate) unconstrained fn check_array_remove_some() +pub(crate) unconstrained fn array_remove_some() where Oracle: ArrayOracle, { @@ -139,7 +142,7 @@ where }); } -pub(crate) unconstrained fn check_array_remove_all() +pub(crate) unconstrained fn array_remove_all() where Oracle: ArrayOracle, { @@ -159,7 +162,7 @@ where }); } -pub(crate) unconstrained fn check_for_each_called_with_all_elements() +pub(crate) unconstrained fn for_each_called_with_all_elements() where Oracle: ArrayOracle, { @@ -181,7 +184,7 @@ where }); } -pub(crate) unconstrained fn check_for_each_remove_some() +pub(crate) unconstrained fn for_each_remove_some() where Oracle: ArrayOracle, { @@ -205,7 +208,7 @@ where }); } -pub(crate) unconstrained fn check_for_each_remove_all() +pub(crate) unconstrained fn for_each_remove_all() where Oracle: ArrayOracle, { @@ -223,7 +226,7 @@ where }); } -pub(crate) unconstrained fn check_different_slots_are_isolated() +pub(crate) unconstrained fn different_slots_are_isolated() where Oracle: ArrayOracle, { @@ -245,7 +248,7 @@ where }); } -pub(crate) unconstrained fn check_works_with_multi_field_type() +pub(crate) unconstrained fn works_with_multi_field_type() where Oracle: ArrayOracle, { @@ -268,7 +271,7 @@ where }); } -pub(crate) unconstrained fn check_read_as_reconstructs_serialized_value() +pub(crate) unconstrained fn read_as_reconstructs_serialized_value() where Oracle: ArrayOracle, { @@ -287,7 +290,7 @@ where }); } -pub(crate) unconstrained fn check_read_as_rejects_length_mismatch() +pub(crate) unconstrained fn read_as_rejects_length_mismatch() where Oracle: ArrayOracle, { @@ -301,7 +304,7 @@ where }); } -pub(crate) unconstrained fn check_clear_returns_self() +pub(crate) unconstrained fn clear_returns_self() where Oracle: ArrayOracle, { @@ -316,7 +319,7 @@ where }); } -pub(crate) unconstrained fn check_clear_wipes_previous_data() +pub(crate) unconstrained fn clear_wipes_previous_data() where Oracle: ArrayOracle, { @@ -336,7 +339,7 @@ where }); } -pub(crate) unconstrained fn check_empty_allocates_distinct_slots() +pub(crate) unconstrained fn empty_allocates_distinct_slots() where Oracle: ArrayOracle, { @@ -356,7 +359,7 @@ where }); } -pub(crate) unconstrained fn check_map_transforms_each_element() +pub(crate) unconstrained fn map_transforms_each_element() where Oracle: ArrayOracle, { @@ -380,7 +383,7 @@ where }); } -pub(crate) unconstrained fn check_map_empty_source_gives_empty_dest() +pub(crate) unconstrained fn map_empty_source_gives_empty_dest() where Oracle: ArrayOracle, { @@ -392,7 +395,7 @@ where }); } -pub(crate) unconstrained fn check_map_to_different_type() +pub(crate) unconstrained fn map_to_different_type() where Oracle: ArrayOracle, { @@ -410,7 +413,7 @@ where }); } -pub(crate) unconstrained fn check_map_results_are_isolated() +pub(crate) unconstrained fn map_results_are_isolated() where Oracle: ArrayOracle, { @@ -433,7 +436,7 @@ where }); } -pub(crate) unconstrained fn check_filter_keeps_matching_elements_in_order() +pub(crate) unconstrained fn filter_keeps_matching_elements_in_order() where Oracle: ArrayOracle, { @@ -459,7 +462,7 @@ where }); } -pub(crate) unconstrained fn check_filter_empty_source_gives_empty_dest() +pub(crate) unconstrained fn filter_empty_source_gives_empty_dest() where Oracle: ArrayOracle, { @@ -471,7 +474,7 @@ where }); } -pub(crate) unconstrained fn check_filter_none_match_gives_empty_dest() +pub(crate) unconstrained fn filter_none_match_gives_empty_dest() where Oracle: ArrayOracle, { @@ -487,7 +490,7 @@ where }); } -pub(crate) unconstrained fn check_filter_works_with_multi_field_type() +pub(crate) unconstrained fn filter_works_with_multi_field_type() where Oracle: ArrayOracle, { @@ -506,7 +509,7 @@ where }); } -pub(crate) unconstrained fn check_filter_results_are_isolated() +pub(crate) unconstrained fn filter_results_are_isolated() where Oracle: ArrayOracle, { @@ -532,7 +535,7 @@ where }); } -pub(crate) unconstrained fn check_any_is_true_when_an_element_matches() +pub(crate) unconstrained fn any_is_true_when_an_element_matches() where Oracle: ArrayOracle, { @@ -547,7 +550,7 @@ where }); } -pub(crate) unconstrained fn check_any_is_false_when_no_element_matches() +pub(crate) unconstrained fn any_is_false_when_no_element_matches() where Oracle: ArrayOracle, { @@ -562,7 +565,7 @@ where }); } -pub(crate) unconstrained fn check_any_on_empty_array_is_false() +pub(crate) unconstrained fn any_on_empty_array_is_false() where Oracle: ArrayOracle, { @@ -573,7 +576,7 @@ where }); } -pub(crate) unconstrained fn check_all_is_true_when_every_element_matches() +pub(crate) unconstrained fn all_is_true_when_every_element_matches() where Oracle: ArrayOracle, { @@ -588,7 +591,7 @@ where }); } -pub(crate) unconstrained fn check_all_is_false_when_one_element_fails() +pub(crate) unconstrained fn all_is_false_when_one_element_fails() where Oracle: ArrayOracle, { @@ -603,7 +606,7 @@ where }); } -pub(crate) unconstrained fn check_all_on_empty_array_is_true() +pub(crate) unconstrained fn all_on_empty_array_is_true() where Oracle: ArrayOracle, { @@ -614,7 +617,7 @@ where }); } -pub(crate) unconstrained fn check_find_returns_first_matching_element() +pub(crate) unconstrained fn find_returns_first_matching_element() where Oracle: ArrayOracle, { @@ -633,7 +636,7 @@ where }); } -pub(crate) unconstrained fn check_find_returns_none_when_no_element_matches() +pub(crate) unconstrained fn find_returns_none_when_no_element_matches() where Oracle: ArrayOracle, { @@ -648,7 +651,7 @@ where }); } -pub(crate) unconstrained fn check_find_on_empty_array_is_none() +pub(crate) unconstrained fn find_on_empty_array_is_none() where Oracle: ArrayOracle, { @@ -659,7 +662,7 @@ where }); } -pub(crate) unconstrained fn check_empty_at_wipes_previous_data() +pub(crate) unconstrained fn empty_at_wipes_previous_data() where Oracle: ArrayOracle, { @@ -674,7 +677,7 @@ where }); } -pub(crate) unconstrained fn check_load_empty_returns_none() +pub(crate) unconstrained fn load_empty_returns_none() where Oracle: ArrayOracle, { @@ -685,7 +688,7 @@ where }); } -pub(crate) unconstrained fn check_store_overwrites() +pub(crate) unconstrained fn store_overwrites() where Oracle: ArrayOracle, { @@ -697,7 +700,7 @@ where }); } -pub(crate) unconstrained fn check_delete_removes_value() +pub(crate) unconstrained fn delete_removes_value() where Oracle: ArrayOracle, { @@ -710,7 +713,7 @@ where }); } -pub(crate) unconstrained fn check_delete_empty_is_noop() +pub(crate) unconstrained fn delete_empty_is_noop() where Oracle: ArrayOracle, { @@ -722,7 +725,7 @@ where }); } -pub(crate) unconstrained fn check_store_and_load_multi_field_type() +pub(crate) unconstrained fn store_and_load_multi_field_type() where Oracle: ArrayOracle, { @@ -734,7 +737,7 @@ where }); } -pub(crate) unconstrained fn check_stored_value_is_visible_as_a_length_one_array() +pub(crate) unconstrained fn stored_value_is_visible_as_a_length_one_array() where Oracle: ArrayOracle, { @@ -746,3 +749,54 @@ where assert_eq(array.get(0), 42); }); } + +/// Returns the `should_fail_with` message for checks that are expected to fail, or `Option::none()` for checks that +/// are expected to pass. +comptime fn should_fail_message(name: Quoted) -> Option { + if name == quote { empty_array_read } { + Option::some(quote { "out of bounds" }) + } else if name == quote { empty_array_pop } { + Option::some(quote { "is empty" }) + } else if name == quote { read_past_len } { + Option::some(quote { "out of bounds" }) + } else if name == quote { read_as_rejects_length_mismatch } { + Option::some(quote { "length mismatch" }) + } else { + Option::none() + } +} + +comptime fn oracle_array_tests(oracle: Quoted) -> Quoted { + let helpers = quote { crate::oracle_array::test_helpers }.as_module().unwrap(); + let mut tests = quote {}; + for f in helpers.functions() { + if f.is_unconstrained() { + let name = f.name(); + let fail = should_fail_message(name); + let attr = if fail.is_some() { + let msg = fail.unwrap(); + quote { #[test(should_fail_with = $msg)] } + } else { + quote { #[test] } + }; + tests = quote { + $tests + $attr + unconstrained fn $name() { + crate::oracle_array::test_helpers::$name::<$oracle>(); + } + }; + } + } + tests +} + +/// Generates the shared [`OracleArray`] test suite against the ephemeral backend. Apply to a test module. +pub(crate) comptime fn ephemeral_oracle_array_tests(_m: Module) -> Quoted { + oracle_array_tests(quote { crate::ephemeral::EphemeralOracle }) +} + +/// Generates the shared [`OracleArray`] test suite against the transient backend. Apply to a test module. +pub(crate) comptime fn transient_oracle_array_tests(_m: Module) -> Quoted { + oracle_array_tests(quote { crate::transient::TransientOracle }) +} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index ad30325b2518..0f1c807b6c2c 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -86,206 +86,11 @@ pub unconstrained fn delete(slot: Field) { crate::oracle_array::delete::(slot) } +#[crate::oracle_array::test_helpers::transient_oracle_array_tests] mod test { use crate::oracle_array::test_helpers::SLOT; - use crate::oracle_array::test_helpers as checks; use crate::test::helpers::test_environment::TestEnvironment; - use super::{load, store, TransientOracle}; - - #[test] - unconstrained fn empty_array() { - checks::check_empty_array::(); - } - - #[test(should_fail_with = "out of bounds")] - unconstrained fn empty_array_read() { - checks::check_empty_array_read::(); - } - - #[test(should_fail_with = "is empty")] - unconstrained fn empty_array_pop() { - checks::check_empty_array_pop::(); - } - - #[test] - unconstrained fn array_push() { - checks::check_array_push::(); - } - - #[test(should_fail_with = "out of bounds")] - unconstrained fn read_past_len() { - checks::check_read_past_len::(); - } - - #[test] - unconstrained fn array_pop() { - checks::check_array_pop::(); - } - - #[test] - unconstrained fn array_set() { - checks::check_array_set::(); - } - - #[test] - unconstrained fn array_remove_last() { - checks::check_array_remove_last::(); - } - - #[test] - unconstrained fn array_remove_some() { - checks::check_array_remove_some::(); - } - - #[test] - unconstrained fn array_remove_all() { - checks::check_array_remove_all::(); - } - - #[test] - unconstrained fn for_each_called_with_all_elements() { - checks::check_for_each_called_with_all_elements::(); - } - - #[test] - unconstrained fn for_each_remove_some() { - checks::check_for_each_remove_some::(); - } - - #[test] - unconstrained fn for_each_remove_all() { - checks::check_for_each_remove_all::(); - } - - #[test] - unconstrained fn different_slots_are_isolated() { - checks::check_different_slots_are_isolated::(); - } - - #[test] - unconstrained fn works_with_multi_field_type() { - checks::check_works_with_multi_field_type::(); - } - - #[test] - unconstrained fn read_as_reconstructs_serialized_value() { - checks::check_read_as_reconstructs_serialized_value::(); - } - - #[test(should_fail_with = "length mismatch")] - unconstrained fn read_as_rejects_length_mismatch() { - checks::check_read_as_rejects_length_mismatch::(); - } - - #[test] - unconstrained fn clear_returns_self() { - checks::check_clear_returns_self::(); - } - - #[test] - unconstrained fn clear_wipes_previous_data() { - checks::check_clear_wipes_previous_data::(); - } - - #[test] - unconstrained fn empty_allocates_distinct_slots() { - checks::check_empty_allocates_distinct_slots::(); - } - - #[test] - unconstrained fn map_transforms_each_element() { - checks::check_map_transforms_each_element::(); - } - - #[test] - unconstrained fn map_empty_source_gives_empty_dest() { - checks::check_map_empty_source_gives_empty_dest::(); - } - - #[test] - unconstrained fn map_to_different_type() { - checks::check_map_to_different_type::(); - } - - #[test] - unconstrained fn map_results_are_isolated() { - checks::check_map_results_are_isolated::(); - } - - #[test] - unconstrained fn filter_keeps_matching_elements_in_order() { - checks::check_filter_keeps_matching_elements_in_order::(); - } - - #[test] - unconstrained fn filter_empty_source_gives_empty_dest() { - checks::check_filter_empty_source_gives_empty_dest::(); - } - - #[test] - unconstrained fn filter_none_match_gives_empty_dest() { - checks::check_filter_none_match_gives_empty_dest::(); - } - - #[test] - unconstrained fn filter_works_with_multi_field_type() { - checks::check_filter_works_with_multi_field_type::(); - } - - #[test] - unconstrained fn filter_results_are_isolated() { - checks::check_filter_results_are_isolated::(); - } - - #[test] - unconstrained fn any_is_true_when_an_element_matches() { - checks::check_any_is_true_when_an_element_matches::(); - } - - #[test] - unconstrained fn any_is_false_when_no_element_matches() { - checks::check_any_is_false_when_no_element_matches::(); - } - - #[test] - unconstrained fn any_on_empty_array_is_false() { - checks::check_any_on_empty_array_is_false::(); - } - - #[test] - unconstrained fn all_is_true_when_every_element_matches() { - checks::check_all_is_true_when_every_element_matches::(); - } - - #[test] - unconstrained fn all_is_false_when_one_element_fails() { - checks::check_all_is_false_when_one_element_fails::(); - } - - #[test] - unconstrained fn all_on_empty_array_is_true() { - checks::check_all_on_empty_array_is_true::(); - } - - #[test] - unconstrained fn find_returns_first_matching_element() { - checks::check_find_returns_first_matching_element::(); - } - - #[test] - unconstrained fn find_returns_none_when_no_element_matches() { - checks::check_find_returns_none_when_no_element_matches::(); - } - - #[test] - unconstrained fn find_on_empty_array_is_none() { - checks::check_find_on_empty_array_is_none::(); - } - - #[test] - unconstrained fn empty_at_wipes_previous_data() { - checks::check_empty_at_wipes_previous_data::(); - } + use super::{load, store}; #[test] unconstrained fn store_and_load() { @@ -295,34 +100,4 @@ mod test { assert_eq(load(SLOT), Option::some(42)); }); } - - #[test] - unconstrained fn load_empty_returns_none() { - checks::check_load_empty_returns_none::(); - } - - #[test] - unconstrained fn store_overwrites() { - checks::check_store_overwrites::(); - } - - #[test] - unconstrained fn delete_removes_value() { - checks::check_delete_removes_value::(); - } - - #[test] - unconstrained fn delete_empty_is_noop() { - checks::check_delete_empty_is_noop::(); - } - - #[test] - unconstrained fn store_and_load_multi_field_type() { - checks::check_store_and_load_multi_field_type::(); - } - - #[test] - unconstrained fn stored_value_is_visible_as_a_length_one_array() { - checks::check_stored_value_is_visible_as_a_length_one_array::(); - } } From 74132209d93ab4e1a29f92914f202555b05a8d44 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 11:10:27 +0000 Subject: [PATCH 007/197] refactor: single parameterized oracle_array_tests macro Replaces the two per-backend attribute functions with one oracle_array_tests(module, oracle) attribute that takes the backend's oracle as a quoted path at the annotation site. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 2 +- .../aztec/src/oracle_array/test_helpers.nr | 18 +++++------------- .../aztec-nr/aztec/src/transient/mod.nr | 2 +- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index e444f29198ea..bad14d5df485 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -79,7 +79,7 @@ pub unconstrained fn delete(slot: Field) { crate::oracle_array::delete::(slot) } -#[crate::oracle_array::test_helpers::ephemeral_oracle_array_tests] +#[crate::oracle_array::test_helpers::oracle_array_tests(quote { crate::ephemeral::EphemeralOracle })] mod test { use crate::oracle_array::test_helpers::SLOT; use crate::test::helpers::test_environment::TestEnvironment; diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr index 6e36a38dc0de..4e66f211b670 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -2,8 +2,8 @@ //! //! Every `unconstrained` function in this module checks one behavior of the shared [`OracleArray`] API (or of the //! generic `store` / `load` / `delete` helpers) and is generic over the [`ArrayOracle`] backend. Backend test modules -//! do not reference the checks one by one: annotating a module with `ephemeral_oracle_array_tests` / -//! `transient_oracle_array_tests` generates one `#[test]` per check with that backend's oracle swapped in, so a check +//! do not reference the checks one by one: annotating a module with `oracle_array_tests` (passing the backend's +//! oracle as a quoted path) generates one `#[test]` per check with that oracle swapped in, so a check //! added here automatically runs against every backend. Checks that are expected to fail must be registered in //! `should_fail_message`, which supplies the message for the generated `#[test(should_fail_with = ...)]` attribute. //! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. @@ -766,7 +766,9 @@ comptime fn should_fail_message(name: Quoted) -> Option { } } -comptime fn oracle_array_tests(oracle: Quoted) -> Quoted { +/// Generates the shared [`OracleArray`] test suite against the given backend. Apply to a test module, passing the +/// backend's oracle as a quoted path: `#[oracle_array_tests(quote { crate::ephemeral::EphemeralOracle })]`. +pub(crate) comptime fn oracle_array_tests(_m: Module, oracle: Quoted) -> Quoted { let helpers = quote { crate::oracle_array::test_helpers }.as_module().unwrap(); let mut tests = quote {}; for f in helpers.functions() { @@ -790,13 +792,3 @@ comptime fn oracle_array_tests(oracle: Quoted) -> Quoted { } tests } - -/// Generates the shared [`OracleArray`] test suite against the ephemeral backend. Apply to a test module. -pub(crate) comptime fn ephemeral_oracle_array_tests(_m: Module) -> Quoted { - oracle_array_tests(quote { crate::ephemeral::EphemeralOracle }) -} - -/// Generates the shared [`OracleArray`] test suite against the transient backend. Apply to a test module. -pub(crate) comptime fn transient_oracle_array_tests(_m: Module) -> Quoted { - oracle_array_tests(quote { crate::transient::TransientOracle }) -} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 0f1c807b6c2c..e4a14969b6b1 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -86,7 +86,7 @@ pub unconstrained fn delete(slot: Field) { crate::oracle_array::delete::(slot) } -#[crate::oracle_array::test_helpers::transient_oracle_array_tests] +#[crate::oracle_array::test_helpers::oracle_array_tests(quote { crate::transient::TransientOracle })] mod test { use crate::oracle_array::test_helpers::SLOT; use crate::test::helpers::test_environment::TestEnvironment; From d49fc3f414a021d6fe5f644db1eb2dae3c5a3eb6 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 11:27:18 +0000 Subject: [PATCH 008/197] refactor: should_fail_ prefix for failing oracle array checks --- .../aztec/src/oracle_array/test_helpers.nr | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr index 4e66f211b670..5eb44214fc47 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -1,11 +1,8 @@ //! Shared test suite for [`OracleArray`] backends. //! -//! Every `unconstrained` function in this module checks one behavior of the shared [`OracleArray`] API (or of the -//! generic `store` / `load` / `delete` helpers) and is generic over the [`ArrayOracle`] backend. Backend test modules -//! do not reference the checks one by one: annotating a module with `oracle_array_tests` (passing the backend's -//! oracle as a quoted path) generates one `#[test]` per check with that oracle swapped in, so a check -//! added here automatically runs against every backend. Checks that are expected to fail must be registered in -//! `should_fail_message`, which supplies the message for the generated `#[test(should_fail_with = ...)]` attribute. +//! Every function in this module checks one behavior of the shared [`OracleArray`] API (or of the generic +//! `store` / `load` / `delete` kv helpers) and is generic over the [`ArrayOracle`] backend. +//! //! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. //! `transient::store` / `transient::load`) to cover the delegation wiring. @@ -28,7 +25,7 @@ where }); } -pub(crate) unconstrained fn empty_array_read() +pub(crate) unconstrained fn should_fail_empty_array_read() where Oracle: ArrayOracle, { @@ -39,7 +36,7 @@ where }); } -pub(crate) unconstrained fn empty_array_pop() +pub(crate) unconstrained fn should_fail_empty_array_pop() where Oracle: ArrayOracle, { @@ -64,7 +61,7 @@ where }); } -pub(crate) unconstrained fn read_past_len() +pub(crate) unconstrained fn should_fail_read_past_len() where Oracle: ArrayOracle, { @@ -290,7 +287,7 @@ where }); } -pub(crate) unconstrained fn read_as_rejects_length_mismatch() +pub(crate) unconstrained fn should_fail_read_as_rejects_length_mismatch() where Oracle: ArrayOracle, { @@ -753,13 +750,13 @@ where /// Returns the `should_fail_with` message for checks that are expected to fail, or `Option::none()` for checks that /// are expected to pass. comptime fn should_fail_message(name: Quoted) -> Option { - if name == quote { empty_array_read } { + if name == quote { should_fail_empty_array_read } { Option::some(quote { "out of bounds" }) - } else if name == quote { empty_array_pop } { + } else if name == quote { should_fail_empty_array_pop } { Option::some(quote { "is empty" }) - } else if name == quote { read_past_len } { + } else if name == quote { should_fail_read_past_len } { Option::some(quote { "out of bounds" }) - } else if name == quote { read_as_rejects_length_mismatch } { + } else if name == quote { should_fail_read_as_rejects_length_mismatch } { Option::some(quote { "length mismatch" }) } else { Option::none() From 7845f7b9c6193c9bb0963532bd1530ed859efe6c Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 08:23:23 +0000 Subject: [PATCH 009/197] refactor(aztec-nr): rename oracle::ephemeral module to ephemeral_oracles The module name collided with crate::ephemeral, which owns the EphemeralArray type. Name the oracle module after what it holds -- the #[oracle(...)] declarations -- so the array module keeps the plain ephemeral name and the two are unambiguous at use sites. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 16 ++++++++-------- .../{ephemeral.nr => ephemeral_oracles.nr} | 0 noir-projects/aztec-nr/aztec/src/oracle/mod.nr | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) rename noir-projects/aztec-nr/aztec/src/oracle/{ephemeral.nr => ephemeral_oracles.nr} (100%) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index bad14d5df485..c67fcd05de9c 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,4 +1,4 @@ -use crate::oracle::ephemeral; +use crate::oracle::ephemeral_oracles; use crate::oracle_array::{ArrayOracle, OracleArray}; use crate::protocol::traits::{Deserialize, Serialize}; @@ -30,31 +30,31 @@ pub struct EphemeralOracle {} impl ArrayOracle for EphemeralOracle { unconstrained fn len_oracle(slot: Field) -> u32 { - ephemeral::len_oracle(slot) + ephemeral_oracles::len_oracle(slot) } unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32 { - ephemeral::push_oracle(slot, values) + ephemeral_oracles::push_oracle(slot, values) } unconstrained fn pop_oracle(slot: Field) -> [Field; N] { - ephemeral::pop_oracle(slot) + ephemeral_oracles::pop_oracle(slot) } unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N] { - ephemeral::get_oracle(slot, index) + ephemeral_oracles::get_oracle(slot, index) } unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]) { - ephemeral::set_oracle(slot, index, values) + ephemeral_oracles::set_oracle(slot, index, values) } unconstrained fn remove_oracle(slot: Field, index: u32) { - ephemeral::remove_oracle(slot, index) + ephemeral_oracles::remove_oracle(slot, index) } unconstrained fn clear_oracle(slot: Field) { - ephemeral::clear_oracle(slot) + ephemeral_oracles::clear_oracle(slot) } } diff --git a/noir-projects/aztec-nr/aztec/src/oracle/ephemeral.nr b/noir-projects/aztec-nr/aztec/src/oracle/ephemeral_oracles.nr similarity index 100% rename from noir-projects/aztec-nr/aztec/src/oracle/ephemeral.nr rename to noir-projects/aztec-nr/aztec/src/oracle/ephemeral_oracles.nr diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 85953142230d..8174bfab6c5b 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -7,7 +7,7 @@ pub mod block_header; pub mod call_private_function; pub mod call_utility_function; pub mod capsules; -pub mod ephemeral; +pub mod ephemeral_oracles; pub mod transient; pub mod contract_sync; pub mod public_call; From b5948b019d2d6a53e7d5dca649c2699c306ab1db Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 08:26:29 +0000 Subject: [PATCH 010/197] refactor(aztec-nr): rename oracle::transient module to transient_oracles The module name collided with crate::transient, which owns the TransientArray type. Name the oracle module after what it holds -- the #[oracle(...)] declarations -- so the array module keeps the plain transient name and the two are unambiguous at use sites. --- noir-projects/aztec-nr/aztec/src/oracle/mod.nr | 2 +- .../{transient.nr => transient_oracles.nr} | 0 .../aztec-nr/aztec/src/transient/mod.nr | 16 ++++++++-------- 3 files changed, 9 insertions(+), 9 deletions(-) rename noir-projects/aztec-nr/aztec/src/oracle/{transient.nr => transient_oracles.nr} (100%) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 8174bfab6c5b..3ff645c72d56 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -8,7 +8,7 @@ pub mod call_private_function; pub mod call_utility_function; pub mod capsules; pub mod ephemeral_oracles; -pub mod transient; +pub mod transient_oracles; pub mod contract_sync; pub mod public_call; pub mod tx_phase; diff --git a/noir-projects/aztec-nr/aztec/src/oracle/transient.nr b/noir-projects/aztec-nr/aztec/src/oracle/transient_oracles.nr similarity index 100% rename from noir-projects/aztec-nr/aztec/src/oracle/transient.nr rename to noir-projects/aztec-nr/aztec/src/oracle/transient_oracles.nr diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index e4a14969b6b1..4b0202d7f402 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -1,4 +1,4 @@ -use crate::oracle::transient; +use crate::oracle::transient_oracles; use crate::oracle_array::{ArrayOracle, OracleArray}; use crate::protocol::traits::{Deserialize, Serialize}; @@ -37,31 +37,31 @@ pub struct TransientOracle {} impl ArrayOracle for TransientOracle { unconstrained fn len_oracle(slot: Field) -> u32 { - transient::len_oracle(slot) + transient_oracles::len_oracle(slot) } unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32 { - transient::push_oracle(slot, values) + transient_oracles::push_oracle(slot, values) } unconstrained fn pop_oracle(slot: Field) -> [Field; N] { - transient::pop_oracle(slot) + transient_oracles::pop_oracle(slot) } unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N] { - transient::get_oracle(slot, index) + transient_oracles::get_oracle(slot, index) } unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]) { - transient::set_oracle(slot, index, values) + transient_oracles::set_oracle(slot, index, values) } unconstrained fn remove_oracle(slot: Field, index: u32) { - transient::remove_oracle(slot, index) + transient_oracles::remove_oracle(slot, index) } unconstrained fn clear_oracle(slot: Field) { - transient::clear_oracle(slot) + transient_oracles::clear_oracle(slot) } } From 62ad8548d8965e2928c94769f08a449860f0cf9b Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 08:56:08 +0000 Subject: [PATCH 011/197] refactor(aztec-nr): rename OracleArray struct to UnconstrainedArray OracleArray and ArrayOracle were near-anagrams, forcing readers to disambiguate which was the struct and which the backend trait. Keep ArrayOracle (it names the set of oracles that implement an array) and rename the struct to UnconstrainedArray, after the property every backend shares: its operations are unconstrained foreign calls into PXE-side storage, so the data is host-provided and must be verified before being trusted in constrained code. The oracle_array module, the ArrayOracle trait, and the Oracle type parameter are unchanged. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 7 +- .../aztec-nr/aztec/src/oracle_array/mod.nr | 47 +++---- .../aztec/src/oracle_array/test_helpers.nr | 119 +++++++++--------- .../aztec-nr/aztec/src/transient/mod.nr | 7 +- 4 files changed, 94 insertions(+), 86 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index c67fcd05de9c..aaa9704d52e2 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,5 +1,5 @@ use crate::oracle::ephemeral_oracles; -use crate::oracle_array::{ArrayOracle, OracleArray}; +use crate::oracle_array::{ArrayOracle, UnconstrainedArray}; use crate::protocol::traits::{Deserialize, Serialize}; /// A dynamically sized array that exists only during a single contract call frame. @@ -23,9 +23,10 @@ use crate::protocol::traits::{Deserialize, Serialize}; /// For data that must be shared across all frames of the same contract (private and utility) within one top-level PXE /// call (transaction simulation or utility call) but not persisted, use /// [`TransientArray`](crate::transient::TransientArray). -pub type EphemeralArray = OracleArray; +pub type EphemeralArray = UnconstrainedArray; -/// Routes [`OracleArray`] operations to the ephemeral array oracles, scoping arrays to a single contract call frame. +/// Routes [`UnconstrainedArray`] operations to the ephemeral array oracles, scoping arrays to a single contract call +/// frame. pub struct EphemeralOracle {} impl ArrayOracle for EphemeralOracle { diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr index 39851bbcbe83..b6e27b7fc218 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr @@ -4,7 +4,7 @@ use crate::oracle::random::random; use crate::protocol::traits::{Deserialize, Serialize}; use crate::protocol::utils::{reader::Reader, writer::Writer}; -/// Oracle backend for an [`OracleArray`]: the set of PXE-side operations that implement its storage. +/// Oracle backend for an [`UnconstrainedArray`]: the set of PXE-side operations that implement its storage. /// /// Each implementor routes these operations to a distinct family of oracles, and the oracle family determines the /// array's lifetime and visibility (e.g. [`EphemeralArray`](crate::ephemeral::EphemeralArray) arrays live for one @@ -42,11 +42,11 @@ pub trait ArrayOracle { /// rather one of its aliases: [`EphemeralArray`](crate::ephemeral::EphemeralArray) (scoped to a single contract call /// frame) or [`TransientArray`](crate::transient::TransientArray) (shared across all frames of the same contract /// within one top-level PXE call). -pub struct OracleArray { +pub struct UnconstrainedArray { pub slot: Field, } -impl OracleArray +impl UnconstrainedArray where Oracle: ArrayOracle, { @@ -67,7 +67,8 @@ where /// Returns an empty array at a fresh, randomly allocated slot. /// /// Use this when the caller does not need a specific slot: the random slot is isolated from every other array of - /// the same backend with overwhelming probability. Prefer [`OracleArray::empty_at`] when the slot must be a known + /// the same backend with overwhelming probability. Prefer [`UnconstrainedArray::empty_at`] when the slot must be a + /// known /// value (e.g. one shared with an oracle or another call frame). pub unconstrained fn empty() -> Self { Self::empty_at(random()) @@ -121,7 +122,7 @@ where /// Removes all elements from the array and returns self for chaining. /// - /// Prefer [`OracleArray::empty_at`] when the intent is to start with a fresh array. + /// Prefer [`UnconstrainedArray::empty_at`] when the intent is to start with a fresh array. pub unconstrained fn clear(self) -> Self { Oracle::clear_oracle(self.slot); self @@ -148,14 +149,15 @@ where /// Applies `f` to every element and collects the results into a fresh array. /// /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly - /// allocated slot (see [`OracleArray::empty`]). The source array is left unchanged, and the result is isolated + /// allocated slot (see [`UnconstrainedArray::empty`]). The source array is left unchanged, and the result is + /// isolated /// from it, so `map` can be chained. - pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> OracleArray + pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> UnconstrainedArray where T: Deserialize, U: Serialize, { - let dest: OracleArray = OracleArray::empty(); + let dest: UnconstrainedArray = UnconstrainedArray::empty(); let n = self.len(); for i in 0..n { dest.push(f(self.get(i))); @@ -166,13 +168,14 @@ where /// Collects every element satisfying the predicate `f` into a fresh array. /// /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a - /// freshly allocated slot (see [`OracleArray::empty`]). Relative order is preserved. The source array is left + /// freshly allocated slot (see [`UnconstrainedArray::empty`]). Relative order is preserved. The source array is + /// left /// unchanged, and the result is isolated from it, so `filter` can be chained. pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self where T: Serialize + Deserialize, { - let dest: Self = OracleArray::empty(); + let dest: Self = UnconstrainedArray::empty(); let n = self.len(); for i in 0..n { let value = self.get(i); @@ -186,7 +189,8 @@ where /// Returns `true` if at least one element satisfies the predicate `f`. /// /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in - /// terms of [`OracleArray::filter`]: it keeps the matching elements and checks whether any survived. This is not + /// terms of [`UnconstrainedArray::filter`]: it keeps the matching elements and checks whether any survived. This is + /// not /// short-circuiting — every element is tested even after the first match. pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool where @@ -198,7 +202,7 @@ where /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). /// /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of - /// [`OracleArray::filter`]: every element matches exactly when filtering keeps all of them. This is not + /// [`UnconstrainedArray::filter`]: every element matches exactly when filtering keeps all of them. This is not /// short-circuiting — every element is tested even after the first failure. pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool where @@ -209,7 +213,8 @@ where /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. /// - /// Mirrors Rust's `Iterator::find`. Defined in terms of [`OracleArray::filter`], which preserves order, so the + /// Mirrors Rust's `Iterator::find`. Defined in terms of [`UnconstrainedArray::filter`], which preserves order, so + /// the /// first kept element is the first match. This is not short-circuiting — every element is tested even after the /// match is found. pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option @@ -225,7 +230,7 @@ where } } -impl OracleArray +impl UnconstrainedArray where Oracle: ArrayOracle, { @@ -238,7 +243,7 @@ where where T: Deserialize, { - assert_eq(self.len(), ::N, "OracleArray length mismatch for read_as"); + assert_eq(self.len(), ::N, "UnconstrainedArray length mismatch for read_as"); let mut fields: [Field; ::N] = [0; ::N]; for i in 0..::N { fields[i] = self.get(i); @@ -247,9 +252,9 @@ where } } -/// Serializes an `OracleArray` as its slot identifier, allowing oracle function signatures to use array types +/// Serializes an `UnconstrainedArray` as its slot identifier, allowing oracle function signatures to use array types /// instead of opaque `Field` slots. -impl Serialize for OracleArray { +impl Serialize for UnconstrainedArray { let N: u32 = 1; fn serialize(self) -> [Field; Self::N] { @@ -261,9 +266,9 @@ impl Serialize for OracleArray { } } -/// Deserializes a single Field into an `OracleArray` handle, treating the field value as the slot identifier. +/// Deserializes a single Field into an `UnconstrainedArray` handle, treating the field value as the slot identifier. /// This is the inverse of [`Serialize`]. -impl Deserialize for OracleArray { +impl Deserialize for UnconstrainedArray { let N: u32 = 1; fn deserialize(fields: [Field; Self::N]) -> Self { @@ -283,7 +288,7 @@ where T: Serialize, Oracle: ArrayOracle, { - let array: OracleArray = OracleArray::at(slot); + let array: UnconstrainedArray = UnconstrainedArray::at(slot); array.clear().push(value); } @@ -293,7 +298,7 @@ where T: Deserialize, Oracle: ArrayOracle, { - let array: OracleArray = OracleArray::at(slot); + let array: UnconstrainedArray = UnconstrainedArray::at(slot); if array.len() == 0 { Option::none() } else { diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr index 5eb44214fc47..7d56b6e972cf 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr @@ -1,12 +1,12 @@ -//! Shared test suite for [`OracleArray`] backends. +//! Shared test suite for [`UnconstrainedArray`] backends. //! -//! Every function in this module checks one behavior of the shared [`OracleArray`] API (or of the generic +//! Every function in this module checks one behavior of the shared [`UnconstrainedArray`] API (or of the generic //! `store` / `load` / `delete` kv helpers) and is generic over the [`ArrayOracle`] backend. //! //! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. //! `transient::store` / `transient::load`) to cover the delegation wiring. -use crate::oracle_array::{ArrayOracle, delete, load, OracleArray, store}; +use crate::oracle_array::{ArrayOracle, delete, load, store, UnconstrainedArray}; use crate::protocol::traits::Serialize; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; @@ -20,7 +20,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); assert_eq(array.len(), 0); }); } @@ -31,7 +31,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); let _: Field = array.get(0); }); } @@ -42,7 +42,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); let _: Field = array.pop(); }); } @@ -53,7 +53,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(5); assert_eq(array.len(), 1); @@ -67,7 +67,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(5); let _ = array.get(1); @@ -80,7 +80,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(5); array.push(10); @@ -97,7 +97,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(5); array.set(0, 99); assert_eq(array.get(0), 99); @@ -110,7 +110,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(5); array.remove(0); assert_eq(array.len(), 0); @@ -123,7 +123,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(7); array.push(8); @@ -145,7 +145,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(7); array.push(8); @@ -165,7 +165,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(4); array.push(5); @@ -187,7 +187,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(4); array.push(5); @@ -211,7 +211,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(4); array.push(5); @@ -229,8 +229,8 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array_a: OracleArray = OracleArray::at(SLOT); - let array_b: OracleArray = OracleArray::at(OTHER_SLOT); + let array_a: UnconstrainedArray = UnconstrainedArray::at(SLOT); + let array_b: UnconstrainedArray = UnconstrainedArray::at(OTHER_SLOT); array_a.push(10); array_a.push(20); @@ -251,7 +251,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); let a = MockStruct::new(5, 6); let b = MockStruct::new(7, 8); @@ -274,7 +274,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); let value = MockStruct::new(5, 6); let serialized = value.serialize(); @@ -293,7 +293,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); // MockStruct deserializes from 2 fields, so a single field is too short. array.push(1); @@ -307,7 +307,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT).clear(); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT).clear(); assert_eq(array.len(), 0); array.push(42); @@ -322,14 +322,14 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); assert_eq(array.len(), 3); // Clear the same slot, previous data should be gone. - let fresh: OracleArray = OracleArray::at(SLOT).clear(); + let fresh: UnconstrainedArray = UnconstrainedArray::at(SLOT).clear(); assert_eq(fresh.len(), 0); fresh.push(4); assert_eq(fresh.get(0), 4); @@ -342,8 +342,8 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let a: OracleArray = OracleArray::empty(); - let b: OracleArray = OracleArray::empty(); + let a: UnconstrainedArray = UnconstrainedArray::empty(); + let b: UnconstrainedArray = UnconstrainedArray::empty(); assert(a.slot != b.slot, "empty() should allocate a fresh slot each time"); @@ -362,12 +362,12 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(1); source.push(2); source.push(3); - let doubled: OracleArray = source.map(|x| x * 2); + let doubled: UnconstrainedArray = source.map(|x| x * 2); assert_eq(doubled.len(), 3); assert_eq(doubled.get(0), 2); @@ -386,8 +386,8 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); - let mapped: OracleArray = source.map(|x| x * 2); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); + let mapped: UnconstrainedArray = source.map(|x| x * 2); assert_eq(mapped.len(), 0); }); } @@ -398,11 +398,11 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(5); source.push(7); - let structs: OracleArray = source.map(|x| MockStruct::new(x, x + 1)); + let structs: UnconstrainedArray = source.map(|x| MockStruct::new(x, x + 1)); assert_eq(structs.len(), 2); assert_eq(structs.get(0), MockStruct::new(5, 6)); @@ -416,14 +416,14 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(1); source.push(2); source.push(3); // Each map allocates its own fresh slot, so two maps of the same source do not clobber each other. - let doubled: OracleArray = source.map(|x| x * 2); - let tripled: OracleArray = source.map(|x| x * 3); + let doubled: UnconstrainedArray = source.map(|x| x * 2); + let tripled: UnconstrainedArray = source.map(|x| x * 3); assert(doubled.slot != tripled.slot, "each map should land in a distinct slot"); assert_eq(doubled.get(0), 2); @@ -439,14 +439,14 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(1); source.push(2); source.push(3); source.push(2); source.push(5); - let kept: OracleArray = source.filter(|x| x != 2); + let kept: UnconstrainedArray = source.filter(|x| x != 2); assert_eq(kept.len(), 3); assert_eq(kept.get(0), 1); @@ -465,8 +465,8 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); - let kept: OracleArray = source.filter(|_| true); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); + let kept: UnconstrainedArray = source.filter(|_| true); assert_eq(kept.len(), 0); }); } @@ -477,12 +477,12 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(1); source.push(2); source.push(3); - let kept: OracleArray = source.filter(|_| false); + let kept: UnconstrainedArray = source.filter(|_| false); assert_eq(kept.len(), 0); }); } @@ -493,12 +493,12 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(MockStruct::new(1, 10)); source.push(MockStruct::new(2, 20)); source.push(MockStruct::new(3, 30)); - let kept: OracleArray = source.filter(|s: MockStruct| s.a != 2); + let kept: UnconstrainedArray = source.filter(|s: MockStruct| s.a != 2); assert_eq(kept.len(), 2); assert_eq(kept.get(0), MockStruct::new(1, 10)); @@ -512,15 +512,15 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let source: OracleArray = OracleArray::at(SLOT); + let source: UnconstrainedArray = UnconstrainedArray::at(SLOT); source.push(1); source.push(2); source.push(3); source.push(4); // Each filter allocates its own fresh slot, so two filters of the same source do not clobber each other. - let odds: OracleArray = source.filter(|x| (x != 2) & (x != 4)); - let evens: OracleArray = source.filter(|x| (x != 1) & (x != 3)); + let odds: UnconstrainedArray = source.filter(|x| (x != 2) & (x != 4)); + let evens: UnconstrainedArray = source.filter(|x| (x != 1) & (x != 3)); assert(odds.slot != evens.slot, "each filter should land in a distinct slot"); assert_eq(odds.len(), 2); @@ -538,7 +538,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); @@ -553,7 +553,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); @@ -568,7 +568,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); assert(!array.any(|_| true)); }); } @@ -579,7 +579,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); @@ -594,7 +594,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); @@ -609,7 +609,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); assert(array.all(|_| false)); }); } @@ -620,7 +620,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); @@ -639,7 +639,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); array.push(2); array.push(3); @@ -654,7 +654,7 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); assert(array.find(|_| true).is_none()); }); } @@ -665,11 +665,11 @@ where { let env = TestEnvironment::new(); env.utility_context(|_| { - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); array.push(1); assert_eq(array.len(), 1); - let fresh: OracleArray = OracleArray::empty_at(SLOT); + let fresh: UnconstrainedArray = UnconstrainedArray::empty_at(SLOT); assert_eq(fresh.len(), 0); }); } @@ -741,7 +741,7 @@ where let env = TestEnvironment::new(); env.utility_context(|_| { store::(SLOT, 42); - let array: OracleArray = OracleArray::at(SLOT); + let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); assert_eq(array.len(), 1); assert_eq(array.get(0), 42); }); @@ -763,7 +763,8 @@ comptime fn should_fail_message(name: Quoted) -> Option { } } -/// Generates the shared [`OracleArray`] test suite against the given backend. Apply to a test module, passing the +/// Generates the shared [`UnconstrainedArray`] test suite against the given backend. Apply to a test module, passing +/// the /// backend's oracle as a quoted path: `#[oracle_array_tests(quote { crate::ephemeral::EphemeralOracle })]`. pub(crate) comptime fn oracle_array_tests(_m: Module, oracle: Quoted) -> Quoted { let helpers = quote { crate::oracle_array::test_helpers }.as_module().unwrap(); diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 4b0202d7f402..7cf53154da3a 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -1,5 +1,5 @@ use crate::oracle::transient_oracles; -use crate::oracle_array::{ArrayOracle, OracleArray}; +use crate::oracle_array::{ArrayOracle, UnconstrainedArray}; use crate::protocol::traits::{Deserialize, Serialize}; /// A dynamically sized array that lives for the duration of a single top-level PXE call. @@ -29,9 +29,10 @@ use crate::protocol::traits::{Deserialize, Serialize}; /// Use this to pass not-to-be-persisted data between a contract's own frames (private or utility) within one top-level /// PXE call. For data confined to a single call frame, prefer [`EphemeralArray`](crate::ephemeral::EphemeralArray). /// For data that must persist indefinitely, use [`CapsuleArray`](crate::capsules::CapsuleArray). -pub type TransientArray = OracleArray; +pub type TransientArray = UnconstrainedArray; -/// Routes [`OracleArray`] operations to the transient array oracles, sharing arrays across all call frames of the +/// Routes [`UnconstrainedArray`] operations to the transient array oracles, sharing arrays across all call frames of +/// the /// same contract within one top-level PXE call. pub struct TransientOracle {} From e8ad51f1ec508d4250e9aa44b98be842fdaf65c1 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 09:01:29 +0000 Subject: [PATCH 012/197] refactor(aztec-nr): rename oracle_array module to unconstrained_array Follows the struct rename: the module and its test macro were still named after the old OracleArray struct. Rename the module directory to unconstrained_array and the oracle_array_tests macro to unconstrained_array_tests so the module mirrors the type it houses. The ArrayOracle trait and the store/load/delete helpers keep their names. --- noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr | 12 ++++++------ noir-projects/aztec-nr/aztec/src/lib.nr | 2 +- noir-projects/aztec-nr/aztec/src/transient/mod.nr | 12 ++++++------ .../src/{oracle_array => unconstrained_array}/mod.nr | 0 .../test_helpers.nr | 10 +++++----- 5 files changed, 18 insertions(+), 18 deletions(-) rename noir-projects/aztec-nr/aztec/src/{oracle_array => unconstrained_array}/mod.nr (100%) rename noir-projects/aztec-nr/aztec/src/{oracle_array => unconstrained_array}/test_helpers.nr (97%) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index aaa9704d52e2..e99b3a252114 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,6 +1,6 @@ use crate::oracle::ephemeral_oracles; -use crate::oracle_array::{ArrayOracle, UnconstrainedArray}; use crate::protocol::traits::{Deserialize, Serialize}; +use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; /// A dynamically sized array that exists only during a single contract call frame. /// @@ -64,7 +64,7 @@ pub unconstrained fn store(slot: Field, value: T) where T: Serialize, { - crate::oracle_array::store::(slot, value) + crate::unconstrained_array::store::(slot, value) } /// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. @@ -72,18 +72,18 @@ pub unconstrained fn load(slot: Field) -> Option where T: Deserialize, { - crate::oracle_array::load::(slot) + crate::unconstrained_array::load::(slot) } /// Deletes the value stored at `slot`. Does nothing if the slot is already empty. pub unconstrained fn delete(slot: Field) { - crate::oracle_array::delete::(slot) + crate::unconstrained_array::delete::(slot) } -#[crate::oracle_array::test_helpers::oracle_array_tests(quote { crate::ephemeral::EphemeralOracle })] +#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracle })] mod test { - use crate::oracle_array::test_helpers::SLOT; use crate::test::helpers::test_environment::TestEnvironment; + use crate::unconstrained_array::test_helpers::SLOT; use super::{load, store}; #[test] diff --git a/noir-projects/aztec-nr/aztec/src/lib.nr b/noir-projects/aztec-nr/aztec/src/lib.nr index 507cd51bed80..387f820d22da 100644 --- a/noir-projects/aztec-nr/aztec/src/lib.nr +++ b/noir-projects/aztec-nr/aztec/src/lib.nr @@ -39,7 +39,7 @@ pub mod nullifier; pub mod oracle; pub mod state_vars; pub mod capsules; -pub mod oracle_array; +pub mod unconstrained_array; pub mod ephemeral; pub mod transient; pub mod event; diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 7cf53154da3a..57d2a9353dde 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -1,6 +1,6 @@ use crate::oracle::transient_oracles; -use crate::oracle_array::{ArrayOracle, UnconstrainedArray}; use crate::protocol::traits::{Deserialize, Serialize}; +use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; /// A dynamically sized array that lives for the duration of a single top-level PXE call. /// @@ -71,7 +71,7 @@ pub unconstrained fn store(slot: Field, value: T) where T: Serialize, { - crate::oracle_array::store::(slot, value) + crate::unconstrained_array::store::(slot, value) } /// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. @@ -79,18 +79,18 @@ pub unconstrained fn load(slot: Field) -> Option where T: Deserialize, { - crate::oracle_array::load::(slot) + crate::unconstrained_array::load::(slot) } /// Deletes the value stored at `slot`. Does nothing if the slot is already empty. pub unconstrained fn delete(slot: Field) { - crate::oracle_array::delete::(slot) + crate::unconstrained_array::delete::(slot) } -#[crate::oracle_array::test_helpers::oracle_array_tests(quote { crate::transient::TransientOracle })] +#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::transient::TransientOracle })] mod test { - use crate::oracle_array::test_helpers::SLOT; use crate::test::helpers::test_environment::TestEnvironment; + use crate::unconstrained_array::test_helpers::SLOT; use super::{load, store}; #[test] diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr similarity index 100% rename from noir-projects/aztec-nr/aztec/src/oracle_array/mod.nr rename to noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr diff --git a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr similarity index 97% rename from noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr rename to noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr index 7d56b6e972cf..678126b56d2d 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr @@ -6,10 +6,10 @@ //! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. //! `transient::store` / `transient::load`) to cover the delegation wiring. -use crate::oracle_array::{ArrayOracle, delete, load, store, UnconstrainedArray}; use crate::protocol::traits::Serialize; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; +use crate::unconstrained_array::{ArrayOracle, delete, load, store, UnconstrainedArray}; pub(crate) global SLOT: Field = 1230; pub(crate) global OTHER_SLOT: Field = 5670; @@ -765,9 +765,9 @@ comptime fn should_fail_message(name: Quoted) -> Option { /// Generates the shared [`UnconstrainedArray`] test suite against the given backend. Apply to a test module, passing /// the -/// backend's oracle as a quoted path: `#[oracle_array_tests(quote { crate::ephemeral::EphemeralOracle })]`. -pub(crate) comptime fn oracle_array_tests(_m: Module, oracle: Quoted) -> Quoted { - let helpers = quote { crate::oracle_array::test_helpers }.as_module().unwrap(); +/// backend's oracle as a quoted path: `#[unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracle })]`. +pub(crate) comptime fn unconstrained_array_tests(_m: Module, oracle: Quoted) -> Quoted { + let helpers = quote { crate::unconstrained_array::test_helpers }.as_module().unwrap(); let mut tests = quote {}; for f in helpers.functions() { if f.is_unconstrained() { @@ -783,7 +783,7 @@ pub(crate) comptime fn oracle_array_tests(_m: Module, oracle: Quoted) -> Quoted $tests $attr unconstrained fn $name() { - crate::oracle_array::test_helpers::$name::<$oracle>(); + crate::unconstrained_array::test_helpers::$name::<$oracle>(); } }; } From 91772da91c7355e80ddfdd8cda779e4f927a6f66 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 09:09:47 +0000 Subject: [PATCH 013/197] docs(aztec-nr): reflow doc comments orphaned by the UnconstrainedArray rename UnconstrainedArray is longer than the old OracleArray, so several doc lines that referenced the type (or its method links) tipped past the 120-column limit. nargo fmt breaks an over-long comment line by pushing only the trailing word onto a new line, which left mid-paragraph orphans like '/// not' and '/// the'. Rejoin those words and rewrap the affected paragraphs at natural points, keeping every line within 120 columns. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 4 ++-- .../aztec-nr/aztec/src/transient/mod.nr | 5 ++--- .../aztec/src/unconstrained_array/mod.nr | 17 ++++++----------- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index e99b3a252114..8dd2acaa35ae 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -25,8 +25,8 @@ use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; /// [`TransientArray`](crate::transient::TransientArray). pub type EphemeralArray = UnconstrainedArray; -/// Routes [`UnconstrainedArray`] operations to the ephemeral array oracles, scoping arrays to a single contract call -/// frame. +/// Routes [`UnconstrainedArray`] operations to the ephemeral array oracles, scoping arrays to a single contract +/// call frame. pub struct EphemeralOracle {} impl ArrayOracle for EphemeralOracle { diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 57d2a9353dde..b01b2381e90e 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -31,9 +31,8 @@ use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; /// For data that must persist indefinitely, use [`CapsuleArray`](crate::capsules::CapsuleArray). pub type TransientArray = UnconstrainedArray; -/// Routes [`UnconstrainedArray`] operations to the transient array oracles, sharing arrays across all call frames of -/// the -/// same contract within one top-level PXE call. +/// Routes [`UnconstrainedArray`] operations to the transient array oracles, sharing arrays across all call frames +/// of the same contract within one top-level PXE call. pub struct TransientOracle {} impl ArrayOracle for TransientOracle { diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index b6e27b7fc218..f9e4f61fa166 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -68,8 +68,7 @@ where /// /// Use this when the caller does not need a specific slot: the random slot is isolated from every other array of /// the same backend with overwhelming probability. Prefer [`UnconstrainedArray::empty_at`] when the slot must be a - /// known - /// value (e.g. one shared with an oracle or another call frame). + /// known value (e.g. one shared with an oracle or another call frame). pub unconstrained fn empty() -> Self { Self::empty_at(random()) } @@ -150,8 +149,7 @@ where /// /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly /// allocated slot (see [`UnconstrainedArray::empty`]). The source array is left unchanged, and the result is - /// isolated - /// from it, so `map` can be chained. + /// isolated from it, so `map` can be chained. pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> UnconstrainedArray where T: Deserialize, @@ -169,8 +167,7 @@ where /// /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a /// freshly allocated slot (see [`UnconstrainedArray::empty`]). Relative order is preserved. The source array is - /// left - /// unchanged, and the result is isolated from it, so `filter` can be chained. + /// left unchanged, and the result is isolated from it, so `filter` can be chained. pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self where T: Serialize + Deserialize, @@ -190,8 +187,7 @@ where /// /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in /// terms of [`UnconstrainedArray::filter`]: it keeps the matching elements and checks whether any survived. This is - /// not - /// short-circuiting — every element is tested even after the first match. + /// not short-circuiting — every element is tested even after the first match. pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool where T: Serialize + Deserialize, @@ -214,9 +210,8 @@ where /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. /// /// Mirrors Rust's `Iterator::find`. Defined in terms of [`UnconstrainedArray::filter`], which preserves order, so - /// the - /// first kept element is the first match. This is not short-circuiting — every element is tested even after the - /// match is found. + /// the first kept element is the first match. This is not short-circuiting — every element is tested even after + /// the match is found. pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option where T: Serialize + Deserialize, From 15a7e004235986da39d1064ee0f3787ce5b87ee4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 09:17:23 +0000 Subject: [PATCH 014/197] refactor(aztec-nr): pluralize ArrayOracles, EphemeralOracles, TransientOracles Each of these names a set of oracle operations -- the full backend an array needs (ArrayOracles) and the concrete ephemeral/transient bundles that implement it -- so the plural reads truer and matches the ephemeral_oracles/transient_oracles module names. The singular Oracle remains as the type parameter: one backend slot filled by one bundle. --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 16 ++-- .../aztec-nr/aztec/src/transient/mod.nr | 16 ++-- .../aztec/src/unconstrained_array/mod.nr | 21 ++-- .../src/unconstrained_array/test_helpers.nr | 96 +++++++++---------- 4 files changed, 71 insertions(+), 78 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 8dd2acaa35ae..1dc263e46726 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,6 +1,6 @@ use crate::oracle::ephemeral_oracles; use crate::protocol::traits::{Deserialize, Serialize}; -use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; +use crate::unconstrained_array::{ArrayOracles, UnconstrainedArray}; /// A dynamically sized array that exists only during a single contract call frame. /// @@ -23,13 +23,13 @@ use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; /// For data that must be shared across all frames of the same contract (private and utility) within one top-level PXE /// call (transaction simulation or utility call) but not persisted, use /// [`TransientArray`](crate::transient::TransientArray). -pub type EphemeralArray = UnconstrainedArray; +pub type EphemeralArray = UnconstrainedArray; /// Routes [`UnconstrainedArray`] operations to the ephemeral array oracles, scoping arrays to a single contract /// call frame. -pub struct EphemeralOracle {} +pub struct EphemeralOracles {} -impl ArrayOracle for EphemeralOracle { +impl ArrayOracles for EphemeralOracles { unconstrained fn len_oracle(slot: Field) -> u32 { ephemeral_oracles::len_oracle(slot) } @@ -64,7 +64,7 @@ pub unconstrained fn store(slot: Field, value: T) where T: Serialize, { - crate::unconstrained_array::store::(slot, value) + crate::unconstrained_array::store::(slot, value) } /// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. @@ -72,15 +72,15 @@ pub unconstrained fn load(slot: Field) -> Option where T: Deserialize, { - crate::unconstrained_array::load::(slot) + crate::unconstrained_array::load::(slot) } /// Deletes the value stored at `slot`. Does nothing if the slot is already empty. pub unconstrained fn delete(slot: Field) { - crate::unconstrained_array::delete::(slot) + crate::unconstrained_array::delete::(slot) } -#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracle })] +#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })] mod test { use crate::test::helpers::test_environment::TestEnvironment; use crate::unconstrained_array::test_helpers::SLOT; diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index b01b2381e90e..43d7ee2b1666 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -1,6 +1,6 @@ use crate::oracle::transient_oracles; use crate::protocol::traits::{Deserialize, Serialize}; -use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; +use crate::unconstrained_array::{ArrayOracles, UnconstrainedArray}; /// A dynamically sized array that lives for the duration of a single top-level PXE call. /// @@ -29,13 +29,13 @@ use crate::unconstrained_array::{ArrayOracle, UnconstrainedArray}; /// Use this to pass not-to-be-persisted data between a contract's own frames (private or utility) within one top-level /// PXE call. For data confined to a single call frame, prefer [`EphemeralArray`](crate::ephemeral::EphemeralArray). /// For data that must persist indefinitely, use [`CapsuleArray`](crate::capsules::CapsuleArray). -pub type TransientArray = UnconstrainedArray; +pub type TransientArray = UnconstrainedArray; /// Routes [`UnconstrainedArray`] operations to the transient array oracles, sharing arrays across all call frames /// of the same contract within one top-level PXE call. -pub struct TransientOracle {} +pub struct TransientOracles {} -impl ArrayOracle for TransientOracle { +impl ArrayOracles for TransientOracles { unconstrained fn len_oracle(slot: Field) -> u32 { transient_oracles::len_oracle(slot) } @@ -70,7 +70,7 @@ pub unconstrained fn store(slot: Field, value: T) where T: Serialize, { - crate::unconstrained_array::store::(slot, value) + crate::unconstrained_array::store::(slot, value) } /// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. @@ -78,15 +78,15 @@ pub unconstrained fn load(slot: Field) -> Option where T: Deserialize, { - crate::unconstrained_array::load::(slot) + crate::unconstrained_array::load::(slot) } /// Deletes the value stored at `slot`. Does nothing if the slot is already empty. pub unconstrained fn delete(slot: Field) { - crate::unconstrained_array::delete::(slot) + crate::unconstrained_array::delete::(slot) } -#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::transient::TransientOracle })] +#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::transient::TransientOracles })] mod test { use crate::test::helpers::test_environment::TestEnvironment; use crate::unconstrained_array::test_helpers::SLOT; diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index f9e4f61fa166..aff0208d2d5f 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -5,14 +5,7 @@ use crate::protocol::traits::{Deserialize, Serialize}; use crate::protocol::utils::{reader::Reader, writer::Writer}; /// Oracle backend for an [`UnconstrainedArray`]: the set of PXE-side operations that implement its storage. -/// -/// Each implementor routes these operations to a distinct family of oracles, and the oracle family determines the -/// array's lifetime and visibility (e.g. [`EphemeralArray`](crate::ephemeral::EphemeralArray) arrays live for one -/// contract call frame, while [`TransientArray`](crate::transient::TransientArray) arrays are shared across all frames -/// of the same contract within one top-level PXE call). Implementations are thin wrappers around `#[oracle]` -/// declarations, so method dispatch is resolved at compile time via monomorphization and each array type emits its own -/// foreign calls. -pub trait ArrayOracle { +pub trait ArrayOracles { /// Returns the number of elements in the array at `slot`. unconstrained fn len_oracle(slot: Field) -> u32; @@ -35,7 +28,7 @@ pub trait ArrayOracle { unconstrained fn clear_oracle(slot: Field); } -/// A dynamically sized array backed by PXE-side in-memory storage via an [`ArrayOracle`] backend. +/// A dynamically sized array backed by PXE-side in-memory storage via an [`ArrayOracles`] backend. /// /// Arrays are identified by a slot, and each logical operation (push, pop, get, etc.) is a single oracle call. The /// `Oracle` backend determines the array's lifetime and visibility; contracts should not use this type directly but @@ -48,7 +41,7 @@ pub struct UnconstrainedArray { impl UnconstrainedArray where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { /// Returns a handle to the array at the given slot, which may already contain data (e.g. populated by an oracle /// or by an earlier frame, depending on the backend's visibility). @@ -227,7 +220,7 @@ where impl UnconstrainedArray where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { /// Deserializes the whole array into a `T`. /// @@ -281,7 +274,7 @@ impl Deserialize for UnconstrainedArray { pub(crate) unconstrained fn store(slot: Field, value: T) where T: Serialize, - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let array: UnconstrainedArray = UnconstrainedArray::at(slot); array.clear().push(value); @@ -291,7 +284,7 @@ where pub(crate) unconstrained fn load(slot: Field) -> Option where T: Deserialize, - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let array: UnconstrainedArray = UnconstrainedArray::at(slot); if array.len() == 0 { @@ -304,7 +297,7 @@ where /// Deletes the value stored at `slot`. Does nothing if the slot is already empty. pub(crate) unconstrained fn delete(slot: Field) where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { Oracle::clear_oracle(slot) } diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr index 678126b56d2d..1ed1398884ce 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr @@ -1,7 +1,7 @@ //! Shared test suite for [`UnconstrainedArray`] backends. //! //! Every function in this module checks one behavior of the shared [`UnconstrainedArray`] API (or of the generic -//! `store` / `load` / `delete` kv helpers) and is generic over the [`ArrayOracle`] backend. +//! `store` / `load` / `delete` kv helpers) and is generic over the [`ArrayOracles`] backend. //! //! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. //! `transient::store` / `transient::load`) to cover the delegation wiring. @@ -9,14 +9,14 @@ use crate::protocol::traits::Serialize; use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; -use crate::unconstrained_array::{ArrayOracle, delete, load, store, UnconstrainedArray}; +use crate::unconstrained_array::{ArrayOracles, delete, load, store, UnconstrainedArray}; pub(crate) global SLOT: Field = 1230; pub(crate) global OTHER_SLOT: Field = 5670; pub(crate) unconstrained fn empty_array() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -27,7 +27,7 @@ where pub(crate) unconstrained fn should_fail_empty_array_read() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -38,7 +38,7 @@ where pub(crate) unconstrained fn should_fail_empty_array_pop() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -49,7 +49,7 @@ where pub(crate) unconstrained fn array_push() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -63,7 +63,7 @@ where pub(crate) unconstrained fn should_fail_read_past_len() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -76,7 +76,7 @@ where pub(crate) unconstrained fn array_pop() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -93,7 +93,7 @@ where pub(crate) unconstrained fn array_set() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -106,7 +106,7 @@ where pub(crate) unconstrained fn array_remove_last() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -119,7 +119,7 @@ where pub(crate) unconstrained fn array_remove_some() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -141,7 +141,7 @@ where pub(crate) unconstrained fn array_remove_all() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -161,7 +161,7 @@ where pub(crate) unconstrained fn for_each_called_with_all_elements() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -183,7 +183,7 @@ where pub(crate) unconstrained fn for_each_remove_some() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -207,7 +207,7 @@ where pub(crate) unconstrained fn for_each_remove_all() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -225,7 +225,7 @@ where pub(crate) unconstrained fn different_slots_are_isolated() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -247,7 +247,7 @@ where pub(crate) unconstrained fn works_with_multi_field_type() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -270,7 +270,7 @@ where pub(crate) unconstrained fn read_as_reconstructs_serialized_value() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -289,7 +289,7 @@ where pub(crate) unconstrained fn should_fail_read_as_rejects_length_mismatch() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -303,7 +303,7 @@ where pub(crate) unconstrained fn clear_returns_self() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -318,7 +318,7 @@ where pub(crate) unconstrained fn clear_wipes_previous_data() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -338,7 +338,7 @@ where pub(crate) unconstrained fn empty_allocates_distinct_slots() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -358,7 +358,7 @@ where pub(crate) unconstrained fn map_transforms_each_element() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -382,7 +382,7 @@ where pub(crate) unconstrained fn map_empty_source_gives_empty_dest() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -394,7 +394,7 @@ where pub(crate) unconstrained fn map_to_different_type() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -412,7 +412,7 @@ where pub(crate) unconstrained fn map_results_are_isolated() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -435,7 +435,7 @@ where pub(crate) unconstrained fn filter_keeps_matching_elements_in_order() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -461,7 +461,7 @@ where pub(crate) unconstrained fn filter_empty_source_gives_empty_dest() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -473,7 +473,7 @@ where pub(crate) unconstrained fn filter_none_match_gives_empty_dest() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -489,7 +489,7 @@ where pub(crate) unconstrained fn filter_works_with_multi_field_type() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -508,7 +508,7 @@ where pub(crate) unconstrained fn filter_results_are_isolated() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -534,7 +534,7 @@ where pub(crate) unconstrained fn any_is_true_when_an_element_matches() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -549,7 +549,7 @@ where pub(crate) unconstrained fn any_is_false_when_no_element_matches() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -564,7 +564,7 @@ where pub(crate) unconstrained fn any_on_empty_array_is_false() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -575,7 +575,7 @@ where pub(crate) unconstrained fn all_is_true_when_every_element_matches() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -590,7 +590,7 @@ where pub(crate) unconstrained fn all_is_false_when_one_element_fails() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -605,7 +605,7 @@ where pub(crate) unconstrained fn all_on_empty_array_is_true() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -616,7 +616,7 @@ where pub(crate) unconstrained fn find_returns_first_matching_element() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -635,7 +635,7 @@ where pub(crate) unconstrained fn find_returns_none_when_no_element_matches() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -650,7 +650,7 @@ where pub(crate) unconstrained fn find_on_empty_array_is_none() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -661,7 +661,7 @@ where pub(crate) unconstrained fn empty_at_wipes_previous_data() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -676,7 +676,7 @@ where pub(crate) unconstrained fn load_empty_returns_none() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -687,7 +687,7 @@ where pub(crate) unconstrained fn store_overwrites() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -699,7 +699,7 @@ where pub(crate) unconstrained fn delete_removes_value() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -712,7 +712,7 @@ where pub(crate) unconstrained fn delete_empty_is_noop() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -724,7 +724,7 @@ where pub(crate) unconstrained fn store_and_load_multi_field_type() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -736,7 +736,7 @@ where pub(crate) unconstrained fn stored_value_is_visible_as_a_length_one_array() where - Oracle: ArrayOracle, + Oracle: ArrayOracles, { let env = TestEnvironment::new(); env.utility_context(|_| { @@ -765,7 +765,7 @@ comptime fn should_fail_message(name: Quoted) -> Option { /// Generates the shared [`UnconstrainedArray`] test suite against the given backend. Apply to a test module, passing /// the -/// backend's oracle as a quoted path: `#[unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracle })]`. +/// backend's oracle as a quoted path: `#[unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })]`. pub(crate) comptime fn unconstrained_array_tests(_m: Module, oracle: Quoted) -> Quoted { let helpers = quote { crate::unconstrained_array::test_helpers }.as_module().unwrap(); let mut tests = quote {}; From aa90bebd4f51085297c935e8304c2cc921dc6ec4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 09:21:47 +0000 Subject: [PATCH 015/197] docs(aztec-nr): restore ArrayOracles trait doc paragraph The explanatory paragraph on the ArrayOracles trait was dropped during the previous pluralize commit (a formatter re-stage race on the shared working tree); the rename itself only swapped the identifier. Restore the paragraph verbatim. nargo fmt run directly keeps it intact. --- .../aztec-nr/aztec/src/unconstrained_array/mod.nr | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index aff0208d2d5f..aa1d5319686c 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -5,6 +5,13 @@ use crate::protocol::traits::{Deserialize, Serialize}; use crate::protocol::utils::{reader::Reader, writer::Writer}; /// Oracle backend for an [`UnconstrainedArray`]: the set of PXE-side operations that implement its storage. +/// +/// Each implementor routes these operations to a distinct family of oracles, and the oracle family determines the +/// array's lifetime and visibility (e.g. [`EphemeralArray`](crate::ephemeral::EphemeralArray) arrays live for one +/// contract call frame, while [`TransientArray`](crate::transient::TransientArray) arrays are shared across all frames +/// of the same contract within one top-level PXE call). Implementations are thin wrappers around `#[oracle]` +/// declarations, so method dispatch is resolved at compile time via monomorphization and each array type emits its own +/// foreign calls. pub trait ArrayOracles { /// Returns the number of elements in the array at `slot`. unconstrained fn len_oracle(slot: Field) -> u32; From e174bcee3559669c34b2834c6c3dd5ca3d426a75 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 09:52:01 +0000 Subject: [PATCH 016/197] properly document panics --- .../aztec/src/oracle/ephemeral_oracles.nr | 8 ++++---- .../aztec/src/oracle/transient_oracles.nr | 8 ++++---- .../aztec/src/unconstrained_array/mod.nr | 19 ++++++++++++------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/ephemeral_oracles.nr b/noir-projects/aztec-nr/aztec/src/oracle/ephemeral_oracles.nr index 9f2721fc53c8..cb053b599841 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/ephemeral_oracles.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/ephemeral_oracles.nr @@ -8,15 +8,15 @@ #[oracle(aztec_utl_pushEphemeral)] pub(crate) unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32 {} -/// Removes and returns the last serialized element from the ephemeral array. +/// Removes and returns the last serialized element from the ephemeral array. Panics if the array is empty. #[oracle(aztec_utl_popEphemeral)] pub(crate) unconstrained fn pop_oracle(slot: Field) -> [Field; N] {} -/// Returns the serialized element at the given index. +/// Returns the serialized element at the given index. Panics if `index` is out of bounds. #[oracle(aztec_utl_getEphemeral)] pub(crate) unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N] {} -/// Overwrites the serialized element at the given index. +/// Overwrites the serialized element at the given index. Panics if `index` is out of bounds. #[oracle(aztec_utl_setEphemeral)] pub(crate) unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]) {} @@ -24,7 +24,7 @@ pub(crate) unconstrained fn set_oracle(slot: Field, index: u32, valu #[oracle(aztec_utl_getEphemeralLen)] pub(crate) unconstrained fn len_oracle(slot: Field) -> u32 {} -/// Removes the element at the given index, shifting subsequent elements backward. +/// Removes the element at the given index, shifting subsequent elements backward. Panics if `index` is out of bounds. #[oracle(aztec_utl_removeEphemeral)] pub(crate) unconstrained fn remove_oracle(slot: Field, index: u32) {} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/transient_oracles.nr b/noir-projects/aztec-nr/aztec/src/oracle/transient_oracles.nr index c7db29c51b2d..9c76dca0e635 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/transient_oracles.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/transient_oracles.nr @@ -9,15 +9,15 @@ #[oracle(aztec_utl_pushTransient)] pub(crate) unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32 {} -/// Removes and returns the last serialized element from the transient array. +/// Removes and returns the last serialized element from the transient array. Panics if the array is empty. #[oracle(aztec_utl_popTransient)] pub(crate) unconstrained fn pop_oracle(slot: Field) -> [Field; N] {} -/// Returns the serialized element at the given index. +/// Returns the serialized element at the given index. Panics if `index` is out of bounds. #[oracle(aztec_utl_getTransient)] pub(crate) unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N] {} -/// Overwrites the serialized element at the given index. +/// Overwrites the serialized element at the given index. Panics if `index` is out of bounds. #[oracle(aztec_utl_setTransient)] pub(crate) unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]) {} @@ -25,7 +25,7 @@ pub(crate) unconstrained fn set_oracle(slot: Field, index: u32, valu #[oracle(aztec_utl_getTransientLen)] pub(crate) unconstrained fn len_oracle(slot: Field) -> u32 {} -/// Removes the element at the given index, shifting subsequent elements backward. +/// Removes the element at the given index, shifting subsequent elements backward. Panics if `index` is out of bounds. #[oracle(aztec_utl_removeTransient)] pub(crate) unconstrained fn remove_oracle(slot: Field, index: u32) {} diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index aa1d5319686c..fafceb17674b 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -19,16 +19,20 @@ pub trait ArrayOracles { /// Appends a serialized element to the array at `slot` and returns the new length. unconstrained fn push_oracle(slot: Field, values: [Field; N]) -> u32; - /// Removes and returns the last serialized element of the array at `slot`. + /// Removes and returns the last serialized element of the array at `slot`. Implementors must panic if the + /// array is empty. unconstrained fn pop_oracle(slot: Field) -> [Field; N]; - /// Returns the serialized element at the given index of the array at `slot`. + /// Returns the serialized element at the given index of the array at `slot`. Implementors must panic if `index` + /// is out of bounds. unconstrained fn get_oracle(slot: Field, index: u32) -> [Field; N]; - /// Overwrites the serialized element at the given index of the array at `slot`. + /// Overwrites the serialized element at the given index of the array at `slot`. Implementors must panic if + /// `index` is out of bounds. unconstrained fn set_oracle(slot: Field, index: u32, values: [Field; N]); /// Removes the element at the given index of the array at `slot`, shifting subsequent elements backward. + /// Implementors must panic if `index` is out of bounds. unconstrained fn remove_oracle(slot: Field, index: u32); /// Removes all elements from the array at `slot`. @@ -87,7 +91,7 @@ where let _ = Oracle::push_oracle(self.slot, serialized); } - /// Removes and returns the last element. Panics if the array is empty. + /// Removes and returns the last element. Implementors are required to panic if the array is empty. pub unconstrained fn pop(self) -> T where T: Deserialize, @@ -96,7 +100,7 @@ where Deserialize::deserialize(serialized) } - /// Retrieves the value stored at `index`. Panics if the index is out of bounds. + /// Retrieves the value stored at `index`. Implementors are required to panic if the index is out of bounds. pub unconstrained fn get(self, index: u32) -> T where T: Deserialize, @@ -105,7 +109,7 @@ where Deserialize::deserialize(serialized) } - /// Overwrites the value stored at `index`. Panics if the index is out of bounds. + /// Overwrites the value stored at `index`. Implementors are required to panic if the index is out of bounds. pub unconstrained fn set(self, index: u32, value: T) where T: Serialize, @@ -114,7 +118,8 @@ where Oracle::set_oracle(self.slot, index, serialized); } - /// Removes the element at `index`, shifting subsequent elements backward. Panics if out of bounds. + /// Removes the element at `index`, shifting subsequent elements backward. Implementors are required to panic if + /// the index is out of bounds. pub unconstrained fn remove(self, index: u32) { Oracle::remove_oracle(self.slot, index); } From 950a4a2ed435418340dda3741252116a990af066 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 10:21:53 +0000 Subject: [PATCH 017/197] empty does not need to clear --- noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index fafceb17674b..f05f03ab01af 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -74,7 +74,7 @@ where /// the same backend with overwhelming probability. Prefer [`UnconstrainedArray::empty_at`] when the slot must be a /// known value (e.g. one shared with an oracle or another call frame). pub unconstrained fn empty() -> Self { - Self::empty_at(random()) + Self::at(random()) } /// Returns the number of elements stored in the array. @@ -125,8 +125,6 @@ where } /// Removes all elements from the array and returns self for chaining. - /// - /// Prefer [`UnconstrainedArray::empty_at`] when the intent is to start with a fresh array. pub unconstrained fn clear(self) -> Self { Oracle::clear_oracle(self.slot); self From c85569f8d9ea3f5370339d179572a4ca9f1fd929 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 11:19:03 +0000 Subject: [PATCH 018/197] make find short-circuit --- .../aztec/src/unconstrained_array/mod.nr | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index f05f03ab01af..77e202e26efd 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -211,20 +211,21 @@ where } /// Returns the first element satisfying the predicate `f`, or `Option::none` if none do. - /// - /// Mirrors Rust's `Iterator::find`. Defined in terms of [`UnconstrainedArray::filter`], which preserves order, so - /// the first kept element is the first match. This is not short-circuiting — every element is tested even after - /// the match is found. pub unconstrained fn find(self, f: unconstrained fn[Env](T) -> bool) -> Option where - T: Serialize + Deserialize, + T: Deserialize, { - let matches = self.filter(f); - if matches.len() != 0 { - Option::some(matches.get(0)) - } else { - Option::none() + let n = self.len(); + let mut result: Option = Option::none(); + let mut i = 0; + while (i < n) & result.is_none() { + let value = self.get(i); + if f(value) { + result = Option::some(value); + } + i += 1; } + result } } From 0ca93c66ef43362b370dbe7c940b42d925120650 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 11:23:59 +0000 Subject: [PATCH 019/197] remove read_as for now --- .../aztec/src/unconstrained_array/mod.nr | 22 ------------ .../src/unconstrained_array/test_helpers.nr | 35 ------------------- 2 files changed, 57 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index 77e202e26efd..c0d53a12f4de 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -229,28 +229,6 @@ where } } -impl UnconstrainedArray -where - Oracle: ArrayOracles, -{ - /// Deserializes the whole array into a `T`. - /// - /// Asserts the array holds exactly `::N` fields, then reconstructs a `T` from them. This is the - /// read-back counterpart to pushing a value's serialized fields onto the array, and is defined only on arrays of - /// `Field` because deserialization reconstructs a type from raw fields. - pub unconstrained fn read_as(self) -> T - where - T: Deserialize, - { - assert_eq(self.len(), ::N, "UnconstrainedArray length mismatch for read_as"); - let mut fields: [Field; ::N] = [0; ::N]; - for i in 0..::N { - fields[i] = self.get(i); - } - Deserialize::deserialize(fields) - } -} - /// Serializes an `UnconstrainedArray` as its slot identifier, allowing oracle function signatures to use array types /// instead of opaque `Field` slots. impl Serialize for UnconstrainedArray { diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr index 1ed1398884ce..dd87da5d2af2 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr @@ -268,39 +268,6 @@ where }); } -pub(crate) unconstrained fn read_as_reconstructs_serialized_value() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); - - let value = MockStruct::new(5, 6); - let serialized = value.serialize(); - for i in 0..serialized.len() { - array.push(serialized[i]); - } - - let reconstructed: MockStruct = array.read_as(); - assert_eq(reconstructed, value); - }); -} - -pub(crate) unconstrained fn should_fail_read_as_rejects_length_mismatch() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); - // MockStruct deserializes from 2 fields, so a single field is too short. - array.push(1); - - let _: MockStruct = array.read_as(); - }); -} - pub(crate) unconstrained fn clear_returns_self() where Oracle: ArrayOracles, @@ -756,8 +723,6 @@ comptime fn should_fail_message(name: Quoted) -> Option { Option::some(quote { "is empty" }) } else if name == quote { should_fail_read_past_len } { Option::some(quote { "out of bounds" }) - } else if name == quote { should_fail_read_as_rejects_length_mismatch } { - Option::some(quote { "length mismatch" }) } else { Option::none() } From 5fac01ba70fd6f8e318490b1a12f31a913684344 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 11:57:56 +0000 Subject: [PATCH 020/197] move Serialize/Deserialize traits from UnconstrainedArray to EphemeralArray --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 28 ++++++++++++++++++ .../aztec/src/unconstrained_array/mod.nr | 29 ------------------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 1dc263e46726..80207dab8aa7 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -1,5 +1,6 @@ use crate::oracle::ephemeral_oracles; use crate::protocol::traits::{Deserialize, Serialize}; +use crate::protocol::utils::{reader::Reader, writer::Writer}; use crate::unconstrained_array::{ArrayOracles, UnconstrainedArray}; /// A dynamically sized array that exists only during a single contract call frame. @@ -59,6 +60,33 @@ impl ArrayOracles for EphemeralOracles { } } +/// Serializes an `EphemeralArray` as its slot, allowing oracle function signatures to use ephemeral array types +/// instead of opaque `Field` slots. +impl Serialize for UnconstrainedArray { + let N: u32 = 1; + + fn serialize(self) -> [Field; Self::N] { + [self.slot] + } + + fn stream_serialize(self, writer: &mut Writer) { + writer.write(self.slot); + } +} + +/// Deserializes a single Field into an `EphemeralArray` handle, treating the field value as the slot identifier. +impl Deserialize for UnconstrainedArray { + let N: u32 = 1; + + fn deserialize(fields: [Field; Self::N]) -> Self { + Self { slot: fields[0] } + } + + fn stream_deserialize(reader: &mut Reader) -> Self { + Self { slot: reader.read() } + } +} + /// Stores a single value at `slot`, overwriting any value previously stored there. pub unconstrained fn store(slot: Field, value: T) where diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index c0d53a12f4de..7f7c32cb6368 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -2,7 +2,6 @@ pub(crate) mod test_helpers; use crate::oracle::random::random; use crate::protocol::traits::{Deserialize, Serialize}; -use crate::protocol::utils::{reader::Reader, writer::Writer}; /// Oracle backend for an [`UnconstrainedArray`]: the set of PXE-side operations that implement its storage. /// @@ -229,34 +228,6 @@ where } } -/// Serializes an `UnconstrainedArray` as its slot identifier, allowing oracle function signatures to use array types -/// instead of opaque `Field` slots. -impl Serialize for UnconstrainedArray { - let N: u32 = 1; - - fn serialize(self) -> [Field; Self::N] { - [self.slot] - } - - fn stream_serialize(self, writer: &mut Writer) { - writer.write(self.slot); - } -} - -/// Deserializes a single Field into an `UnconstrainedArray` handle, treating the field value as the slot identifier. -/// This is the inverse of [`Serialize`]. -impl Deserialize for UnconstrainedArray { - let N: u32 = 1; - - fn deserialize(fields: [Field; Self::N]) -> Self { - Self { slot: fields[0] } - } - - fn stream_deserialize(reader: &mut Reader) -> Self { - Self { slot: reader.read() } - } -} - /// Stores a single value at `slot`, overwriting any value previously stored there. /// /// The value is stored as a length-one array at the slot: read it back with [`load`] and remove it with [`delete`]. From f7cbb0175b0b878b1536cb5f6268023949953c9c Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 12:50:20 +0000 Subject: [PATCH 021/197] refactor kv functions --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 38 +---- noir-projects/aztec-nr/aztec/src/lib.nr | 1 + .../aztec-nr/aztec/src/transient/mod.nr | 150 ++++++++++++++---- .../aztec/src/unconstrained_array/mod.nr | 34 ---- .../src/unconstrained_array/test_helpers.nr | 84 +--------- 5 files changed, 126 insertions(+), 181 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 80207dab8aa7..87ce7cda2d39 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -26,8 +26,6 @@ use crate::unconstrained_array::{ArrayOracles, UnconstrainedArray}; /// [`TransientArray`](crate::transient::TransientArray). pub type EphemeralArray = UnconstrainedArray; -/// Routes [`UnconstrainedArray`] operations to the ephemeral array oracles, scoping arrays to a single contract -/// call frame. pub struct EphemeralOracles {} impl ArrayOracles for EphemeralOracles { @@ -87,39 +85,5 @@ impl Deserialize for UnconstrainedArray { } } -/// Stores a single value at `slot`, overwriting any value previously stored there. -pub unconstrained fn store(slot: Field, value: T) -where - T: Serialize, -{ - crate::unconstrained_array::store::(slot, value) -} - -/// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. -pub unconstrained fn load(slot: Field) -> Option -where - T: Deserialize, -{ - crate::unconstrained_array::load::(slot) -} - -/// Deletes the value stored at `slot`. Does nothing if the slot is already empty. -pub unconstrained fn delete(slot: Field) { - crate::unconstrained_array::delete::(slot) -} - #[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })] -mod test { - use crate::test::helpers::test_environment::TestEnvironment; - use crate::unconstrained_array::test_helpers::SLOT; - use super::{load, store}; - - #[test] - unconstrained fn store_and_load() { - let env = TestEnvironment::new(); - env.utility_context(|_| { - store(SLOT, 42); - assert_eq(load(SLOT), Option::some(42)); - }); - } -} +mod test {} diff --git a/noir-projects/aztec-nr/aztec/src/lib.nr b/noir-projects/aztec-nr/aztec/src/lib.nr index 387f820d22da..1a164ce8a1e2 100644 --- a/noir-projects/aztec-nr/aztec/src/lib.nr +++ b/noir-projects/aztec-nr/aztec/src/lib.nr @@ -40,6 +40,7 @@ pub mod oracle; pub mod state_vars; pub mod capsules; pub mod unconstrained_array; +pub mod unconstrained_value; pub mod ephemeral; pub mod transient; pub mod event; diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 43d7ee2b1666..57cb24091f4e 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -31,8 +31,53 @@ use crate::unconstrained_array::{ArrayOracles, UnconstrainedArray}; /// For data that must persist indefinitely, use [`CapsuleArray`](crate::capsules::CapsuleArray). pub type TransientArray = UnconstrainedArray; -/// Routes [`UnconstrainedArray`] operations to the transient array oracles, sharing arrays across all call frames -/// of the same contract within one top-level PXE call. +/// A single value that lives for the duration of a single top-level PXE call. +/// +/// Shared across all call frames of the same contract (private and utility alike) within one top-level PXE call. +/// A contract can only ever access its own transient values; other contracts called within the same top-level PXE call +/// cannot see them. +/// +/// Values share the slot space with [`TransientArray`]s: a value and an array at the same slot alias each other, so +/// use distinct slots. +pub struct TransientValue { + slot: Field, +} + +impl TransientValue { + /// Returns a handle to the value at the given slot, which may already hold data stored by an earlier frame. + pub unconstrained fn at(slot: Field) -> Self { + Self { slot } + } + + /// Stores a value at the slot, overwriting any value previously stored there. + pub unconstrained fn store(self, value: T) + where + T: Serialize, + { + transient_oracles::clear_oracle(self.slot); + let _ = transient_oracles::push_oracle(self.slot, value.serialize()); + } + + /// Returns the value previously stored at the slot with [`TransientValue::store`], or `Option::none()` if the + /// slot holds no value. + pub unconstrained fn read(self) -> Option + where + T: Deserialize, + { + if transient_oracles::len_oracle(self.slot) == 0 { + Option::none() + } else { + let serialized = transient_oracles::get_oracle(self.slot, 0); + Option::some(Deserialize::deserialize(serialized)) + } + } + + /// Deletes the stored value. Does nothing if the slot holds no value. + pub unconstrained fn delete(self) { + transient_oracles::clear_oracle(self.slot) + } +} + pub struct TransientOracles {} impl ArrayOracles for TransientOracles { @@ -65,39 +110,88 @@ impl ArrayOracles for TransientOracles { } } -/// Stores a single value at `slot`, overwriting any value previously stored there. -pub unconstrained fn store(slot: Field, value: T) -where - T: Serialize, -{ - crate::unconstrained_array::store::(slot, value) -} +#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::transient::TransientOracles })] +mod test {} -/// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. -pub unconstrained fn load(slot: Field) -> Option -where - T: Deserialize, -{ - crate::unconstrained_array::load::(slot) -} +mod value_test { + use crate::test::helpers::test_environment::TestEnvironment; + use crate::test::mocks::MockStruct; + use super::{TransientArray, TransientValue}; -/// Deletes the value stored at `slot`. Does nothing if the slot is already empty. -pub unconstrained fn delete(slot: Field) { - crate::unconstrained_array::delete::(slot) -} + global SLOT: Field = 9870; -#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::transient::TransientOracles })] -mod test { - use crate::test::helpers::test_environment::TestEnvironment; - use crate::unconstrained_array::test_helpers::SLOT; - use super::{load, store}; + #[test] + unconstrained fn read_empty_returns_none() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: TransientValue = TransientValue::at(SLOT); + assert_eq(value.read(), Option::none()); + }); + } + + #[test] + unconstrained fn store_and_read_roundtrips() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: TransientValue = TransientValue::at(SLOT); + value.store(42); + assert_eq(value.read(), Option::some(42)); + }); + } + + #[test] + unconstrained fn store_overwrites() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: TransientValue = TransientValue::at(SLOT); + value.store(1); + value.store(2); + assert_eq(value.read(), Option::some(2)); + }); + } + + #[test] + unconstrained fn delete_removes_value() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: TransientValue = TransientValue::at(SLOT); + value.store(42); + value.delete(); + assert_eq(value.read(), Option::none()); + }); + } + + #[test] + unconstrained fn delete_empty_is_noop() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: TransientValue = TransientValue::at(SLOT); + value.delete(); + assert_eq(value.read(), Option::none()); + }); + } #[test] - unconstrained fn store_and_load() { + unconstrained fn works_with_multi_field_type() { let env = TestEnvironment::new(); env.utility_context(|_| { - store(SLOT, 42); - assert_eq(load(SLOT), Option::some(42)); + let value: TransientValue = TransientValue::at(SLOT); + let stored = MockStruct::new(5, 6); + value.store(stored); + assert_eq(value.read(), Option::some(stored)); + }); + } + + #[test] + unconstrained fn stored_value_is_visible_as_a_length_one_array() { + let env = TestEnvironment::new(); + env.utility_context(|_| { + let value: TransientValue = TransientValue::at(SLOT); + value.store(42); + + let array: TransientArray = TransientArray::at(SLOT); + assert_eq(array.len(), 1); + assert_eq(array.get(0), 42); }); } } diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index 7f7c32cb6368..af5da1e47893 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -227,37 +227,3 @@ where result } } - -/// Stores a single value at `slot`, overwriting any value previously stored there. -/// -/// The value is stored as a length-one array at the slot: read it back with [`load`] and remove it with [`delete`]. -pub(crate) unconstrained fn store(slot: Field, value: T) -where - T: Serialize, - Oracle: ArrayOracles, -{ - let array: UnconstrainedArray = UnconstrainedArray::at(slot); - array.clear().push(value); -} - -/// Returns the value previously stored at `slot` with [`store`], or `Option::none()` if the slot holds no value. -pub(crate) unconstrained fn load(slot: Field) -> Option -where - T: Deserialize, - Oracle: ArrayOracles, -{ - let array: UnconstrainedArray = UnconstrainedArray::at(slot); - if array.len() == 0 { - Option::none() - } else { - Option::some(array.get(0)) - } -} - -/// Deletes the value stored at `slot`. Does nothing if the slot is already empty. -pub(crate) unconstrained fn delete(slot: Field) -where - Oracle: ArrayOracles, -{ - Oracle::clear_oracle(slot) -} diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr index dd87da5d2af2..680e26178fc7 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr @@ -1,15 +1,8 @@ //! Shared test suite for [`UnconstrainedArray`] backends. -//! -//! Every function in this module checks one behavior of the shared [`UnconstrainedArray`] API (or of the generic -//! `store` / `load` / `delete` kv helpers) and is generic over the [`ArrayOracles`] backend. -//! -//! Each backend module additionally keeps a hand-written smoke test routing through its own public helpers (e.g. -//! `transient::store` / `transient::load`) to cover the delegation wiring. - -use crate::protocol::traits::Serialize; + use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; -use crate::unconstrained_array::{ArrayOracles, delete, load, store, UnconstrainedArray}; +use crate::unconstrained_array::{ArrayOracles, UnconstrainedArray}; pub(crate) global SLOT: Field = 1230; pub(crate) global OTHER_SLOT: Field = 5670; @@ -641,79 +634,6 @@ where }); } -pub(crate) unconstrained fn load_empty_returns_none() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - let value: Option = load::(SLOT); - assert_eq(value, Option::none()); - }); -} - -pub(crate) unconstrained fn store_overwrites() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - store::(SLOT, 1); - store::(SLOT, 2); - assert_eq(load::(SLOT), Option::some(2)); - }); -} - -pub(crate) unconstrained fn delete_removes_value() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - store::(SLOT, 42); - delete::(SLOT); - let value: Option = load::(SLOT); - assert_eq(value, Option::none()); - }); -} - -pub(crate) unconstrained fn delete_empty_is_noop() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - delete::(SLOT); - let value: Option = load::(SLOT); - assert_eq(value, Option::none()); - }); -} - -pub(crate) unconstrained fn store_and_load_multi_field_type() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - let value = MockStruct::new(5, 6); - store::(SLOT, value); - assert_eq(load::(SLOT), Option::some(value)); - }); -} - -pub(crate) unconstrained fn stored_value_is_visible_as_a_length_one_array() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - store::(SLOT, 42); - let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); - assert_eq(array.len(), 1); - assert_eq(array.get(0), 42); - }); -} - /// Returns the `should_fail_with` message for checks that are expected to fail, or `Option::none()` for checks that /// are expected to pass. comptime fn should_fail_message(name: Quoted) -> Option { From 1523392085e7fbe8c6b3a06e7884ea52c85eb907 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 12:53:10 +0000 Subject: [PATCH 022/197] commit missing file --- noir-projects/aztec-nr/aztec/src/lib.nr | 1 - 1 file changed, 1 deletion(-) diff --git a/noir-projects/aztec-nr/aztec/src/lib.nr b/noir-projects/aztec-nr/aztec/src/lib.nr index 1a164ce8a1e2..387f820d22da 100644 --- a/noir-projects/aztec-nr/aztec/src/lib.nr +++ b/noir-projects/aztec-nr/aztec/src/lib.nr @@ -40,7 +40,6 @@ pub mod oracle; pub mod state_vars; pub mod capsules; pub mod unconstrained_array; -pub mod unconstrained_value; pub mod ephemeral; pub mod transient; pub mod event; From 788bd2f83ed69477002ab3f34c5a835cd53f564f Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 13:12:07 +0000 Subject: [PATCH 023/197] refactor test helpers --- .../aztec-nr/aztec/src/ephemeral/mod.nr | 2 +- .../aztec-nr/aztec/src/transient/mod.nr | 2 +- .../aztec/src/unconstrained_array/mod.nr | 1 + .../src/unconstrained_array/test_helpers.nr | 53 ++++--------------- 4 files changed, 14 insertions(+), 44 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr index 87ce7cda2d39..8a666c3366da 100644 --- a/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/ephemeral/mod.nr @@ -85,5 +85,5 @@ impl Deserialize for UnconstrainedArray { } } -#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })] +#[crate::unconstrained_array::test_suite::unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })] mod test {} diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 57cb24091f4e..688e279e7c03 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -110,7 +110,7 @@ impl ArrayOracles for TransientOracles { } } -#[crate::unconstrained_array::test_helpers::unconstrained_array_tests(quote { crate::transient::TransientOracles })] +#[crate::unconstrained_array::test_suite::unconstrained_array_tests(quote { crate::transient::TransientOracles })] mod test {} mod value_test { diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index af5da1e47893..622688c76b82 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -1,4 +1,5 @@ pub(crate) mod test_helpers; +pub(crate) mod test_suite; use crate::oracle::random::random; use crate::protocol::traits::{Deserialize, Serialize}; diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr index 680e26178fc7..cc7c96e753fd 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr @@ -1,4 +1,12 @@ //! Shared test suite for [`UnconstrainedArray`] backends. +//! +//! Every function in this module must be an unconstrained test helper, generic over the [`ArrayOracles`] backend. +//! The [`unconstrained_array_tests`](crate::unconstrained_array::test_suite::unconstrained_array_tests) macro turns +//! each helper into a `#[test]` for every backend. +//! +//! To add a test, write a new unconstrained helper here. If it is expected to fail, mark it with +//! [`should_fail_test`](crate::unconstrained_array::test_suite::should_fail_test) and the expected message; otherwise +//! the generated test expects it to pass. use crate::test::helpers::test_environment::TestEnvironment; use crate::test::mocks::MockStruct; @@ -18,6 +26,7 @@ where }); } +#[crate::unconstrained_array::test_suite::should_fail_test(quote { "out of bounds" })] pub(crate) unconstrained fn should_fail_empty_array_read() where Oracle: ArrayOracles, @@ -29,6 +38,7 @@ where }); } +#[crate::unconstrained_array::test_suite::should_fail_test(quote { "is empty" })] pub(crate) unconstrained fn should_fail_empty_array_pop() where Oracle: ArrayOracles, @@ -54,6 +64,7 @@ where }); } +#[crate::unconstrained_array::test_suite::should_fail_test(quote { "out of bounds" })] pub(crate) unconstrained fn should_fail_read_past_len() where Oracle: ArrayOracles, @@ -633,45 +644,3 @@ where assert_eq(fresh.len(), 0); }); } - -/// Returns the `should_fail_with` message for checks that are expected to fail, or `Option::none()` for checks that -/// are expected to pass. -comptime fn should_fail_message(name: Quoted) -> Option { - if name == quote { should_fail_empty_array_read } { - Option::some(quote { "out of bounds" }) - } else if name == quote { should_fail_empty_array_pop } { - Option::some(quote { "is empty" }) - } else if name == quote { should_fail_read_past_len } { - Option::some(quote { "out of bounds" }) - } else { - Option::none() - } -} - -/// Generates the shared [`UnconstrainedArray`] test suite against the given backend. Apply to a test module, passing -/// the -/// backend's oracle as a quoted path: `#[unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })]`. -pub(crate) comptime fn unconstrained_array_tests(_m: Module, oracle: Quoted) -> Quoted { - let helpers = quote { crate::unconstrained_array::test_helpers }.as_module().unwrap(); - let mut tests = quote {}; - for f in helpers.functions() { - if f.is_unconstrained() { - let name = f.name(); - let fail = should_fail_message(name); - let attr = if fail.is_some() { - let msg = fail.unwrap(); - quote { #[test(should_fail_with = $msg)] } - } else { - quote { #[test] } - }; - tests = quote { - $tests - $attr - unconstrained fn $name() { - crate::unconstrained_array::test_helpers::$name::<$oracle>(); - } - }; - } - } - tests -} From 51d06cb361ff1985f31e83da38674264efacb7f8 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 13:15:51 +0000 Subject: [PATCH 024/197] another one --- .../src/unconstrained_array/test_suite.nr | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 noir-projects/aztec-nr/aztec/src/unconstrained_array/test_suite.nr diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_suite.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_suite.nr new file mode 100644 index 000000000000..b4f1eea93f87 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_suite.nr @@ -0,0 +1,46 @@ +//! Generates a shared [`UnconstrainedArray`](crate::unconstrained_array::UnconstrainedArray) +//! test suite from the helpers in [`test_helpers`](crate::unconstrained_array::test_helpers). + +use crate::utils::cmap::CHashMap; + +/// Maps test helpers marked with [`should_fail_test`] to their expected failure message. +pub(crate) comptime mut global EXPECTED_FAILURES: CHashMap = CHashMap::new(); + +/// Marks a test helper as expected to fail with the given message, passed as a quoted string literal: +/// `#[should_fail_test(quote { "out of bounds" })]`. The tests generated from the helper get +/// `#[test(should_fail_with = ...)]` instead of plain `#[test]`. +pub(crate) comptime fn should_fail_test(f: FunctionDefinition, message: Quoted) { + EXPECTED_FAILURES.insert(f, message); +} + +/// Generates a shared [`UnconstrainedArray`](crate::unconstrained_array::UnconstrainedArray) test suite against the +/// given backend. Apply to a test module, passing the backend's oracle as a quoted path: +/// `#[unconstrained_array_tests(quote { crate::ephemeral::EphemeralOracles })]`. +pub(crate) comptime fn unconstrained_array_tests(_m: Module, oracle: Quoted) -> Quoted { + let helpers = quote { crate::unconstrained_array::test_helpers }.as_module().unwrap(); + let mut tests = quote {}; + for f in helpers.functions() { + let name = f.name(); + if f.is_unconstrained() { + let fail = EXPECTED_FAILURES.get(f); + let attr = if fail.is_some() { + let msg = fail.unwrap(); + quote { #[test(should_fail_with = $msg)] } + } else { + quote { #[test] } + }; + tests = quote { + $tests + $attr + unconstrained fn $name() { + crate::unconstrained_array::test_helpers::$name::<$oracle>(); + } + }; + } else { + panic( + f"unexpected non-unconstrained function `{name}` in test_helpers: every test helper must be unconstrained", + ) + } + } + tests +} From 261faceea0f46931bc911853ae81051152e32672 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 13:31:34 +0000 Subject: [PATCH 025/197] tighten access --- noir-projects/aztec-nr/aztec/src/oracle/mod.nr | 4 ++-- noir-projects/aztec-nr/aztec/src/transient/mod.nr | 2 +- .../aztec-nr/aztec/src/unconstrained_array/mod.nr | 8 +++----- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 3ff645c72d56..6d677346a72f 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -7,8 +7,8 @@ pub mod block_header; pub mod call_private_function; pub mod call_utility_function; pub mod capsules; -pub mod ephemeral_oracles; -pub mod transient_oracles; +pub(crate) mod ephemeral_oracles; +pub(crate) mod transient_oracles; pub mod contract_sync; pub mod public_call; pub mod tx_phase; diff --git a/noir-projects/aztec-nr/aztec/src/transient/mod.nr b/noir-projects/aztec-nr/aztec/src/transient/mod.nr index 688e279e7c03..569f0731e252 100644 --- a/noir-projects/aztec-nr/aztec/src/transient/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/transient/mod.nr @@ -49,7 +49,7 @@ impl TransientValue { Self { slot } } - /// Stores a value at the slot, overwriting any value previously stored there. + /// Stores a value at the given slot. pub unconstrained fn store(self, value: T) where T: Serialize, diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index 622688c76b82..01f0d9e88014 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -9,10 +9,8 @@ use crate::protocol::traits::{Deserialize, Serialize}; /// Each implementor routes these operations to a distinct family of oracles, and the oracle family determines the /// array's lifetime and visibility (e.g. [`EphemeralArray`](crate::ephemeral::EphemeralArray) arrays live for one /// contract call frame, while [`TransientArray`](crate::transient::TransientArray) arrays are shared across all frames -/// of the same contract within one top-level PXE call). Implementations are thin wrappers around `#[oracle]` -/// declarations, so method dispatch is resolved at compile time via monomorphization and each array type emits its own -/// foreign calls. -pub trait ArrayOracles { +/// of the same contract within one top-level PXE call). +pub(crate) trait ArrayOracles { /// Returns the number of elements in the array at `slot`. unconstrained fn len_oracle(slot: Field) -> u32; @@ -47,7 +45,7 @@ pub trait ArrayOracles { /// frame) or [`TransientArray`](crate::transient::TransientArray) (shared across all frames of the same contract /// within one top-level PXE call). pub struct UnconstrainedArray { - pub slot: Field, + pub(crate) slot: Field, } impl UnconstrainedArray From 8e9e6eea29a0a68d23d8d471bda4cb76fe9cf6b1 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 13:36:15 +0000 Subject: [PATCH 026/197] remove excess comments --- .../aztec/src/unconstrained_array/mod.nr | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index 01f0d9e88014..139d80bb42da 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -147,10 +147,6 @@ where } /// Applies `f` to every element and collects the results into a fresh array. - /// - /// Reads each element in order, transforms it with `f`, and pushes the result onto a new array at a freshly - /// allocated slot (see [`UnconstrainedArray::empty`]). The source array is left unchanged, and the result is - /// isolated from it, so `map` can be chained. pub unconstrained fn map(self, f: unconstrained fn[Env](T) -> U) -> UnconstrainedArray where T: Deserialize, @@ -165,10 +161,6 @@ where } /// Collects every element satisfying the predicate `f` into a fresh array. - /// - /// Reads each element in order, keeps those for which `f` returns `true`, and pushes them onto a new array at a - /// freshly allocated slot (see [`UnconstrainedArray::empty`]). Relative order is preserved. The source array is - /// left unchanged, and the result is isolated from it, so `filter` can be chained. pub unconstrained fn filter(self, f: unconstrained fn[Env](T) -> bool) -> Self where T: Serialize + Deserialize, @@ -185,10 +177,6 @@ where } /// Returns `true` if at least one element satisfies the predicate `f`. - /// - /// Matches the `any` combinator on Noir's [`array`](std::array), slice, and `BoundedVec` collections. Defined in - /// terms of [`UnconstrainedArray::filter`]: it keeps the matching elements and checks whether any survived. This is - /// not short-circuiting — every element is tested even after the first match. pub unconstrained fn any(self, f: unconstrained fn[Env](T) -> bool) -> bool where T: Serialize + Deserialize, @@ -197,10 +185,6 @@ where } /// Returns `true` if every element satisfies the predicate `f` (vacuously `true` for an empty array). - /// - /// Matches the `all` combinator on Noir's [`array`](std::array) and slice collections. Defined in terms of - /// [`UnconstrainedArray::filter`]: every element matches exactly when filtering keeps all of them. This is not - /// short-circuiting — every element is tested even after the first failure. pub unconstrained fn all(self, f: unconstrained fn[Env](T) -> bool) -> bool where T: Serialize + Deserialize, From 3275759541e7ba1c20919851690aedb6c554e118 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 14:35:27 +0000 Subject: [PATCH 027/197] fix(aztec-nr): iterate for_each forward in UnconstrainedArray and CapsuleArray for_each iterated in reverse so the callback could remove the current element without shifting unvisited ones, but nothing in production uses that capability and backward iteration is surprising both relative to general intuition and to the sibling methods (map/filter/find), which all read elements in order. Iterate forward instead, document that structural mutation from inside the callback is unsupported, and drop the tests that existed solely to exercise remove-during-iteration. The order test now asserts the exact forward visit order. Linear: F-729 --- .../aztec-nr/aztec/src/capsules/mod.nr | 109 ++---------------- .../aztec/src/unconstrained_array/mod.nr | 13 +-- .../src/unconstrained_array/test_helpers.nr | 50 +------- 3 files changed, 20 insertions(+), 152 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/capsules/mod.nr b/noir-projects/aztec-nr/aztec/src/capsules/mod.nr index 7cb114dea17e..e790bd304fa5 100644 --- a/noir-projects/aztec-nr/aztec/src/capsules/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/capsules/mod.nr @@ -103,40 +103,17 @@ impl CapsuleArray { /// Calls a function on each element of the array. /// - /// The function `f` is called once with each array value and its corresponding index. The order in which values - /// are processed is arbitrary. + /// The function `f` is called once with each array value and its corresponding index, in order (from the first + /// element to the last). /// - /// ## Array Mutation - /// - /// It is safe to delete the current element (and only the current element) from inside the callback via `remove`: - /// ```noir - /// array.for_each(|index, value| { - /// if some_condition(value) { - /// array.remove(index); // safe only for this index - /// } - /// } - /// ``` - /// - /// If all elements in the array need to iterated over and then removed, then using `for_each` results in optimal - /// efficiency. - /// - /// It is **not** safe to push new elements into the array from inside the callback. + /// Structurally mutating the array from inside the callback (e.g. via `push` or `remove`) is **not** supported: + /// it can cause elements to be skipped, visited more than once, or read out of bounds. pub unconstrained fn for_each(self, f: unconstrained fn[Env](u32, T) -> ()) where T: Deserialize, { - // Iterating over all elements is simple, but we want to do it in such a way that a) deleting the current - // element is safe to do, and b) deleting *all* elements is optimally efficient. This is because CapsuleArrays - // are typically used to hold pending tasks, so iterating them while clearing completed tasks (sometimes - // unconditionally, resulting in a full clear) is a very common access pattern. - // - // The way we achieve this is by iterating backwards: each element can always be deleted since it won't change - // any preceding (lower) indices, and if every element is deleted then every element will (in turn) be the last - // element. This results in an optimal full clear since `remove` will be able to skip the `capsules::copy` call - // to shift any elements past the deleted one (because there will be none). - let mut i = self.len(); - while i > 0 { - i -= 1; + let n = self.len(); + for i in 0..n { f(i, self.get(i)); } } @@ -271,7 +248,7 @@ mod test { } #[test] - unconstrained fn for_each_called_with_all_elements() { + unconstrained fn for_each_called_with_all_elements_in_order() { let mut env = TestEnvironment::new(); let scope = env.create_light_account(); env.private_context(|context| { @@ -282,79 +259,13 @@ mod test { array.push(5); array.push(6); - // We store all values that we were called with and check that all (value, index) tuples are present. Note - // that we do not care about the order in which each tuple was passed to the closure. let called_with = &mut BoundedVec::<(u32, Field), 3>::new(); array.for_each(|index, value| { called_with.push((index, value)); }); assert_eq(called_with.len(), 3); - assert(called_with.any(|(index, value)| (index == 0) & (value == 4))); - assert(called_with.any(|(index, value)| (index == 1) & (value == 5))); - assert(called_with.any(|(index, value)| (index == 2) & (value == 6))); - }); - } - - #[test] - unconstrained fn for_each_remove_some() { - let mut env = TestEnvironment::new(); - let scope = env.create_light_account(); - env.private_context(|context| { - let contract_address = context.this_address(); - let array = CapsuleArray::at(contract_address, SLOT, scope); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { - if index == 1 { - array.remove(index); - } - }); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), 4); - assert_eq(array.get(1), 6); - }); - } - - #[test] - unconstrained fn for_each_remove_all() { - let mut env = TestEnvironment::new(); - let scope = env.create_light_account(); - env.private_context(|context| { - let contract_address = context.this_address(); - let array = CapsuleArray::at(contract_address, SLOT, scope); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { array.remove(index); }); - - assert_eq(array.len(), 0); - }); - } - - #[test] - unconstrained fn for_each_remove_all_no_copy() { - let mut env = TestEnvironment::new(); - let scope = env.create_light_account(); - env.private_context(|context| { - let contract_address = context.this_address(); - let array = CapsuleArray::at(contract_address, SLOT, scope); - - array.push(4); - array.push(5); - array.push(6); - - // We test that the aztec_utl_copyCapsule was never called, which is the expensive operation we want to - // avoid. - let mock = std::test::OracleMock::mock("aztec_utl_copyCapsule"); - - array.for_each(|index, _| { array.remove(index); }); - - assert_eq(mock.times_called(), 0); + assert_eq(called_with.get(0), (0, 4)); + assert_eq(called_with.get(1), (1, 5)); + assert_eq(called_with.get(2), (2, 6)); }); } diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr index 139d80bb42da..14c573d796cf 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/mod.nr @@ -130,18 +130,17 @@ where /// Calls a function on each element of the array. /// - /// The function `f` is called once with each array value and its corresponding index. Iteration proceeds - /// backwards so that it is safe to remove the current element (and only the current element) inside the - /// callback. + /// The function `f` is called once with each array value and its corresponding index, in order (from the first + /// element to the last). /// - /// It is **not** safe to push new elements from inside the callback. + /// Structurally mutating the array from inside the callback (e.g. via `push`, `pop`, `remove` or `clear`) is + /// **not** supported: it can cause elements to be skipped, visited more than once, or read out of bounds. pub unconstrained fn for_each(self, f: unconstrained fn[Env](u32, T) -> ()) where T: Deserialize, { - let mut i = self.len(); - while i > 0 { - i -= 1; + let n = self.len(); + for i in 0..n { f(i, self.get(i)); } } diff --git a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr index cc7c96e753fd..f5c2a84ddf00 100644 --- a/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr +++ b/noir-projects/aztec-nr/aztec/src/unconstrained_array/test_helpers.nr @@ -163,7 +163,7 @@ where }); } -pub(crate) unconstrained fn for_each_called_with_all_elements() +pub(crate) unconstrained fn for_each_called_with_all_elements_in_order() where Oracle: ArrayOracles, { @@ -179,51 +179,9 @@ where array.for_each(|index, value| { called_with.push((index, value)); }); assert_eq(called_with.len(), 3); - assert(called_with.any(|(index, value)| (index == 0) & (value == 4))); - assert(called_with.any(|(index, value)| (index == 1) & (value == 5))); - assert(called_with.any(|(index, value)| (index == 2) & (value == 6))); - }); -} - -pub(crate) unconstrained fn for_each_remove_some() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { - if index == 1 { - array.remove(index); - } - }); - - assert_eq(array.len(), 2); - assert_eq(array.get(0), 4); - assert_eq(array.get(1), 6); - }); -} - -pub(crate) unconstrained fn for_each_remove_all() -where - Oracle: ArrayOracles, -{ - let env = TestEnvironment::new(); - env.utility_context(|_| { - let array: UnconstrainedArray = UnconstrainedArray::at(SLOT); - - array.push(4); - array.push(5); - array.push(6); - - array.for_each(|index, _| { array.remove(index); }); - - assert_eq(array.len(), 0); + assert_eq(called_with.get(0), (0, 4)); + assert_eq(called_with.get(1), (1, 5)); + assert_eq(called_with.get(2), (2, 6)); }); } From 981a2128e4eec5fd37051a59e02cbc9382c80640 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 14:35:36 +0000 Subject: [PATCH 028/197] refactor(aztec-nr): use for_each to build log retrieval requests The manual index loop in get_pending_partial_notes_completion_logs existed only because for_each had arbitrary iteration order. Now that for_each visits elements in order, the loop can use it directly while preserving the index alignment between the request array and the partial note array. Linear: F-729 --- .../aztec-nr/aztec/src/messages/processing/mod.nr | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr index c6f5a2896813..5ac1055c5e77 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr @@ -155,14 +155,10 @@ pub(crate) unconstrained fn get_pending_partial_notes_completion_logs( ) -> EphemeralArray> { let log_retrieval_requests = EphemeralArray::at(LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT); - // We create a LogRetrievalRequest for each PendingPartialNote in the EphemeralArray. Because we need the indices - // in the request array to match the indices in the partial note array, we can't use EphemeralArray::for_each, as - // that function has arbitrary iteration order. Instead, we manually iterate the array from the beginning and push - // into the requests array, which we expect to be empty. - let mut i = 0; - let pending_partial_notes_count = pending_partial_notes.len(); - while i < pending_partial_notes_count { - let pending_partial_note = pending_partial_notes.get(i); + // We create a LogRetrievalRequest for each PendingPartialNote. We need the indices in the request array to match + // the indices in the partial note array, which holds because `for_each` visits elements in order and the request + // array starts out empty. + pending_partial_notes.for_each(|_i, pending_partial_note| { // Partial note completion logs are emitted with a domain-separated tag. To find matching logs, we apply the // same domain separation to the stored raw tag. let log_tag = compute_log_tag( @@ -170,8 +166,7 @@ pub(crate) unconstrained fn get_pending_partial_notes_completion_logs( DOM_SEP__NOTE_COMPLETION_LOG_TAG, ); log_retrieval_requests.push(LogRetrievalRequest::new(contract_address, log_tag)); - i += 1; - } + }); let responses = message_processing::get_logs_by_tag(log_retrieval_requests); From 025cdb812954fbe9aef245b054ce34aa40d59b3f Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 14:40:49 +0000 Subject: [PATCH 029/197] remove unneeded comment --- noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr | 3 --- 1 file changed, 3 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr index 5ac1055c5e77..5efc5ab1e598 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr @@ -155,9 +155,6 @@ pub(crate) unconstrained fn get_pending_partial_notes_completion_logs( ) -> EphemeralArray> { let log_retrieval_requests = EphemeralArray::at(LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT); - // We create a LogRetrievalRequest for each PendingPartialNote. We need the indices in the request array to match - // the indices in the partial note array, which holds because `for_each` visits elements in order and the request - // array starts out empty. pending_partial_notes.for_each(|_i, pending_partial_note| { // Partial note completion logs are emitted with a domain-separated tag. To find matching logs, we apply the // same domain separation to the stored raw tag. From 02a10809d5647b1e7706d199e241b06569c7666c Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 15:02:09 +0000 Subject: [PATCH 030/197] Update migration_notes.md --- .../docs/resources/migration_notes.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/docs-developers/docs/resources/migration_notes.md b/docs/docs-developers/docs/resources/migration_notes.md index 3410cc18587f..f2ed667c766d 100644 --- a/docs/docs-developers/docs/resources/migration_notes.md +++ b/docs/docs-developers/docs/resources/migration_notes.md @@ -9,6 +9,43 @@ Aztec is in active development. Each version may introduce breaking changes that ## TBD +### [Aztec.nr] `for_each` visits elements in order; removing during iteration no longer supported + +`CapsuleArray::for_each` and `EphemeralArray::for_each` previously iterated backwards (from the last element to the first) so that the callback could safely remove the current element. They now visit elements in order, from first to last, as is usually expected in other languages. Structurally mutating the array (e.g. via `push` or `remove`) from inside the callback is no longer supported. + +For `EphemeralArray`, replace remove-during-iteration with `filter`: + +```diff +- array.for_each(|index, value| { +- if should_remove(value) { +- array.remove(index); +- } +- }); ++ let kept = array.filter(|value| !should_remove(value)); +``` + +`filter` collects the kept elements into a fresh array at a new slot. If the original slot matters (e.g. a `TransientArray` slot shared with other call frames), rebuild it from the filtered result: + +```noir +let kept = array.filter(|value| !should_remove(value)); +let _ = array.clear(); +kept.for_each(|_index, value| array.push(value)); +``` + +`EphemeralArray`'s are cheap and by nature not persistent though, so in most cases you probably can just work with the new copy instead of going through this hassle. + +`CapsuleArray` has no `filter`, so iterate manually, backwards. Removing the current element is safe in a backward loop because it only shifts elements at higher indices: + +```noir +let mut i = array.len(); +while i > 0 { + i -= 1; + if should_remove(array.get(i)) { + array.remove(i); + } +} +``` + ### [Aztec.nr] `messages::message_delivery` module moved to `messages::delivery` The `message_delivery` module has been renamed to `delivery`. Update imports accordingly: From b2794c78bac101ebe13b3cead3bd6e738f072167 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 16:43:57 +0000 Subject: [PATCH 031/197] fix(aztec-nr): defer pending partial note removal until iteration is over fetch_and_process_partial_note_completion_logs removed entries from pending_partial_notes while iterating the index-aligned completion_logs array. Backward iteration made this safe; with for_each now iterating forward, each removal desynchronized the shared index and read past the end of the array whenever more than one partial note completed in a single sync (caught by e2e_token_contract private_transfer_recursion). Collect the completed indices during iteration and remove them back-to-front afterwards, and add a TXE regression test that completes two partial notes in one sync. Linear: F-729 --- .../src/messages/discovery/partial_notes.nr | 15 +++++++++++- .../token_contract/snapshots__expanded.snap | 12 ++++++++++ .../src/test/transfer_to_private.nr | 23 +++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr b/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr index e9429d015fab..696d435ccc44 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr @@ -95,6 +95,11 @@ pub(crate) unconstrained fn fetch_and_process_partial_note_completion_logs( // index. Each inner array contains all matching LogRetrievalResponses. assert_eq(completion_logs.len(), pending_partial_notes.len()); + // Indices of pending partial notes that got completed, removed from the array only once iteration is over: + // removing an entry shifts the ones that follow it, which would desynchronize `pending_partial_notes` from + // `completion_logs` (the indices of which `for_each` iterates). + let completed_indices: EphemeralArray = EphemeralArray::empty(); + completion_logs.for_each(|i, logs_for_tag: EphemeralArray| { let pending_partial_note = pending_partial_notes.get(i); let num_logs = logs_for_tag.len(); @@ -170,7 +175,15 @@ pub(crate) unconstrained fn fetch_and_process_partial_note_completion_logs( // Because there is only a single log for a given tag, once we've processed the tagged log then we simply // delete the pending work entry, regardless of whether it was actually completed or not. - pending_partial_notes.remove(i); + completed_indices.push(i); } }); + + // `completed_indices` is ascending because `for_each` visits elements in order, so we remove back-to-front: + // removing an entry only shifts the entries past it, all of which have already been removed. + let mut j = completed_indices.len(); + while j > 0 { + j -= 1; + pending_partial_notes.remove(completed_indices.get(j)); + } } diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap index 8a9801c1afcd..b3e0b0d0fa13 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap @@ -4043,6 +4043,18 @@ mod test { utils::check_private_balance(env, token_contract_address, owner, 0_u128); } + /// Completes multiple partial notes in a single message-discovery sync: the recipient does not sync until both + /// completion logs have been emitted, so both pending partial notes are processed together. + #[test] + unconstrained fn transfer_to_private_external_orchestration_multiple_notes() { + let (env, token_contract_address, owner, recipient, amount): (aztec::test::helpers::test_environment::TestEnvironment, aztec::protocol::address::AztecAddress, aztec::protocol::address::AztecAddress, aztec::protocol::address::AztecAddress, u128) = utils::setup_and_mint_to_public(false); + let partial_uint_note_a: PartialUintNote = env.call_private(owner, Token::at(token_contract_address).prepare_private_balance_increase(recipient)); + let partial_uint_note_b: PartialUintNote = env.call_private(owner, Token::at(token_contract_address).prepare_private_balance_increase(recipient)); + env.call_public(owner, Token::at(token_contract_address).finalize_transfer_to_private(amount - 3_u128, partial_uint_note_a)); + env.call_public(owner, Token::at(token_contract_address).finalize_transfer_to_private(3_u128, partial_uint_note_b)); + utils::check_private_balance(env, token_contract_address, recipient, amount); + } + #[test(should_fail_with = "Invalid partial note or completer")] unconstrained fn transfer_to_private_transfer_not_prepared() { let (env, token_contract_address, owner, _, amount): (aztec::test::helpers::test_environment::TestEnvironment, aztec::protocol::address::AztecAddress, aztec::protocol::address::AztecAddress, aztec::protocol::address::AztecAddress, u128) = utils::setup_and_mint_to_public(false); diff --git a/noir-projects/noir-contracts/contracts/app/token_contract/src/test/transfer_to_private.nr b/noir-projects/noir-contracts/contracts/app/token_contract/src/test/transfer_to_private.nr index 217abbbe8ba0..386f0b68e785 100644 --- a/noir-projects/noir-contracts/contracts/app/token_contract/src/test/transfer_to_private.nr +++ b/noir-projects/noir-contracts/contracts/app/token_contract/src/test/transfer_to_private.nr @@ -59,6 +59,29 @@ unconstrained fn transfer_to_private_from_private_external_orchestration() { utils::check_private_balance(env, token_contract_address, owner, 0); } +/// Completes multiple partial notes in a single message-discovery sync: the recipient does not sync until both +/// completion logs have been emitted, so both pending partial notes are processed together. +#[test] +unconstrained fn transfer_to_private_external_orchestration_multiple_notes() { + // Setup without account contracts. We are not using authwits here, so dummy accounts are enough + let (env, token_contract_address, owner, recipient, amount) = + utils::setup_and_mint_to_public(/* with_account_contracts */ false); + + let partial_uint_note_a = + env.call_private(owner, Token::at(token_contract_address).prepare_private_balance_increase(recipient)); + let partial_uint_note_b = + env.call_private(owner, Token::at(token_contract_address).prepare_private_balance_increase(recipient)); + + env.call_public( + owner, + Token::at(token_contract_address).finalize_transfer_to_private(amount - 3, partial_uint_note_a), + ); + env.call_public(owner, Token::at(token_contract_address).finalize_transfer_to_private(3, partial_uint_note_b)); + + // Recipient's private balance should be equal to the sum of both finalized amounts + utils::check_private_balance(env, token_contract_address, recipient, amount); +} + #[test(should_fail_with = "Invalid partial note or completer")] unconstrained fn transfer_to_private_transfer_not_prepared() { // Setup without account contracts. We are not using authwits here, so dummy accounts are enough From 61030ca5af5ddffc6550a1e4901bda55c486e498 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 11 Jun 2026 17:01:55 +0000 Subject: [PATCH 032/197] refactor(aztec-nr): process partial note completion logs in a backwards loop Replace the collect-then-remove approach with a single backwards while loop, matching the offchain inbox sync pattern: iterating from last to first keeps not-yet-visited indices stable when removing completed entries, so no scratch index array is needed. Linear: F-729 --- .../src/messages/discovery/partial_notes.nr | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr b/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr index 696d435ccc44..44054c9504b3 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr @@ -95,12 +95,13 @@ pub(crate) unconstrained fn fetch_and_process_partial_note_completion_logs( // index. Each inner array contains all matching LogRetrievalResponses. assert_eq(completion_logs.len(), pending_partial_notes.len()); - // Indices of pending partial notes that got completed, removed from the array only once iteration is over: - // removing an entry shifts the ones that follow it, which would desynchronize `pending_partial_notes` from - // `completion_logs` (the indices of which `for_each` iterates). - let completed_indices: EphemeralArray = EphemeralArray::empty(); - - completion_logs.for_each(|i, logs_for_tag: EphemeralArray| { + // Note: the loop runs backwards because it removes completed entries from `pending_partial_notes`, which is + // index-aligned with `completion_logs`. Going from last to first keeps the indices of not-yet-visited entries + // stable. + let mut i = completion_logs.len(); + while i > 0 { + i -= 1; + let logs_for_tag: EphemeralArray = completion_logs.get(i); let pending_partial_note = pending_partial_notes.get(i); let num_logs = logs_for_tag.len(); @@ -175,15 +176,7 @@ pub(crate) unconstrained fn fetch_and_process_partial_note_completion_logs( // Because there is only a single log for a given tag, once we've processed the tagged log then we simply // delete the pending work entry, regardless of whether it was actually completed or not. - completed_indices.push(i); + pending_partial_notes.remove(i); } - }); - - // `completed_indices` is ascending because `for_each` visits elements in order, so we remove back-to-front: - // removing an entry only shifts the entries past it, all of which have already been removed. - let mut j = completed_indices.len(); - while j > 0 { - j -= 1; - pending_partial_notes.remove(completed_indices.get(j)); } } From 376659715ef24fafa676266c5a82a7dec81f9bd9 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 12:40:37 +0000 Subject: [PATCH 033/197] feat(pxe): EntityStore for entity-scoped fact storage Stores immutable facts about entities keyed by (contract, scope, entity type, entity id), with per-job staged writes flushed atomically on commit. Facts and entities carry an optional block anchor: anchored (retractable) records are deleted when their block is pruned, while unanchored ones survive reorgs as external inputs. Wired into openPxeStores with schema backwards-compatibility coverage. --- .../__snapshots__/EntityStore.json | 54 +++ .../__snapshots__/opened_stores.json | 24 + .../schema_tests.ts | 46 ++ .../storage/entity_store/entity_store.test.ts | 344 ++++++++++++++ .../src/storage/entity_store/entity_store.ts | 444 ++++++++++++++++++ .../pxe/src/storage/entity_store/index.ts | 1 + .../storage/entity_store/stored_fact.test.ts | 75 +++ .../src/storage/entity_store/stored_fact.ts | 149 ++++++ yarn-project/pxe/src/storage/index.ts | 1 + .../pxe/src/storage/open_pxe_stores.ts | 3 + 10 files changed, 1141 insertions(+) create mode 100644 yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json create mode 100644 yarn-project/pxe/src/storage/entity_store/entity_store.test.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/entity_store.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/index.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/stored_fact.ts diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json new file mode 100644 index 000000000000..6cf28f012500 --- /dev/null +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -0,0 +1,54 @@ +{ + "entities": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa00000001000000000000000000000000000000000000000000000000000000000000000500000001000000060000000000000000000000000000000000000000000000000000000000000002" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + ], + "entities_by_block": [ + { + "key": "num:6", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa" + } + ], + "entities_by_scope": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", + "value": "utf8:0x00000000000000000000000000000000000000000000000000000000000000aa" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", + "value": "utf8:0x00000000000000000000000000000000000000000000000000000000000000bb" + } + ], + "facts": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000000000001000000050000000000000000000000000000000000000000000000000000000000000001" + } + ], + "facts_by_entity": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811" + } + ], + "facts_by_block": [ + { + "key": "num:5", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811" + } + ] +} diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index 0f52df771e6c..90827282db81 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -29,6 +29,18 @@ "name": "contracts_instances", "kind": "map" }, + { + "name": "entities", + "kind": "map" + }, + { + "name": "entities_by_block", + "kind": "multimap" + }, + { + "name": "entities_by_scope", + "kind": "multimap" + }, { "name": "events_by_block_number", "kind": "multimap" @@ -37,6 +49,18 @@ "name": "events_by_contract_selector", "kind": "multimap" }, + { + "name": "facts", + "kind": "map" + }, + { + "name": "facts_by_block", + "kind": "multimap" + }, + { + "name": "facts_by_entity", + "kind": "multimap" + }, { "name": "header", "kind": "singleton" diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index e6e6fc8ac71d..d8d825de2ef8 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -39,6 +39,7 @@ import { AddressStore } from '../address_store/address_store.js'; import { AnchorBlockStore } from '../anchor_block_store/index.js'; import { CapsuleStore } from '../capsule_store/capsule_store.js'; import { ContractStore } from '../contract_store/contract_store.js'; +import { EntityStore } from '../entity_store/entity_store.js'; import { NoteStore } from '../note_store/note_store.js'; import { PrivateEventStore } from '../private_event_store/private_event_store.js'; import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '../tagging_store/index.js'; @@ -214,6 +215,51 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ }), }, + { + name: 'EntityStore', + writeToStore: async kvStore => { + const entityStore = new EntityStore(kvStore); + const jobId = 'fixture-job'; + const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); + const entityTypeId = new Fr(7n); + const corrA = new Fr(0xaan); + const corrB = new Fr(0xbbn); + // Retractable entity (anchored at block 6): the entity and all its facts are pruned on a reorg above block 6. + await entityStore.createEntity( + contract, + scope, + entityTypeId, + corrA, + [new Fr(5n)], + { blockNumber: 6, blockHash: new Fr(2n) }, + jobId, + ); + // Non-retractable entity carrying a payload, with a non-retractable and a retractable fact. + await entityStore.createEntity(contract, scope, entityTypeId, corrB, [new Fr(8n)], undefined, jobId); + await entityStore.recordFact(contract, scope, entityTypeId, corrB, new Fr(1n), [new Fr(9n)], undefined, jobId); + await entityStore.recordFact( + contract, + scope, + entityTypeId, + corrB, + new Fr(2n), + [], + { blockNumber: 5, blockHash: new Fr(1n) }, + jobId, + ); + await kvStore.transactionAsync(() => entityStore.commit(jobId)); + }, + snapshotStore: async kvStore => ({ + entities: await snapshotMap(kvStore.openMap('entities')), + entities_by_block: await snapshotMap(kvStore.openMultiMap('entities_by_block')), + entities_by_scope: await snapshotMap(kvStore.openMultiMap('entities_by_scope')), + facts: await snapshotMap(kvStore.openMap('facts')), + facts_by_entity: await snapshotMap(kvStore.openMultiMap('facts_by_entity')), + facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), + }), + }, + { name: 'KeyStore', writeToStore: async kvStore => { diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts new file mode 100644 index 000000000000..80d19dbf3dbe --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -0,0 +1,344 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import type { AztecAsyncKVStore } from '@aztec/kv-store'; +import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { EntityStore } from './entity_store.js'; + +describe('EntityStore', () => { + const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); + const ENTITY = new Fr(7n); + const RECEIVED = new Fr(1n); + const PROCESSED = new Fr(2n); + const corrA = new Fr(0xaan); + const corrB = new Fr(0xbbn); + const JOB = 'fact-store-test-job'; + + let kv: AztecAsyncKVStore; + let store: EntityStore; + + beforeEach(async () => { + kv = await openTmpStore('fact-store-test'); + store = new EntityStore(kv); + }); + afterEach(async () => { + await kv.close(); + }); + + it('records facts and loads an entity fact set after commit', async () => { + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact( + contract, + scope, + ENTITY, + corrA, + PROCESSED, + [], + { blockNumber: 5, blockHash: new Fr(1n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + const facts = await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB); + const factTypes = facts.map(f => f.factTypeId.toBigInt()).sort(); + expect(factTypes).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()].sort()); + }); + + it('dedups identical (entity, factType, payload) records idempotently', async () => { + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const facts = await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB); + expect(facts).toHaveLength(1); + }); + + it('enumerates active entities (created and not terminated) for a scope', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [], undefined, JOB); + await store.createEntity(contract, scope, ENTITY, corrB, [], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrB, RECEIVED, [new Fr(8n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const active = await store.activeEntities(contract, scope, ENTITY, JOB); + expect(active.map(c => c.toBigInt()).sort()).toEqual([corrA.toBigInt(), corrB.toBigInt()].sort()); + }); + + it('lists an entity as active even when it has zero facts', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ + corrA.toBigInt(), + ]); + }); + + it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + + // Same job, before commit: the staged entity is active and its fact is visible. + const facts = await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB); + expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); + expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ + corrA.toBigInt(), + ]); + + // A different job does not see the uncommitted write. + expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, 'other-job')).toHaveLength(0); + expect(await store.activeEntities(contract, scope, ENTITY, 'other-job')).toHaveLength(0); + }); + + it('getEntity returns the payload and both facts of an entity with facts', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n), new Fr(6n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact( + contract, + scope, + ENTITY, + corrA, + PROCESSED, + [], + { blockNumber: 5, blockHash: new Fr(1n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload.map(f => f.toBigInt())).toEqual([5n, 6n]); + expect(facts.map(f => f.factTypeId.toBigInt()).sort()).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()].sort()); + }); + + it('getEntity returns the payload and empty facts for an entity with zero facts', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload.map(f => f.toBigInt())).toEqual([5n]); + expect(facts).toHaveLength(0); + }); + + it('getEntity returns an empty payload when no entity record exists', async () => { + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload).toEqual([]); + expect(facts).toHaveLength(0); + }); + + it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload.map(f => f.toBigInt())).toEqual([5n]); + expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); + + // A different job does not see the uncommitted write. + expect((await store.getEntity(contract, scope, ENTITY, corrA, 'other-job')).payload).toEqual([]); + }); + + it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // A later job stages a terminate; within that job the entity reads as gone, while other jobs still see it + // committed until the terminate commits. + const TERM = 'terminate-job'; + await store.terminateEntity(contract, scope, ENTITY, corrA, TERM); + + expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, TERM)).toHaveLength(0); + expect((await store.getEntity(contract, scope, ENTITY, corrA, TERM)).payload).toEqual([]); + expect(await store.activeEntities(contract, scope, ENTITY, TERM)).toHaveLength(0); + expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, 'reader')).toHaveLength(1); + }); + + it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await store.createEntity(contract, scope, ENTITY, corrB, [], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact( + contract, + scope, + ENTITY, + corrA, + PROCESSED, + [], + { blockNumber: 5, blockHash: new Fr(1n) }, + JOB, + ); + await store.recordFact(contract, scope, ENTITY, corrB, RECEIVED, [new Fr(8n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const TERM = 'terminate-job'; + await store.terminateEntity(contract, scope, ENTITY, corrA, TERM); + await kv.transactionAsync(() => store.commit(TERM)); + + expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB)).toHaveLength(0); + expect((await store.getEntity(contract, scope, ENTITY, corrA, JOB)).payload).toEqual([]); + const active = await store.activeEntities(contract, scope, ENTITY, JOB); + expect(active.map(c => c.toBigInt())).toEqual([corrB.toBigInt()]); + // The neighbouring entity is untouched. + expect(await store.getEntityFacts(contract, scope, ENTITY, corrB, JOB)).toHaveLength(1); + }); + + it('rollback deletes a retractable entity wholesale (payload + every fact) above the target block', async () => { + // Retractable entity anchored at block 6, owning one unanchored and one anchored fact. + await store.createEntity( + contract, + scope, + ENTITY, + corrA, + [new Fr(5n)], + { blockNumber: 6, blockHash: new Fr(1n) }, + JOB, + ); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact( + contract, + scope, + ENTITY, + corrA, + PROCESSED, + [], + { blockNumber: 7, blockHash: new Fr(2n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload).toEqual([]); + expect(facts).toHaveLength(0); + expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB)).toHaveLength(0); + expect(await store.activeEntities(contract, scope, ENTITY, JOB)).toHaveLength(0); + }); + + it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { + // Non-retractable entity (no anchor) with one unanchored fact + one anchored fact at block 6. + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact( + contract, + scope, + ENTITY, + corrA, + PROCESSED, + [], + { blockNumber: 6, blockHash: new Fr(1n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload.map(f => f.toBigInt())).toEqual([5n]); + expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept + // Entity stays active because the entity record survives. + expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ + corrA.toBigInt(), + ]); + }); + + it('rollback above all anchors is a no-op', async () => { + await store.createEntity( + contract, + scope, + ENTITY, + corrA, + [new Fr(5n)], + { blockNumber: 6, blockHash: new Fr(1n) }, + JOB, + ); + await store.recordFact( + contract, + scope, + ENTITY, + corrA, + PROCESSED, + [], + { blockNumber: 7, blockHash: new Fr(2n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(10)); + + const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload.map(f => f.toBigInt())).toEqual([5n]); + expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); + expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ + corrA.toBigInt(), + ]); + }); + + it('re-creating an entity with a changed anchor clears the stale by-block index', async () => { + await store.createEntity( + contract, + scope, + ENTITY, + corrA, + [new Fr(5n)], + { blockNumber: 6, blockHash: new Fr(1n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + // Re-create the same entity anchored at a different block. + const JOB2 = 'recreate-job'; + await store.createEntity( + contract, + scope, + ENTITY, + corrA, + [new Fr(5n)], + { blockNumber: 8, blockHash: new Fr(2n) }, + JOB2, + ); + await kv.transactionAsync(() => store.commit(JOB2)); + + // Prune above block 5: the entity (anchored at 8) is deleted exactly once. A stale block-6 index entry would make + // pass 1 visit it a second time and throw "Entity not found". + await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); + expect((await store.getEntity(contract, scope, ENTITY, corrA, JOB)).payload).toEqual([]); + expect(await store.activeEntities(contract, scope, ENTITY, JOB)).toHaveLength(0); + }); + + it('re-creating a retractable entity as non-retractable lets it survive a prune', async () => { + await store.createEntity( + contract, + scope, + ENTITY, + corrA, + [new Fr(5n)], + { blockNumber: 6, blockHash: new Fr(1n) }, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + // Re-create the same entity without an anchor: it is now non-retractable and must survive reorgs. + const JOB2 = 'recreate-job'; + await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB2); + await kv.transactionAsync(() => store.commit(JOB2)); + + await kv.transactionAsync(() => store.rollback(5)); + + // Survived: the stale block-6 index entry was cleared when the entity was re-created. + const { payload } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); + expect(payload.map(f => f.toBigInt())).toEqual([5n]); + expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ + corrA.toBigInt(), + ]); + }); + + it('rollback throws while a job has staged writes', async () => { + await store.createEntity(contract, scope, ENTITY, corrA, [], undefined, 'uncommitted-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( + 'PXE entity store rollback is not allowed while jobs are running', + ); + await store.discardStaged('uncommitted-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); + }); +}); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts new file mode 100644 index 000000000000..2327d513c143 --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -0,0 +1,444 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { createLogger } from '@aztec/foundation/log'; +import { Semaphore } from '@aztec/foundation/queue'; +import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store'; +import type { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; +import { + type FactAnchor, + StoredEntity, + StoredFact, + entityKey, + entityKeyOf, + factRowKeyOf, + scopeKey, + scopeKeyOf, +} from './stored_fact.js'; + +type JobId = string; + +/** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ +type StagedOp = + | { kind: 'createEntity'; entity: StoredEntity } + | { kind: 'record'; fact: StoredFact } + | { kind: 'terminate'; contract: AztecAddress; scope: AztecAddress; entityTypeId: Fr; entityId: Fr }; + +/** + * Stores immutable facts about entities, grouped by contract, scope, entity type, and entity id. + * + * Append-only within a job commit. Retractable facts (those with a block anchor) are deleted on block prune. + * Non-retractable facts (anchor === undefined) survive reorgs as external inputs. Writes are staged per-job and + * flushed atomically on commit. + */ +export class EntityStore implements StagedStore { + readonly storeName: string = 'entity'; + + #store: AztecAsyncKVStore; + /** Primary entity records, keyed by entityKey; holds the entity payload and optional anchor. */ + #entities: AztecAsyncMap; + /** Index from blockNumber to entityKey, for delete-on-prune of retractable entities (anchored entities only). */ + #entitiesByBlock: AztecAsyncMultiMap; + /** Primary fact records, keyed by factRowKey (deduplication row key). */ + #facts: AztecAsyncMap; + /** Index from entityKey to factRowKey for efficient entity-level fold. */ + #factsByEntity: AztecAsyncMultiMap; + /** Index from scopeKey to entityId string for active-entity enumeration. */ + #entitiesByScope: AztecAsyncMultiMap; + /** Index from blockNumber to factRowKey, for delete-on-prune (retractable facts only). */ + #factsByBlock: AztecAsyncMultiMap; + + #opsForJob: Map; + #jobLocks: Map; + + logger = createLogger('entity_store'); + + constructor(store: AztecAsyncKVStore) { + this.#store = store; + this.#entities = store.openMap('entities'); + this.#entitiesByBlock = store.openMultiMap('entities_by_block'); + this.#facts = store.openMap('facts'); + this.#factsByEntity = store.openMultiMap('facts_by_entity'); + this.#entitiesByScope = store.openMultiMap('entities_by_scope'); + this.#factsByBlock = store.openMultiMap('facts_by_block'); + this.#opsForJob = new Map(); + this.#jobLocks = new Map(); + } + + /** + * Stages an entity record (with its own payload and optional anchor) under the given job. `anchor === undefined` + * marks the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); a defined + * anchor marks the whole entity retractable — on a prune above its block, the entity and all its facts are deleted. + * The entity becomes active once committed, independently of whether it owns any facts. + */ + createEntity( + contract: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + payload: Fr[], + anchor: FactAnchor | undefined, + jobId: string, + ): Promise { + return this.#withJobLock(jobId, () => { + const entity = new StoredEntity(contract, scope, entityTypeId, entityId, payload, anchor); + this.#opsFor(jobId).push({ kind: 'createEntity', entity }); + return Promise.resolve(); + }); + } + + /** + * Stages a fact for recording under the given job. `anchor === undefined` marks the fact non-retractable (it + * survives reorgs); a defined anchor ties the fact to a specific block and it will be deleted on prune. + * Idempotent: duplicate (entity, factType, payload) tuples collapse to a single row via the dedup row key. + */ + recordFact( + contract: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + factTypeId: Fr, + payload: Fr[], + anchor: FactAnchor | undefined, + jobId: string, + ): Promise { + return this.#withJobLock(jobId, () => { + const fact = new StoredFact(contract, scope, entityTypeId, entityId, factTypeId, payload, anchor); + this.#opsFor(jobId).push({ kind: 'record', fact }); + return Promise.resolve(); + }); + } + + /** Permanently delete an entity (all its facts). Staged within the job; applied on commit. */ + terminateEntity( + contract: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + jobId: string, + ): Promise { + return this.#withJobLock(jobId, () => { + this.#opsFor(jobId).push({ kind: 'terminate', contract, scope, entityTypeId, entityId }); + return Promise.resolve(); + }); + } + + /** + * Returns the facts for one entity. + * + * @param contract - The contract address owning the entity. + * @param scope - The scope (recipient address) under which facts were recorded. + * @param entityTypeId - Discriminates entity kinds within a contract+scope. + * @param entityId - Identifies the specific entity instance. + * @param jobId - The job whose staged writes are layered over committed state. + */ + async getEntityFacts( + contract: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + jobId: string, + ): Promise { + const eKey = entityKey(contract, scope, entityTypeId, entityId); + const byRow = await this.#store.transactionAsync(() => this.#loadCommittedFacts(eKey)); + this.#replayFactOps(byRow, eKey, jobId); + return Array.from(byRow.values()); + } + + /** + * Returns one entity's payload together with its facts. + * + * The payload comes from the entity record (empty when no entity record exists); the facts come from the per-entity + * fact index. This job's staged ops are layered over committed state for read-your-writes: a createEntity sets the + * payload, a record adds/dedups a fact, a terminate clears both payload and facts. + * + * @param contract - The contract address owning the entity. + * @param scope - The scope (recipient address) under which the entity was created. + * @param entityTypeId - Discriminates entity kinds within a contract+scope. + * @param entityId - Identifies the specific entity instance. + * @param jobId - The job whose staged writes are layered over committed state. + */ + async getEntity( + contract: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + jobId: string, + ): Promise<{ payload: Fr[]; facts: StoredFact[] }> { + const eKey = entityKey(contract, scope, entityTypeId, entityId); + const { payload, byRow } = await this.#store.transactionAsync(async () => { + const entityBuf = await this.#entities.getAsync(eKey); + return { + payload: entityBuf ? StoredEntity.fromBuffer(entityBuf).payload : [], + byRow: await this.#loadCommittedFacts(eKey), + }; + }); + // Replay this job's staged ops in order over committed state. Order matters so a terminate-then-create sequence + // resolves to the re-created entity, and a terminate clears both payload and facts. + let currentPayload = payload; + for (const op of this.#stagedOps(jobId)) { + if (op.kind === 'createEntity') { + if (entityKeyOf(op.entity) === eKey) { + currentPayload = op.entity.payload; + } + } else if (op.kind === 'record') { + if (entityKeyOf(op.fact) === eKey) { + byRow.set(factRowKeyOf(op.fact), op.fact); + } + } else if (entityKey(op.contract, op.scope, op.entityTypeId, op.entityId) === eKey) { + currentPayload = []; + byRow.clear(); + } + } + return { payload: currentPayload, facts: Array.from(byRow.values()) }; + } + + /** + * Returns the entity ids of all active entities under (contract, scope, entityTypeId) — entities that have an + * entity record and have not been terminated. Entity presence is independent of whether the entity owns any facts. + */ + async activeEntities(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, jobId: string): Promise { + const sKey = scopeKey(contract, scope, entityTypeId); + const active = await this.#store.transactionAsync(async () => { + const seen = new Set(); + const result = new Set(); + for await (const entityId of this.#entitiesByScope.getValuesAsync(sKey)) { + if (seen.has(entityId)) { + continue; + } + seen.add(entityId); + // Guard against stale index entries: once terminate/rollback delete an entity record, its entity id + // should be gone from #entitiesByScope, but we re-check the entity record exists so a missed index update + // can never surface a ghost entity as active. + if (await this.#entities.getAsync(`${sKey}:${entityId}`)) { + result.add(entityId); + } + } + return result; + }); + // Replay this job's staged ops in order: a createEntity activates the entity, a terminate deactivates it. + for (const op of this.#stagedOps(jobId)) { + if (op.kind === 'createEntity') { + if (scopeKeyOf(op.entity) === sKey) { + active.add(op.entity.entityId.toString()); + } + } else if (op.kind === 'terminate' && scopeKey(op.contract, op.scope, op.entityTypeId) === sKey) { + active.delete(op.entityId.toString()); + } + } + return Array.from(active, Fr.fromString); + } + + /** + * Commits all staged operations for the given job to persistent storage. + * + * Must be called inside a transaction owned by the caller (JobCoordinator wraps all commits in a single + * transactionAsync, and IndexedDB does not support nested transactions). Do not call #withJobLock here — awaiting + * the lock creates a microtask boundary that causes IndexedDB to auto-commit the outer transaction. + */ + async commit(jobId: string): Promise { + for (const op of this.#opsFor(jobId)) { + if (op.kind === 'createEntity') { + const entity = op.entity; + const eKey = entityKeyOf(entity); + // Re-creating an entity may change or drop its anchor; clear any stale by-block index entry from the prior + // record first, so a later prune can neither double-visit this entity (and throw) nor wrongly delete one that + // has since become non-retractable. + const priorBuf = await this.#entities.getAsync(eKey); + if (priorBuf) { + const prior = StoredEntity.fromBuffer(priorBuf); + if (prior.anchor !== undefined) { + await this.#entitiesByBlock.deleteValue(prior.anchor.blockNumber, eKey); + } + } + await this.#entities.set(eKey, entity.toBuffer()); + await this.#entitiesByScope.set(scopeKeyOf(entity), entity.entityId.toString()); + if (entity.anchor !== undefined) { + await this.#entitiesByBlock.set(entity.anchor.blockNumber, eKey); + } + } else if (op.kind === 'record') { + const fact = op.fact; + const rowKey = factRowKeyOf(fact); + await this.#facts.set(rowKey, fact.toBuffer()); + await this.#factsByEntity.set(entityKeyOf(fact), rowKey); + if (fact.anchor !== undefined) { + await this.#factsByBlock.set(fact.anchor.blockNumber, rowKey); + } + } else { + await this.#deleteEntity(op.contract, op.scope, op.entityTypeId, op.entityId); + } + } + this.#clearJobData(jobId); + } + + /** Discards all staged operations for the given job without persisting them. */ + discardStaged(jobId: string): Promise { + this.#clearJobData(jobId); + return Promise.resolve(); + } + + /** + * Delete-on-prune in two passes. Pass 1 deletes every retractable entity anchored to a block strictly above + * `toBlock` wholesale — its payload and every fact it owns, regardless of each fact's own flag. Pass 2 deletes any + * remaining retractable fact anchored above `toBlock` whose entity survived pass 1. Non-retractable entities and + * facts are untouched (they never enter the by-block indexes). Must run inside a caller-owned transaction (the + * reorg path wraps it with the sibling stores' rollbacks; IndexedDB has no nested transactions). Throws if any job + * has uncommitted staged writes, since rolling back mid-job could re-introduce records anchored to deleted blocks. + */ + async rollback(toBlock: number): Promise { + if (this.#opsForJob.size > 0) { + throw new Error('PXE entity store rollback is not allowed while jobs are running'); + } + + // Pass 1: delete retractable entities anchored above toBlock wholesale. Snapshot before mutating so we never + // delete from the multimap we are iterating. + const orphanedEntities: string[] = []; + for await (const [, eKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { + orphanedEntities.push(eKey); + } + const deletedEntities = new Set(); + let removedEntities = 0; + for (const eKey of orphanedEntities) { + const buf = await this.#entities.getAsync(eKey); + if (!buf) { + // An #entitiesByBlock entry must always reference a live #entities row; a missing one means the indexes are + // corrupt, so fail loudly rather than leave a ghost entity behind. + throw new Error(`Entity not found for entityKey ${eKey}`); + } + const entity = StoredEntity.fromBuffer(buf); + await this.#deleteEntity(entity.contractAddress, entity.scope, entity.entityTypeId, entity.entityId); + deletedEntities.add(eKey); + removedEntities++; + } + + // Pass 2: delete remaining retractable facts anchored above toBlock whose entity survived pass 1. Pass 1 already + // removed the facts_by_block rows of pruned entities, so any leftover row here belongs to a surviving entity. + const orphanedFacts: { block: number; rowKey: string }[] = []; + for await (const [block, rowKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { + orphanedFacts.push({ block, rowKey }); + } + let removedFacts = 0; + for (const { block, rowKey } of orphanedFacts) { + const buf = await this.#facts.getAsync(rowKey); + if (!buf) { + // A still-present by-block entry with no fact row means the indexes are corrupt (pass 1 removes both the row + // and the by-block entry for pruned entities), so fail loudly rather than leave a dangling index entry. + throw new Error(`Fact not found for rowKey ${rowKey}`); + } + const fact = StoredFact.fromBuffer(buf); + const eKey = entityKeyOf(fact); + // Belt-and-braces: a fact whose entity was pruned in pass 1 must not be re-processed here. With #deleteEntity + // clearing the by-block index this is unreachable, but the guard keeps pass 2 correct if that ever changes. + if (deletedEntities.has(eKey)) { + continue; + } + await this.#facts.delete(rowKey); + await this.#factsByBlock.deleteValue(block, rowKey); + await this.#factsByEntity.deleteValue(eKey, rowKey); + removedFacts++; + } + this.logger.verbose('rolled back entity store', { removedEntities, removedFacts, toBlock }); + } + + // ---- private helpers ---- + + /** Loads the committed facts for an entity keyed by their dedup row key. Caller may wrap in a transaction. */ + async #loadCommittedFacts(eKey: string): Promise> { + const rows = new Map(); + for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { + const buf = await this.#facts.getAsync(rowKey); + if (buf) { + rows.set(rowKey, StoredFact.fromBuffer(buf)); + } + } + return rows; + } + + /** + * Replays a job's staged ops over a committed fact map for read-your-writes: a record sets (dedups) a fact row, a + * terminate clears the entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded + * fact. createEntity ops do not affect the fact set. + */ + #replayFactOps(byRow: Map, eKey: string, jobId: string): void { + for (const op of this.#stagedOps(jobId)) { + if (op.kind === 'record') { + if (entityKeyOf(op.fact) === eKey) { + byRow.set(factRowKeyOf(op.fact), op.fact); + } + } else if (op.kind === 'terminate' && entityKey(op.contract, op.scope, op.entityTypeId, op.entityId) === eKey) { + byRow.clear(); + } + } + } + + /** + * Deletes an entity wholesale from every index: its record, all its facts, and the scope/block index entries. + * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. + */ + async #deleteEntity(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): Promise { + const eKey = entityKey(contract, scope, entityTypeId, entityId); + const rowKeys: string[] = []; + for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { + rowKeys.push(rowKey); + } + for (const rowKey of rowKeys) { + const buf = await this.#facts.getAsync(rowKey); + if (!buf) { + // A #factsByEntity entry must always reference a live #facts row; a missing one means the indexes are + // corrupt, so fail loudly rather than silently skip cleanup. + throw new Error(`Fact not found for rowKey ${rowKey}`); + } + const fact = StoredFact.fromBuffer(buf); + await this.#facts.delete(rowKey); + await this.#factsByEntity.deleteValue(eKey, rowKey); + if (fact.anchor !== undefined) { + await this.#factsByBlock.deleteValue(fact.anchor.blockNumber, rowKey); + } + } + const entityBuf = await this.#entities.getAsync(eKey); + if (entityBuf) { + const entity = StoredEntity.fromBuffer(entityBuf); + await this.#entities.delete(eKey); + if (entity.anchor !== undefined) { + await this.#entitiesByBlock.deleteValue(entity.anchor.blockNumber, eKey); + } + } + await this.#entitiesByScope.deleteValue(scopeKey(contract, scope, entityTypeId), entityId.toString()); + } + + #opsFor(jobId: string): StagedOp[] { + let ops = this.#opsForJob.get(jobId); + if (ops === undefined) { + ops = []; + this.#opsForJob.set(jobId, ops); + } + return ops; + } + + /** + * Read-only view of a job's staged ops for read-your-writes. Unlike {@link #opsFor}, it never creates an entry, so a + * read for a job with no writes does not register a phantom in-flight job (which would trip the `rollback` guard). + */ + #stagedOps(jobId: string): StagedOp[] { + return this.#opsForJob.get(jobId) ?? []; + } + + #clearJobData(jobId: string) { + this.#opsForJob.delete(jobId); + this.#jobLocks.delete(jobId); + } + + async #withJobLock(jobId: string, fn: () => Promise): Promise { + let lock = this.#jobLocks.get(jobId); + if (!lock) { + lock = new Semaphore(1); + this.#jobLocks.set(jobId, lock); + } + await lock.acquire(); + try { + return await fn(); + } finally { + lock.release(); + } + } +} diff --git a/yarn-project/pxe/src/storage/entity_store/index.ts b/yarn-project/pxe/src/storage/entity_store/index.ts new file mode 100644 index 000000000000..8c58301b3bcc --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/index.ts @@ -0,0 +1 @@ +export { EntityStore } from './entity_store.js'; diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts new file mode 100644 index 000000000000..96204e29ccf2 --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -0,0 +1,75 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { StoredEntity, StoredFact, entityKeyOf, factRowKeyOf, scopeKeyOf } from './stored_fact.js'; + +describe('StoredFact', () => { + const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); + const entityType = new Fr(7n); + const entityId = new Fr(42n); + const factType = new Fr(3n); + + it('round-trips a retractable fact through buffer serialization', () => { + const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n), new Fr(10n)], { + blockNumber: 12, + blockHash: new Fr(0xabcn), + }); + const back = StoredFact.fromBuffer(fact.toBuffer()); + expect(back).toEqual(fact); + expect(back.isRetractable).toBe(true); + }); + + it('round-trips a non-retractable fact (no anchor)', () => { + const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); + const back = StoredFact.fromBuffer(fact.toBuffer()); + expect(back).toEqual(fact); + expect(back.isRetractable).toBe(false); + }); + + it('derives stable composite keys', () => { + const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); + expect(scopeKeyOf(fact)).toBe(`${contract}:${scope}:${entityType}`); + expect(entityKeyOf(fact)).toBe(`${contract}:${scope}:${entityType}:${entityId}`); + expect(factRowKeyOf(fact)).toBe(entityKeyOf(fact) + `:${factType}:${fact.payloadHash()}`); + }); + + it('gives distinct payload hashes for distinct payloads and equal for equal', () => { + const a = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(1n)], undefined); + const b = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(2n)], undefined); + const c = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(1n)], undefined); + expect(a.payloadHash()).not.toEqual(b.payloadHash()); + expect(a.payloadHash()).toEqual(c.payloadHash()); + }); +}); + +describe('StoredEntity', () => { + const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); + const entityType = new Fr(7n); + const entityId = new Fr(42n); + + it('round-trips a retractable entity through buffer serialization', () => { + const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n), new Fr(10n)], { + blockNumber: 12, + blockHash: new Fr(0xabcn), + }); + const back = StoredEntity.fromBuffer(entity.toBuffer()); + expect(back).toEqual(entity); + expect(back.isRetractable).toBe(true); + }); + + it('round-trips a non-retractable entity (no anchor)', () => { + const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n)], undefined); + const back = StoredEntity.fromBuffer(entity.toBuffer()); + expect(back).toEqual(entity); + expect(back.isRetractable).toBe(false); + }); + + it('round-trips an entity with an empty payload', () => { + const entity = new StoredEntity(contract, scope, entityType, entityId, [], undefined); + const back = StoredEntity.fromBuffer(entity.toBuffer()); + expect(back).toEqual(entity); + expect(back.payload).toEqual([]); + }); +}); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts new file mode 100644 index 000000000000..d2025e28004a --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -0,0 +1,149 @@ +import { sha256ToField } from '@aztec/foundation/crypto/sha256'; +import { Fr } from '@aztec/foundation/curves/bn254'; +import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +/** The block an anchored (retractable) fact is tied to. */ +export type FactAnchor = { blockNumber: number; blockHash: Fr }; + +/** + * A single immutable fact about an entity. `anchor === undefined` marks the fact non-retractable (an external + * input that survives reorgs); an anchor marks it retractable (re-derivable, deleted when its block is pruned). + */ +export class StoredFact { + constructor( + public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, + public readonly entityTypeId: Fr, + public readonly entityId: Fr, + public readonly factTypeId: Fr, + public readonly payload: Fr[], + public readonly anchor: FactAnchor | undefined, + ) {} + + /** Whether this fact is deleted on block pruning (true) or survives reorgs (false). */ + get isRetractable(): boolean { + return this.anchor !== undefined; + } + + /** Stable digest of the payload, used in the dedup row key (keeps the LMDB key bounded for large payloads). */ + payloadHash(): Fr { + return sha256ToField([this.payload.length, ...this.payload]); + } + + toBuffer(): Buffer { + const anchorTag = this.anchor ? 1 : 0; + return serializeToBuffer( + this.contractAddress, + this.scope, + this.entityTypeId, + this.entityId, + this.factTypeId, + this.payload.length, + ...this.payload, + anchorTag, + this.anchor ? this.anchor.blockNumber : 0, + this.anchor ? this.anchor.blockHash : Fr.ZERO, + ); + } + + static fromBuffer(buffer: Buffer | BufferReader): StoredFact { + const reader = BufferReader.asReader(buffer); + const contractAddress = reader.readObject(AztecAddress); + const scope = reader.readObject(AztecAddress); + const entityTypeId = reader.readObject(Fr); + const entityId = reader.readObject(Fr); + const factTypeId = reader.readObject(Fr); + const payloadLen = reader.readNumber(); + const payload = reader.readArray(payloadLen, Fr); + const anchorTag = reader.readNumber(); + const blockNumber = reader.readNumber(); + const blockHash = reader.readObject(Fr); + const anchor = anchorTag === 1 ? { blockNumber, blockHash } : undefined; + return new StoredFact(contractAddress, scope, entityTypeId, entityId, factTypeId, [...payload], anchor); + } +} + +/** + * The record for a single entity, with its own payload and optional block anchor. `anchor === undefined` marks the + * entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an anchor marks the whole + * entity retractable — on a prune above its block, the entity payload and every fact it owns are deleted wholesale. + */ +export class StoredEntity { + constructor( + public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, + public readonly entityTypeId: Fr, + public readonly entityId: Fr, + public readonly payload: Fr[], + public readonly anchor: FactAnchor | undefined, + ) {} + + /** Whether the whole entity is deleted on block pruning (true) or survives reorgs (false). */ + get isRetractable(): boolean { + return this.anchor !== undefined; + } + + toBuffer(): Buffer { + const anchorTag = this.anchor ? 1 : 0; + return serializeToBuffer( + this.contractAddress, + this.scope, + this.entityTypeId, + this.entityId, + this.payload.length, + ...this.payload, + anchorTag, + this.anchor ? this.anchor.blockNumber : 0, + this.anchor ? this.anchor.blockHash : Fr.ZERO, + ); + } + + static fromBuffer(buffer: Buffer | BufferReader): StoredEntity { + const reader = BufferReader.asReader(buffer); + const contractAddress = reader.readObject(AztecAddress); + const scope = reader.readObject(AztecAddress); + const entityTypeId = reader.readObject(Fr); + const entityId = reader.readObject(Fr); + const payloadLen = reader.readNumber(); + const payload = reader.readArray(payloadLen, Fr); + const anchorTag = reader.readNumber(); + const blockNumber = reader.readNumber(); + const blockHash = reader.readObject(Fr); + const anchor = anchorTag === 1 ? { blockNumber, blockHash } : undefined; + return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...payload], anchor); + } +} + +/** Key that groups all entities of the same type within a contract+scope. */ +export function scopeKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr): string { + return `${contract}:${scope}:${entityTypeId}`; +} + +/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ +export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): string { + return `${scopeKey(contract, scope, entityTypeId)}:${entityId}`; +} + +/** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ +type EntityCoords = { + contractAddress: AztecAddress; + scope: AztecAddress; + entityTypeId: Fr; + entityId: Fr; +}; + +/** Key that groups all entities of the same type within a contract+scope. */ +export function scopeKeyOf(coords: EntityCoords): string { + return scopeKey(coords.contractAddress, coords.scope, coords.entityTypeId); +} + +/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ +export function entityKeyOf(coords: EntityCoords): string { + return entityKey(coords.contractAddress, coords.scope, coords.entityTypeId, coords.entityId); +} + +/** Dedup row key for a specific fact; incorporates a payload hash to bound key size for large payloads. */ +export function factRowKeyOf(fact: StoredFact): string { + return `${entityKeyOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; +} diff --git a/yarn-project/pxe/src/storage/index.ts b/yarn-project/pxe/src/storage/index.ts index 47c5b840f7ee..c52e353eb6d1 100644 --- a/yarn-project/pxe/src/storage/index.ts +++ b/yarn-project/pxe/src/storage/index.ts @@ -2,6 +2,7 @@ export * from './address_store/index.js'; export * from './anchor_block_store/index.js'; export * from './capsule_store/index.js'; export * from './contract_store/index.js'; +export * from './entity_store/index.js'; export * from './note_store/index.js'; export * from './tagging_store/index.js'; export * from './metadata.js'; diff --git a/yarn-project/pxe/src/storage/open_pxe_stores.ts b/yarn-project/pxe/src/storage/open_pxe_stores.ts index 573b85a40984..45d6d131ae79 100644 --- a/yarn-project/pxe/src/storage/open_pxe_stores.ts +++ b/yarn-project/pxe/src/storage/open_pxe_stores.ts @@ -7,6 +7,7 @@ import { AddressStore } from './address_store/address_store.js'; import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js'; import { CapsuleStore } from './capsule_store/capsule_store.js'; import { ContractStore } from './contract_store/contract_store.js'; +import { EntityStore } from './entity_store/entity_store.js'; import { NoteStore } from './note_store/note_store.js'; import { PrivateEventStore } from './private_event_store/private_event_store.js'; import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from './tagging_store/index.js'; @@ -26,6 +27,7 @@ export type PxeStores = { capsuleStore: CapsuleStore; keyStore: KeyStore; l2TipsStore: L2TipsKVStore; + entityStore: EntityStore; }; /** @@ -45,5 +47,6 @@ export function openPxeStores(store: AztecAsyncKVStore, initialBlockHash: BlockH capsuleStore: new CapsuleStore(store), keyStore: new KeyStore(store), l2TipsStore: new L2TipsKVStore(store, 'pxe', initialBlockHash), + entityStore: new EntityStore(store), }; } From 1918471c77b476e4416a0667b6af3b3beb061801 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 12:45:54 +0000 Subject: [PATCH 034/197] feat(pxe): prune retractable entity facts on chain prune The block synchronizer rolls the entity store back alongside the note and private event stores when the chain is pruned: entities and facts anchored to orphaned blocks are deleted, unanchored ones survive. EntityStore is registered with the job coordinator so staged facts flush atomically with the other stores on job commit. --- .../block_synchronizer.test.ts | 58 +++++++++++++++++++ .../block_synchronizer/block_synchronizer.ts | 3 + yarn-project/pxe/src/pxe.ts | 3 + 3 files changed, 64 insertions(+) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index bbd6d2ae9729..2acf359f655a 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -27,6 +27,7 @@ import { type MockProxy, mock } from 'jest-mock-extended'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; +import { EntityStore } from '../storage/entity_store/entity_store.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { BlockSynchronizer } from './block_synchronizer.js'; @@ -44,6 +45,7 @@ describe('BlockSynchronizer', () => { let anchorBlockStore: AnchorBlockStore; let noteStore: NoteStore; let privateEventStore: PrivateEventStore; + let entityStore: EntityStore; let aztecNode: MockProxy; let getBlock: NodeGetBlockMock; let blockStream: MockProxy; @@ -62,6 +64,7 @@ describe('BlockSynchronizer', () => { anchorBlockStore, noteStore, privateEventStore, + entityStore, tipsStore, contractSyncService, config, @@ -110,6 +113,7 @@ describe('BlockSynchronizer', () => { anchorBlockStore = new AnchorBlockStore(store); noteStore = new NoteStore(store); privateEventStore = new PrivateEventStore(store); + entityStore = new EntityStore(store); contractSyncService = mock(); synchronizer = createSynchronizer(); }); @@ -289,6 +293,60 @@ describe('BlockSynchronizer', () => { expect(await privateEventStore.eventIdsAtBlock(9)).toEqual([eventId9.toString()]); }); + it('chain-pruned deletes anchored facts and keeps unanchored ones via the synchronizer', async () => { + const contract = await AztecAddress.random(); + const scope = await AztecAddress.random(); + const entityTypeId = Fr.random(); + const entityId = Fr.random(); + // Two distinct fact-type ids stand in for RECEIVED (non-retractable) and PROCESSED (anchored). + const RECEIVED = Fr.random(); + const PROCESSED = Fr.random(); + const jobId = 'fact-job'; + + // Block 5 is the fork point; block 10 is on the abandoned fork (above the fork). + const forkBlock = await L2Block.random(BlockNumber(5)); + const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); + + // Seed: one non-retractable (unanchored) fact and one anchored above the fork. + await entityStore.recordFact(contract, scope, entityTypeId, entityId, RECEIVED, [Fr.random()], undefined, jobId); + await entityStore.recordFact( + contract, + scope, + entityTypeId, + entityId, + PROCESSED, + [], + { blockNumber: 10, blockHash: Fr.random() }, + jobId, + ); + await store.transactionAsync(() => entityStore.commit(jobId)); + + // Both facts must be present before the prune. + expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, entityId, jobId)).toHaveLength(2); + + // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). + const anchorBlock10 = await L2Block.random(BlockNumber(10)); + await anchorBlockStore.setHeader(anchorBlock10.header); + + // The node serves the fork-point block; it becomes the new anchor after the prune. + const forkResponse = await blockResponse(forkBlock); + getBlock.mockImplementation(param => + Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), + ); + + // Prune back to block 5 (orphaning block 10 where the PROCESSED fact is anchored). + await synchronizer.handleBlockStreamEvent({ + type: 'chain-pruned', + block: block5, + checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), + }); + + // The anchored PROCESSED fact must be gone; the unanchored RECEIVED fact must survive. + const remaining = await entityStore.getEntityFacts(contract, scope, entityTypeId, entityId, jobId); + expect(remaining).toHaveLength(1); + expect(remaining[0].factTypeId.equals(RECEIVED)).toBe(true); + }); + it('notes below the fork survive and remain queryable after a prune', async () => { const contract = await AztecAddress.random(); const scope = await AztecAddress.random(); diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts index f0e0735f9a0d..13e138c157fc 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts @@ -10,6 +10,7 @@ import type { BlockHeader } from '@aztec/stdlib/tx'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import type { AnchorBlockStore } from '../storage/anchor_block_store/index.js'; +import type { EntityStore } from '../storage/entity_store/entity_store.js'; import type { NoteStore } from '../storage/note_store/index.js'; import type { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { blockStreamSourceFromAztecNode } from './block_stream_source.js'; @@ -31,6 +32,7 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler { private anchorBlockStore: AnchorBlockStore, private noteStore: NoteStore, private privateEventStore: PrivateEventStore, + private entityStore: EntityStore, private l2TipsStore: L2TipsKVStore, private contractSyncService: ContractSyncService, private config: Partial = {}, @@ -131,6 +133,7 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler { await this.store.transactionAsync(async () => { await this.noteStore.rollback(event.block.number); await this.privateEventStore.rollback(event.block.number); + await this.entityStore.rollback(event.block.number); await this.updateAnchorBlockHeader(newAnchorBlockHeader); }); break; diff --git a/yarn-project/pxe/src/pxe.ts b/yarn-project/pxe/src/pxe.ts index b42aae24cf25..66d3950e7cc6 100644 --- a/yarn-project/pxe/src/pxe.ts +++ b/yarn-project/pxe/src/pxe.ts @@ -267,6 +267,7 @@ export class PXE { capsuleStore, keyStore, l2TipsStore, + entityStore, } = openPxeStores(store, initialBlockHash); const contractSyncService = new ContractSyncService( node, @@ -282,6 +283,7 @@ export class PXE { anchorBlockStore, noteStore, privateEventStore, + entityStore, l2TipsStore, contractSyncService, config, @@ -295,6 +297,7 @@ export class PXE { recipientTaggingStore, privateEventStore, noteStore, + entityStore, contractSyncService, ]); From a1752cdd4d424119d10625b22e4006dab32589a2 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 13:17:13 +0000 Subject: [PATCH 035/197] test(pxe): cover retractable entity prune in the synchronizer test Rewrite the chain-pruned entity store test in neutral terms (no offchain-message vocabulary) and extend it to cover entity-level retraction: a retractable entity anchored on the abandoned fork is deleted wholesale including its unanchored fact, while a non-retractable entity survives losing only its anchored fact. --- .../block_synchronizer.test.ts | 65 ++++++++++++++----- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 2acf359f655a..1646c0ec58a0 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -293,36 +293,63 @@ describe('BlockSynchronizer', () => { expect(await privateEventStore.eventIdsAtBlock(9)).toEqual([eventId9.toString()]); }); - it('chain-pruned deletes anchored facts and keeps unanchored ones via the synchronizer', async () => { + it('chain-pruned deletes entities and facts anchored above the fork and keeps unanchored ones', async () => { const contract = await AztecAddress.random(); const scope = await AztecAddress.random(); const entityTypeId = Fr.random(); - const entityId = Fr.random(); - // Two distinct fact-type ids stand in for RECEIVED (non-retractable) and PROCESSED (anchored). - const RECEIVED = Fr.random(); - const PROCESSED = Fr.random(); - const jobId = 'fact-job'; + const prunedEntityId = Fr.random(); + const survivingEntityId = Fr.random(); + const anchoredFactType = Fr.random(); + const unanchoredFactType = Fr.random(); + const jobId = 'entity-job'; // Block 5 is the fork point; block 10 is on the abandoned fork (above the fork). const forkBlock = await L2Block.random(BlockNumber(5)); const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); + const orphanAnchor = { blockNumber: 10, blockHash: Fr.random() }; - // Seed: one non-retractable (unanchored) fact and one anchored above the fork. - await entityStore.recordFact(contract, scope, entityTypeId, entityId, RECEIVED, [Fr.random()], undefined, jobId); + // A retractable entity anchored on the abandoned fork: the prune must delete it wholesale, taking even its + // unanchored fact with it. + await entityStore.createEntity(contract, scope, entityTypeId, prunedEntityId, [Fr.random()], orphanAnchor, jobId); await entityStore.recordFact( contract, scope, entityTypeId, - entityId, - PROCESSED, + prunedEntityId, + unanchoredFactType, + [Fr.random()], + undefined, + jobId, + ); + + // A non-retractable entity: the prune must keep it, deleting only its fact anchored on the abandoned fork. + await entityStore.createEntity(contract, scope, entityTypeId, survivingEntityId, [Fr.random()], undefined, jobId); + await entityStore.recordFact( + contract, + scope, + entityTypeId, + survivingEntityId, + unanchoredFactType, + [Fr.random()], + undefined, + jobId, + ); + await entityStore.recordFact( + contract, + scope, + entityTypeId, + survivingEntityId, + anchoredFactType, [], - { blockNumber: 10, blockHash: Fr.random() }, + orphanAnchor, jobId, ); await store.transactionAsync(() => entityStore.commit(jobId)); - // Both facts must be present before the prune. - expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, entityId, jobId)).toHaveLength(2); + // Both entities and all their facts must be present before the prune. + expect(await entityStore.activeEntities(contract, scope, entityTypeId, jobId)).toHaveLength(2); + expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, prunedEntityId, jobId)).toHaveLength(1); + expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, survivingEntityId, jobId)).toHaveLength(2); // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). const anchorBlock10 = await L2Block.random(BlockNumber(10)); @@ -334,17 +361,21 @@ describe('BlockSynchronizer', () => { Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), ); - // Prune back to block 5 (orphaning block 10 where the PROCESSED fact is anchored). + // Prune back to block 5, orphaning block 10 where the retractable records are anchored. await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', block: block5, checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), }); - // The anchored PROCESSED fact must be gone; the unanchored RECEIVED fact must survive. - const remaining = await entityStore.getEntityFacts(contract, scope, entityTypeId, entityId, jobId); + // The retractable entity is gone wholesale; the non-retractable one survives with only its unanchored fact. + const active = await entityStore.activeEntities(contract, scope, entityTypeId, jobId); + expect(active).toHaveLength(1); + expect(active[0].equals(survivingEntityId)).toBe(true); + expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, prunedEntityId, jobId)).toHaveLength(0); + const remaining = await entityStore.getEntityFacts(contract, scope, entityTypeId, survivingEntityId, jobId); expect(remaining).toHaveLength(1); - expect(remaining[0].factTypeId.equals(RECEIVED)).toBe(true); + expect(remaining[0].factTypeId.equals(unanchoredFactType)).toBe(true); }); it('notes below the fork survive and remain queryable after a prune', async () => { From eea00a091a08b79bd524c15051445fbb6a1eac12 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 13:22:08 +0000 Subject: [PATCH 036/197] refactor(pxe): rename entity store anchor to origin block 'Anchor' is already taken by the PXE anchor block concept; the block a retractable entity or fact is tied to is now its 'origin block' (FactAnchor -> OriginBlock, anchor -> originBlock). No serialization change: the buffer layout carries no field names, so the stored format and compatibility snapshots are untouched. --- .../block_synchronizer.test.ts | 38 +++++++----- .../schema_tests.ts | 2 +- .../storage/entity_store/entity_store.test.ts | 14 ++--- .../src/storage/entity_store/entity_store.ts | 62 ++++++++++--------- .../storage/entity_store/stored_fact.test.ts | 4 +- .../src/storage/entity_store/stored_fact.ts | 51 +++++++-------- 6 files changed, 91 insertions(+), 80 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 1646c0ec58a0..67cc69bf606b 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -293,43 +293,51 @@ describe('BlockSynchronizer', () => { expect(await privateEventStore.eventIdsAtBlock(9)).toEqual([eventId9.toString()]); }); - it('chain-pruned deletes entities and facts anchored above the fork and keeps unanchored ones', async () => { + it('chain-pruned deletes entities and facts originating above the fork, keeps non-retractable ones', async () => { const contract = await AztecAddress.random(); const scope = await AztecAddress.random(); const entityTypeId = Fr.random(); const prunedEntityId = Fr.random(); const survivingEntityId = Fr.random(); - const anchoredFactType = Fr.random(); - const unanchoredFactType = Fr.random(); + const retractableFactType = Fr.random(); + const nonRetractableFactType = Fr.random(); const jobId = 'entity-job'; // Block 5 is the fork point; block 10 is on the abandoned fork (above the fork). const forkBlock = await L2Block.random(BlockNumber(5)); const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); - const orphanAnchor = { blockNumber: 10, blockHash: Fr.random() }; + const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; - // A retractable entity anchored on the abandoned fork: the prune must delete it wholesale, taking even its - // unanchored fact with it. - await entityStore.createEntity(contract, scope, entityTypeId, prunedEntityId, [Fr.random()], orphanAnchor, jobId); + // A retractable entity originating on the abandoned fork: the prune must delete it wholesale, taking even its + // non-retractable fact with it. + await entityStore.createEntity( + contract, + scope, + entityTypeId, + prunedEntityId, + [Fr.random()], + orphanedOriginBlock, + jobId, + ); await entityStore.recordFact( contract, scope, entityTypeId, prunedEntityId, - unanchoredFactType, + nonRetractableFactType, [Fr.random()], undefined, jobId, ); - // A non-retractable entity: the prune must keep it, deleting only its fact anchored on the abandoned fork. + // A non-retractable entity: the prune must keep it, deleting only its fact originating on the abandoned fork. await entityStore.createEntity(contract, scope, entityTypeId, survivingEntityId, [Fr.random()], undefined, jobId); await entityStore.recordFact( contract, scope, entityTypeId, survivingEntityId, - unanchoredFactType, + nonRetractableFactType, [Fr.random()], undefined, jobId, @@ -339,9 +347,9 @@ describe('BlockSynchronizer', () => { scope, entityTypeId, survivingEntityId, - anchoredFactType, + retractableFactType, [], - orphanAnchor, + orphanedOriginBlock, jobId, ); await store.transactionAsync(() => entityStore.commit(jobId)); @@ -361,21 +369,21 @@ describe('BlockSynchronizer', () => { Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), ); - // Prune back to block 5, orphaning block 10 where the retractable records are anchored. + // Prune back to block 5, orphaning block 10 where the retractable records originate. await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', block: block5, checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), }); - // The retractable entity is gone wholesale; the non-retractable one survives with only its unanchored fact. + // The retractable entity is gone wholesale; the non-retractable one keeps only its non-retractable fact. const active = await entityStore.activeEntities(contract, scope, entityTypeId, jobId); expect(active).toHaveLength(1); expect(active[0].equals(survivingEntityId)).toBe(true); expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, prunedEntityId, jobId)).toHaveLength(0); const remaining = await entityStore.getEntityFacts(contract, scope, entityTypeId, survivingEntityId, jobId); expect(remaining).toHaveLength(1); - expect(remaining[0].factTypeId.equals(unanchoredFactType)).toBe(true); + expect(remaining[0].factTypeId.equals(nonRetractableFactType)).toBe(true); }); it('notes below the fork survive and remain queryable after a prune', async () => { diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index d8d825de2ef8..c83d31675987 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -225,7 +225,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ const entityTypeId = new Fr(7n); const corrA = new Fr(0xaan); const corrB = new Fr(0xbbn); - // Retractable entity (anchored at block 6): the entity and all its facts are pruned on a reorg above block 6. + // Retractable entity (origin block 6): the entity and all its facts are pruned on a reorg above block 6. await entityStore.createEntity( contract, scope, diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 80d19dbf3dbe..f39a336a60ac 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -183,7 +183,7 @@ describe('EntityStore', () => { }); it('rollback deletes a retractable entity wholesale (payload + every fact) above the target block', async () => { - // Retractable entity anchored at block 6, owning one unanchored and one anchored fact. + // Retractable entity originating at block 6, owning one fact without an origin block and one with. await store.createEntity( contract, scope, @@ -216,7 +216,7 @@ describe('EntityStore', () => { }); it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { - // Non-retractable entity (no anchor) with one unanchored fact + one anchored fact at block 6. + // Non-retractable entity (no origin block) with a non-retractable fact + a fact originating at block 6. await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact( @@ -242,7 +242,7 @@ describe('EntityStore', () => { ]); }); - it('rollback above all anchors is a no-op', async () => { + it('rollback above all origin blocks is a no-op', async () => { await store.createEntity( contract, scope, @@ -274,7 +274,7 @@ describe('EntityStore', () => { ]); }); - it('re-creating an entity with a changed anchor clears the stale by-block index', async () => { + it('re-creating an entity with a changed origin block clears the stale by-block index', async () => { await store.createEntity( contract, scope, @@ -286,7 +286,7 @@ describe('EntityStore', () => { ); await kv.transactionAsync(() => store.commit(JOB)); - // Re-create the same entity anchored at a different block. + // Re-create the same entity originating at a different block. const JOB2 = 'recreate-job'; await store.createEntity( contract, @@ -299,7 +299,7 @@ describe('EntityStore', () => { ); await kv.transactionAsync(() => store.commit(JOB2)); - // Prune above block 5: the entity (anchored at 8) is deleted exactly once. A stale block-6 index entry would make + // Prune above block 5: the entity (origin block 8) is deleted exactly once. A stale block-6 index entry would make // pass 1 visit it a second time and throw "Entity not found". await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); expect((await store.getEntity(contract, scope, ENTITY, corrA, JOB)).payload).toEqual([]); @@ -318,7 +318,7 @@ describe('EntityStore', () => { ); await kv.transactionAsync(() => store.commit(JOB)); - // Re-create the same entity without an anchor: it is now non-retractable and must survive reorgs. + // Re-create the same entity without an origin block: it is now non-retractable and must survive reorgs. const JOB2 = 'recreate-job'; await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 2327d513c143..ea45208f623a 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -6,7 +6,7 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; import { - type FactAnchor, + type OriginBlock, StoredEntity, StoredFact, entityKey, @@ -27,17 +27,17 @@ type StagedOp = /** * Stores immutable facts about entities, grouped by contract, scope, entity type, and entity id. * - * Append-only within a job commit. Retractable facts (those with a block anchor) are deleted on block prune. - * Non-retractable facts (anchor === undefined) survive reorgs as external inputs. Writes are staged per-job and + * Append-only within a job commit. Retractable facts (those with an origin block) are deleted on block prune. + * Non-retractable facts (originBlock === undefined) survive reorgs as external inputs. Writes are staged per-job and * flushed atomically on commit. */ export class EntityStore implements StagedStore { readonly storeName: string = 'entity'; #store: AztecAsyncKVStore; - /** Primary entity records, keyed by entityKey; holds the entity payload and optional anchor. */ + /** Primary entity records, keyed by entityKey; holds the entity payload and optional origin block. */ #entities: AztecAsyncMap; - /** Index from blockNumber to entityKey, for delete-on-prune of retractable entities (anchored entities only). */ + /** Index from blockNumber to entityKey, for delete-on-prune of retractable entities (those with an origin block). */ #entitiesByBlock: AztecAsyncMultiMap; /** Primary fact records, keyed by factRowKey (deduplication row key). */ #facts: AztecAsyncMap; @@ -66,9 +66,10 @@ export class EntityStore implements StagedStore { } /** - * Stages an entity record (with its own payload and optional anchor) under the given job. `anchor === undefined` - * marks the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); a defined - * anchor marks the whole entity retractable — on a prune above its block, the entity and all its facts are deleted. + * Stages an entity record (with its own payload and optional origin block) under the given job. + * `originBlock === undefined` marks the entity non-retractable (it survives reorgs; only its own retractable + * facts are pruned); a defined origin block marks the whole entity retractable — on a prune above its block, the + * entity and all its facts are deleted. * The entity becomes active once committed, independently of whether it owns any facts. */ createEntity( @@ -77,19 +78,19 @@ export class EntityStore implements StagedStore { entityTypeId: Fr, entityId: Fr, payload: Fr[], - anchor: FactAnchor | undefined, + originBlock: OriginBlock | undefined, jobId: string, ): Promise { return this.#withJobLock(jobId, () => { - const entity = new StoredEntity(contract, scope, entityTypeId, entityId, payload, anchor); + const entity = new StoredEntity(contract, scope, entityTypeId, entityId, payload, originBlock); this.#opsFor(jobId).push({ kind: 'createEntity', entity }); return Promise.resolve(); }); } /** - * Stages a fact for recording under the given job. `anchor === undefined` marks the fact non-retractable (it - * survives reorgs); a defined anchor ties the fact to a specific block and it will be deleted on prune. + * Stages a fact for recording under the given job. `originBlock === undefined` marks the fact non-retractable (it + * survives reorgs); a defined origin block ties the fact to a specific block and it will be deleted on prune. * Idempotent: duplicate (entity, factType, payload) tuples collapse to a single row via the dedup row key. */ recordFact( @@ -99,11 +100,11 @@ export class EntityStore implements StagedStore { entityId: Fr, factTypeId: Fr, payload: Fr[], - anchor: FactAnchor | undefined, + originBlock: OriginBlock | undefined, jobId: string, ): Promise { return this.#withJobLock(jobId, () => { - const fact = new StoredFact(contract, scope, entityTypeId, entityId, factTypeId, payload, anchor); + const fact = new StoredFact(contract, scope, entityTypeId, entityId, factTypeId, payload, originBlock); this.#opsFor(jobId).push({ kind: 'record', fact }); return Promise.resolve(); }); @@ -241,28 +242,28 @@ export class EntityStore implements StagedStore { if (op.kind === 'createEntity') { const entity = op.entity; const eKey = entityKeyOf(entity); - // Re-creating an entity may change or drop its anchor; clear any stale by-block index entry from the prior + // Re-creating an entity may change or drop its origin block; clear any stale by-block index entry from the // record first, so a later prune can neither double-visit this entity (and throw) nor wrongly delete one that // has since become non-retractable. const priorBuf = await this.#entities.getAsync(eKey); if (priorBuf) { const prior = StoredEntity.fromBuffer(priorBuf); - if (prior.anchor !== undefined) { - await this.#entitiesByBlock.deleteValue(prior.anchor.blockNumber, eKey); + if (prior.originBlock !== undefined) { + await this.#entitiesByBlock.deleteValue(prior.originBlock.blockNumber, eKey); } } await this.#entities.set(eKey, entity.toBuffer()); await this.#entitiesByScope.set(scopeKeyOf(entity), entity.entityId.toString()); - if (entity.anchor !== undefined) { - await this.#entitiesByBlock.set(entity.anchor.blockNumber, eKey); + if (entity.originBlock !== undefined) { + await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); } } else if (op.kind === 'record') { const fact = op.fact; const rowKey = factRowKeyOf(fact); await this.#facts.set(rowKey, fact.toBuffer()); await this.#factsByEntity.set(entityKeyOf(fact), rowKey); - if (fact.anchor !== undefined) { - await this.#factsByBlock.set(fact.anchor.blockNumber, rowKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.set(fact.originBlock.blockNumber, rowKey); } } else { await this.#deleteEntity(op.contract, op.scope, op.entityTypeId, op.entityId); @@ -278,19 +279,20 @@ export class EntityStore implements StagedStore { } /** - * Delete-on-prune in two passes. Pass 1 deletes every retractable entity anchored to a block strictly above + * Delete-on-prune in two passes. Pass 1 deletes every retractable entity whose origin block is strictly above * `toBlock` wholesale — its payload and every fact it owns, regardless of each fact's own flag. Pass 2 deletes any - * remaining retractable fact anchored above `toBlock` whose entity survived pass 1. Non-retractable entities and + * remaining retractable fact originating above `toBlock` whose entity survived pass 1. Non-retractable entities and * facts are untouched (they never enter the by-block indexes). Must run inside a caller-owned transaction (the * reorg path wraps it with the sibling stores' rollbacks; IndexedDB has no nested transactions). Throws if any job - * has uncommitted staged writes, since rolling back mid-job could re-introduce records anchored to deleted blocks. + * has uncommitted staged writes, since rolling back mid-job could re-introduce records originating from deleted + * blocks. */ async rollback(toBlock: number): Promise { if (this.#opsForJob.size > 0) { throw new Error('PXE entity store rollback is not allowed while jobs are running'); } - // Pass 1: delete retractable entities anchored above toBlock wholesale. Snapshot before mutating so we never + // Pass 1: delete retractable entities originating above toBlock wholesale. Snapshot before mutating so we never // delete from the multimap we are iterating. const orphanedEntities: string[] = []; for await (const [, eKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { @@ -311,7 +313,7 @@ export class EntityStore implements StagedStore { removedEntities++; } - // Pass 2: delete remaining retractable facts anchored above toBlock whose entity survived pass 1. Pass 1 already + // Pass 2: delete remaining retractable facts originating above toBlock whose entity survived pass 1. Pass 1 already // removed the facts_by_block rows of pruned entities, so any leftover row here belongs to a surviving entity. const orphanedFacts: { block: number; rowKey: string }[] = []; for await (const [block, rowKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { @@ -391,16 +393,16 @@ export class EntityStore implements StagedStore { const fact = StoredFact.fromBuffer(buf); await this.#facts.delete(rowKey); await this.#factsByEntity.deleteValue(eKey, rowKey); - if (fact.anchor !== undefined) { - await this.#factsByBlock.deleteValue(fact.anchor.blockNumber, rowKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, rowKey); } } const entityBuf = await this.#entities.getAsync(eKey); if (entityBuf) { const entity = StoredEntity.fromBuffer(entityBuf); await this.#entities.delete(eKey); - if (entity.anchor !== undefined) { - await this.#entitiesByBlock.deleteValue(entity.anchor.blockNumber, eKey); + if (entity.originBlock !== undefined) { + await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); } } await this.#entitiesByScope.deleteValue(scopeKey(contract, scope, entityTypeId), entityId.toString()); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 96204e29ccf2..100d078143f1 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -20,7 +20,7 @@ describe('StoredFact', () => { expect(back.isRetractable).toBe(true); }); - it('round-trips a non-retractable fact (no anchor)', () => { + it('round-trips a non-retractable fact (no origin block)', () => { const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); const back = StoredFact.fromBuffer(fact.toBuffer()); expect(back).toEqual(fact); @@ -59,7 +59,7 @@ describe('StoredEntity', () => { expect(back.isRetractable).toBe(true); }); - it('round-trips a non-retractable entity (no anchor)', () => { + it('round-trips a non-retractable entity (no origin block)', () => { const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n)], undefined); const back = StoredEntity.fromBuffer(entity.toBuffer()); expect(back).toEqual(entity); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index d2025e28004a..6c177f02ec8d 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -3,12 +3,12 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -/** The block an anchored (retractable) fact is tied to. */ -export type FactAnchor = { blockNumber: number; blockHash: Fr }; +/** The block a retractable fact originates from. */ +export type OriginBlock = { blockNumber: number; blockHash: Fr }; /** - * A single immutable fact about an entity. `anchor === undefined` marks the fact non-retractable (an external - * input that survives reorgs); an anchor marks it retractable (re-derivable, deleted when its block is pruned). + * A single immutable fact about an entity. `originBlock === undefined` marks the fact non-retractable (an external + * input that survives reorgs); an origin block marks it retractable (re-derivable, deleted when its block is pruned). */ export class StoredFact { constructor( @@ -18,12 +18,12 @@ export class StoredFact { public readonly entityId: Fr, public readonly factTypeId: Fr, public readonly payload: Fr[], - public readonly anchor: FactAnchor | undefined, + public readonly originBlock: OriginBlock | undefined, ) {} /** Whether this fact is deleted on block pruning (true) or survives reorgs (false). */ get isRetractable(): boolean { - return this.anchor !== undefined; + return this.originBlock !== undefined; } /** Stable digest of the payload, used in the dedup row key (keeps the LMDB key bounded for large payloads). */ @@ -32,7 +32,7 @@ export class StoredFact { } toBuffer(): Buffer { - const anchorTag = this.anchor ? 1 : 0; + const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( this.contractAddress, this.scope, @@ -41,9 +41,9 @@ export class StoredFact { this.factTypeId, this.payload.length, ...this.payload, - anchorTag, - this.anchor ? this.anchor.blockNumber : 0, - this.anchor ? this.anchor.blockHash : Fr.ZERO, + originBlockTag, + this.originBlock ? this.originBlock.blockNumber : 0, + this.originBlock ? this.originBlock.blockHash : Fr.ZERO, ); } @@ -56,18 +56,19 @@ export class StoredFact { const factTypeId = reader.readObject(Fr); const payloadLen = reader.readNumber(); const payload = reader.readArray(payloadLen, Fr); - const anchorTag = reader.readNumber(); + const originBlockTag = reader.readNumber(); const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); - const anchor = anchorTag === 1 ? { blockNumber, blockHash } : undefined; - return new StoredFact(contractAddress, scope, entityTypeId, entityId, factTypeId, [...payload], anchor); + const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; + return new StoredFact(contractAddress, scope, entityTypeId, entityId, factTypeId, [...payload], originBlock); } } /** - * The record for a single entity, with its own payload and optional block anchor. `anchor === undefined` marks the - * entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an anchor marks the whole - * entity retractable — on a prune above its block, the entity payload and every fact it owns are deleted wholesale. + * The record for a single entity, with its own payload and optional origin block. `originBlock === undefined` marks + * the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an origin block marks + * the whole entity retractable — on a prune above its block, the entity payload and every fact it owns are deleted + * wholesale. */ export class StoredEntity { constructor( @@ -76,16 +77,16 @@ export class StoredEntity { public readonly entityTypeId: Fr, public readonly entityId: Fr, public readonly payload: Fr[], - public readonly anchor: FactAnchor | undefined, + public readonly originBlock: OriginBlock | undefined, ) {} /** Whether the whole entity is deleted on block pruning (true) or survives reorgs (false). */ get isRetractable(): boolean { - return this.anchor !== undefined; + return this.originBlock !== undefined; } toBuffer(): Buffer { - const anchorTag = this.anchor ? 1 : 0; + const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( this.contractAddress, this.scope, @@ -93,9 +94,9 @@ export class StoredEntity { this.entityId, this.payload.length, ...this.payload, - anchorTag, - this.anchor ? this.anchor.blockNumber : 0, - this.anchor ? this.anchor.blockHash : Fr.ZERO, + originBlockTag, + this.originBlock ? this.originBlock.blockNumber : 0, + this.originBlock ? this.originBlock.blockHash : Fr.ZERO, ); } @@ -107,11 +108,11 @@ export class StoredEntity { const entityId = reader.readObject(Fr); const payloadLen = reader.readNumber(); const payload = reader.readArray(payloadLen, Fr); - const anchorTag = reader.readNumber(); + const originBlockTag = reader.readNumber(); const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); - const anchor = anchorTag === 1 ? { blockNumber, blockHash } : undefined; - return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...payload], anchor); + const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; + return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...payload], originBlock); } } From 753c09f46dfe51706f063444bfc36b0fa9e18153 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 10 Jun 2026 13:51:33 +0000 Subject: [PATCH 037/197] refactor(pxe): split StoredFact and StoredEntity into separate files stored_fact.ts held both record classes. Give each its own file (stored_fact.ts, stored_entity.ts) with a matching test file, and move the shared primitives they both depend on -- the OriginBlock type, the EntityCoords type, and the scope/entity key derivation -- into a new entity_keys.ts so neither class file imports the other. factRowKeyOf stays with StoredFact as it is fact-specific. --- .../src/storage/entity_store/entity_keys.ts | 33 ++++++++ .../src/storage/entity_store/entity_store.ts | 13 +-- .../entity_store/stored_entity.test.ts | 35 ++++++++ .../src/storage/entity_store/stored_entity.ts | 57 +++++++++++++ .../storage/entity_store/stored_fact.test.ts | 34 +------- .../src/storage/entity_store/stored_fact.ts | 83 +------------------ 6 files changed, 131 insertions(+), 124 deletions(-) create mode 100644 yarn-project/pxe/src/storage/entity_store/entity_keys.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/stored_entity.ts diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts new file mode 100644 index 000000000000..5ba542884f6a --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts @@ -0,0 +1,33 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { AztecAddress } from '@aztec/stdlib/aztec-address'; + +/** The block a retractable entity or fact originates from. */ +export type OriginBlock = { blockNumber: number; blockHash: Fr }; + +/** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ +export type EntityCoords = { + contractAddress: AztecAddress; + scope: AztecAddress; + entityTypeId: Fr; + entityId: Fr; +}; + +/** Key that groups all entities of the same type within a contract+scope. */ +export function scopeKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr): string { + return `${contract}:${scope}:${entityTypeId}`; +} + +/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ +export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): string { + return `${scopeKey(contract, scope, entityTypeId)}:${entityId}`; +} + +/** Key that groups all entities of the same type within a contract+scope. */ +export function scopeKeyOf(coords: EntityCoords): string { + return scopeKey(coords.contractAddress, coords.scope, coords.entityTypeId); +} + +/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ +export function entityKeyOf(coords: EntityCoords): string { + return entityKey(coords.contractAddress, coords.scope, coords.entityTypeId, coords.entityId); +} diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index ea45208f623a..ec98e0f4ca2b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -5,16 +5,9 @@ import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@azte import type { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import { - type OriginBlock, - StoredEntity, - StoredFact, - entityKey, - entityKeyOf, - factRowKeyOf, - scopeKey, - scopeKeyOf, -} from './stored_fact.js'; +import { type OriginBlock, entityKey, entityKeyOf, scopeKey, scopeKeyOf } from './entity_keys.js'; +import { StoredEntity } from './stored_entity.js'; +import { StoredFact, factRowKeyOf } from './stored_fact.js'; type JobId = string; diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts new file mode 100644 index 000000000000..5901e1ad0322 --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts @@ -0,0 +1,35 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { StoredEntity } from './stored_entity.js'; + +describe('StoredEntity', () => { + const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); + const entityType = new Fr(7n); + const entityId = new Fr(42n); + + it('round-trips a retractable entity through buffer serialization', () => { + const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n), new Fr(10n)], { + blockNumber: 12, + blockHash: new Fr(0xabcn), + }); + const back = StoredEntity.fromBuffer(entity.toBuffer()); + expect(back).toEqual(entity); + expect(back.isRetractable).toBe(true); + }); + + it('round-trips a non-retractable entity (no origin block)', () => { + const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n)], undefined); + const back = StoredEntity.fromBuffer(entity.toBuffer()); + expect(back).toEqual(entity); + expect(back.isRetractable).toBe(false); + }); + + it('round-trips an entity with an empty payload', () => { + const entity = new StoredEntity(contract, scope, entityType, entityId, [], undefined); + const back = StoredEntity.fromBuffer(entity.toBuffer()); + expect(back).toEqual(entity); + expect(back.payload).toEqual([]); + }); +}); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts new file mode 100644 index 000000000000..0f8e9b0ecbd5 --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts @@ -0,0 +1,57 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import type { OriginBlock } from './entity_keys.js'; + +/** + * The record for a single entity, with its own payload and optional origin block. `originBlock === undefined` marks + * the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an origin block marks + * the whole entity retractable — on a prune above its block, the entity payload and every fact it owns are deleted + * wholesale. + */ +export class StoredEntity { + constructor( + public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, + public readonly entityTypeId: Fr, + public readonly entityId: Fr, + public readonly payload: Fr[], + public readonly originBlock: OriginBlock | undefined, + ) {} + + /** Whether the whole entity is deleted on block pruning (true) or survives reorgs (false). */ + get isRetractable(): boolean { + return this.originBlock !== undefined; + } + + toBuffer(): Buffer { + const originBlockTag = this.originBlock ? 1 : 0; + return serializeToBuffer( + this.contractAddress, + this.scope, + this.entityTypeId, + this.entityId, + this.payload.length, + ...this.payload, + originBlockTag, + this.originBlock ? this.originBlock.blockNumber : 0, + this.originBlock ? this.originBlock.blockHash : Fr.ZERO, + ); + } + + static fromBuffer(buffer: Buffer | BufferReader): StoredEntity { + const reader = BufferReader.asReader(buffer); + const contractAddress = reader.readObject(AztecAddress); + const scope = reader.readObject(AztecAddress); + const entityTypeId = reader.readObject(Fr); + const entityId = reader.readObject(Fr); + const payloadLen = reader.readNumber(); + const payload = reader.readArray(payloadLen, Fr); + const originBlockTag = reader.readNumber(); + const blockNumber = reader.readNumber(); + const blockHash = reader.readObject(Fr); + const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; + return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...payload], originBlock); + } +} diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 100d078143f1..481db557186c 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -1,7 +1,8 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { StoredEntity, StoredFact, entityKeyOf, factRowKeyOf, scopeKeyOf } from './stored_fact.js'; +import { entityKeyOf, scopeKeyOf } from './entity_keys.js'; +import { StoredFact, factRowKeyOf } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); @@ -42,34 +43,3 @@ describe('StoredFact', () => { expect(a.payloadHash()).toEqual(c.payloadHash()); }); }); - -describe('StoredEntity', () => { - const contract = AztecAddress.fromBigInt(100n); - const scope = AztecAddress.fromBigInt(1n); - const entityType = new Fr(7n); - const entityId = new Fr(42n); - - it('round-trips a retractable entity through buffer serialization', () => { - const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n), new Fr(10n)], { - blockNumber: 12, - blockHash: new Fr(0xabcn), - }); - const back = StoredEntity.fromBuffer(entity.toBuffer()); - expect(back).toEqual(entity); - expect(back.isRetractable).toBe(true); - }); - - it('round-trips a non-retractable entity (no origin block)', () => { - const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n)], undefined); - const back = StoredEntity.fromBuffer(entity.toBuffer()); - expect(back).toEqual(entity); - expect(back.isRetractable).toBe(false); - }); - - it('round-trips an entity with an empty payload', () => { - const entity = new StoredEntity(contract, scope, entityType, entityId, [], undefined); - const back = StoredEntity.fromBuffer(entity.toBuffer()); - expect(back).toEqual(entity); - expect(back.payload).toEqual([]); - }); -}); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index 6c177f02ec8d..198818a7db61 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -3,8 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -/** The block a retractable fact originates from. */ -export type OriginBlock = { blockNumber: number; blockHash: Fr }; +import { type OriginBlock, entityKeyOf } from './entity_keys.js'; /** * A single immutable fact about an entity. `originBlock === undefined` marks the fact non-retractable (an external @@ -64,86 +63,6 @@ export class StoredFact { } } -/** - * The record for a single entity, with its own payload and optional origin block. `originBlock === undefined` marks - * the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an origin block marks - * the whole entity retractable — on a prune above its block, the entity payload and every fact it owns are deleted - * wholesale. - */ -export class StoredEntity { - constructor( - public readonly contractAddress: AztecAddress, - public readonly scope: AztecAddress, - public readonly entityTypeId: Fr, - public readonly entityId: Fr, - public readonly payload: Fr[], - public readonly originBlock: OriginBlock | undefined, - ) {} - - /** Whether the whole entity is deleted on block pruning (true) or survives reorgs (false). */ - get isRetractable(): boolean { - return this.originBlock !== undefined; - } - - toBuffer(): Buffer { - const originBlockTag = this.originBlock ? 1 : 0; - return serializeToBuffer( - this.contractAddress, - this.scope, - this.entityTypeId, - this.entityId, - this.payload.length, - ...this.payload, - originBlockTag, - this.originBlock ? this.originBlock.blockNumber : 0, - this.originBlock ? this.originBlock.blockHash : Fr.ZERO, - ); - } - - static fromBuffer(buffer: Buffer | BufferReader): StoredEntity { - const reader = BufferReader.asReader(buffer); - const contractAddress = reader.readObject(AztecAddress); - const scope = reader.readObject(AztecAddress); - const entityTypeId = reader.readObject(Fr); - const entityId = reader.readObject(Fr); - const payloadLen = reader.readNumber(); - const payload = reader.readArray(payloadLen, Fr); - const originBlockTag = reader.readNumber(); - const blockNumber = reader.readNumber(); - const blockHash = reader.readObject(Fr); - const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; - return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...payload], originBlock); - } -} - -/** Key that groups all entities of the same type within a contract+scope. */ -export function scopeKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr): string { - return `${contract}:${scope}:${entityTypeId}`; -} - -/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ -export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): string { - return `${scopeKey(contract, scope, entityTypeId)}:${entityId}`; -} - -/** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ -type EntityCoords = { - contractAddress: AztecAddress; - scope: AztecAddress; - entityTypeId: Fr; - entityId: Fr; -}; - -/** Key that groups all entities of the same type within a contract+scope. */ -export function scopeKeyOf(coords: EntityCoords): string { - return scopeKey(coords.contractAddress, coords.scope, coords.entityTypeId); -} - -/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ -export function entityKeyOf(coords: EntityCoords): string { - return entityKey(coords.contractAddress, coords.scope, coords.entityTypeId, coords.entityId); -} - /** Dedup row key for a specific fact; incorporates a payload hash to bound key size for large payloads. */ export function factRowKeyOf(fact: StoredFact): string { return `${entityKeyOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; From e43ca83662533596f2725f15a1ed48d73adc361d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 10:53:02 +0000 Subject: [PATCH 038/197] add type aliases for readability --- .../src/storage/entity_store/entity_keys.ts | 26 +++++--- .../src/storage/entity_store/entity_store.ts | 60 +++++++++++-------- .../src/storage/entity_store/stored_fact.ts | 10 +++- 3 files changed, 61 insertions(+), 35 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts index 5ba542884f6a..e78bb2782b52 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts @@ -1,7 +1,9 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import type { AztecAddress } from '@aztec/stdlib/aztec-address'; -/** The block a retractable entity or fact originates from. */ +/** + * The block a retractable entity or fact originates from. + */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; /** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ @@ -12,22 +14,28 @@ export type EntityCoords = { entityId: Fr; }; -/** Key that groups all entities of the same type within a contract+scope. */ -export function scopeKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr): string { +/** Key that groups all entities of the same type within a contract+scope (`contract:scope:entityTypeId`). */ +export type ScopeKey = string; + +/** Key that uniquely identifies a single entity, `scopeKey:entityId`. All its facts share this key prefix. */ +export type EntityKey = string; + +/** Builds the {@link ScopeKey} for the given coordinates. */ +export function scopeKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr): ScopeKey { return `${contract}:${scope}:${entityTypeId}`; } -/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ -export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): string { +/** Builds the {@link EntityKey} for the given coordinates. */ +export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): EntityKey { return `${scopeKey(contract, scope, entityTypeId)}:${entityId}`; } -/** Key that groups all entities of the same type within a contract+scope. */ -export function scopeKeyOf(coords: EntityCoords): string { +/** Builds the {@link ScopeKey} for the given coordinates. */ +export function scopeKeyOf(coords: EntityCoords): ScopeKey { return scopeKey(coords.contractAddress, coords.scope, coords.entityTypeId); } -/** Key that uniquely identifies a single entity (all its facts share this key prefix). */ -export function entityKeyOf(coords: EntityCoords): string { +/** Builds the {@link EntityKey} for the given coordinates. */ +export function entityKeyOf(coords: EntityCoords): EntityKey { return entityKey(coords.contractAddress, coords.scope, coords.entityTypeId, coords.entityId); } diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index ec98e0f4ca2b..023d27933cc5 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -5,11 +5,23 @@ import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@azte import type { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import { type OriginBlock, entityKey, entityKeyOf, scopeKey, scopeKeyOf } from './entity_keys.js'; +import { + type EntityKey, + type OriginBlock, + type ScopeKey, + entityKey, + entityKeyOf, + scopeKey, + scopeKeyOf, +} from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { StoredFact, factRowKeyOf } from './stored_fact.js'; +import { type FactRowKey, StoredFact, factRowKeyOf } from './stored_fact.js'; type JobId = string; +type BlockNum = number; +type EntityIdStr = string; +type StoredEntityBuffer = Buffer; +type StoredFactBuffer = Buffer; /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ type StagedOp = @@ -28,18 +40,18 @@ export class EntityStore implements StagedStore { readonly storeName: string = 'entity'; #store: AztecAsyncKVStore; - /** Primary entity records, keyed by entityKey; holds the entity payload and optional origin block. */ - #entities: AztecAsyncMap; - /** Index from blockNumber to entityKey, for delete-on-prune of retractable entities (those with an origin block). */ - #entitiesByBlock: AztecAsyncMultiMap; - /** Primary fact records, keyed by factRowKey (deduplication row key). */ - #facts: AztecAsyncMap; - /** Index from entityKey to factRowKey for efficient entity-level fold. */ - #factsByEntity: AztecAsyncMultiMap; - /** Index from scopeKey to entityId string for active-entity enumeration. */ - #entitiesByScope: AztecAsyncMultiMap; - /** Index from blockNumber to factRowKey, for delete-on-prune (retractable facts only). */ - #factsByBlock: AztecAsyncMultiMap; + /** Primary entity records; each row holds the entity payload and optional origin block. */ + #entities: AztecAsyncMap; + /** Index for delete-on-prune of retractable entities (those with an origin block). */ + #entitiesByBlock: AztecAsyncMultiMap; + /** Primary fact records, deduplicated by row key. */ + #facts: AztecAsyncMap; + /** Index for efficient entity-level fold. */ + #factsByEntity: AztecAsyncMultiMap; + /** Index for active-entity enumeration. */ + #entitiesByScope: AztecAsyncMultiMap; + /** Index for delete-on-prune (retractable facts only). */ + #factsByBlock: AztecAsyncMultiMap; #opsForJob: Map; #jobLocks: Map; @@ -194,8 +206,8 @@ export class EntityStore implements StagedStore { async activeEntities(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, jobId: string): Promise { const sKey = scopeKey(contract, scope, entityTypeId); const active = await this.#store.transactionAsync(async () => { - const seen = new Set(); - const result = new Set(); + const seen = new Set(); + const result = new Set(); for await (const entityId of this.#entitiesByScope.getValuesAsync(sKey)) { if (seen.has(entityId)) { continue; @@ -280,18 +292,18 @@ export class EntityStore implements StagedStore { * has uncommitted staged writes, since rolling back mid-job could re-introduce records originating from deleted * blocks. */ - async rollback(toBlock: number): Promise { + async rollback(toBlock: BlockNum): Promise { if (this.#opsForJob.size > 0) { throw new Error('PXE entity store rollback is not allowed while jobs are running'); } // Pass 1: delete retractable entities originating above toBlock wholesale. Snapshot before mutating so we never // delete from the multimap we are iterating. - const orphanedEntities: string[] = []; + const orphanedEntities: EntityKey[] = []; for await (const [, eKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { orphanedEntities.push(eKey); } - const deletedEntities = new Set(); + const deletedEntities = new Set(); let removedEntities = 0; for (const eKey of orphanedEntities) { const buf = await this.#entities.getAsync(eKey); @@ -308,7 +320,7 @@ export class EntityStore implements StagedStore { // Pass 2: delete remaining retractable facts originating above toBlock whose entity survived pass 1. Pass 1 already // removed the facts_by_block rows of pruned entities, so any leftover row here belongs to a surviving entity. - const orphanedFacts: { block: number; rowKey: string }[] = []; + const orphanedFacts: { block: BlockNum; rowKey: FactRowKey }[] = []; for await (const [block, rowKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { orphanedFacts.push({ block, rowKey }); } @@ -338,8 +350,8 @@ export class EntityStore implements StagedStore { // ---- private helpers ---- /** Loads the committed facts for an entity keyed by their dedup row key. Caller may wrap in a transaction. */ - async #loadCommittedFacts(eKey: string): Promise> { - const rows = new Map(); + async #loadCommittedFacts(eKey: EntityKey): Promise> { + const rows = new Map(); for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { const buf = await this.#facts.getAsync(rowKey); if (buf) { @@ -354,7 +366,7 @@ export class EntityStore implements StagedStore { * terminate clears the entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded * fact. createEntity ops do not affect the fact set. */ - #replayFactOps(byRow: Map, eKey: string, jobId: string): void { + #replayFactOps(byRow: Map, eKey: EntityKey, jobId: string): void { for (const op of this.#stagedOps(jobId)) { if (op.kind === 'record') { if (entityKeyOf(op.fact) === eKey) { @@ -372,7 +384,7 @@ export class EntityStore implements StagedStore { */ async #deleteEntity(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): Promise { const eKey = entityKey(contract, scope, entityTypeId, entityId); - const rowKeys: string[] = []; + const rowKeys: FactRowKey[] = []; for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { rowKeys.push(rowKey); } diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index 198818a7db61..c49cb20f0be4 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -63,7 +63,13 @@ export class StoredFact { } } -/** Dedup row key for a specific fact; incorporates a payload hash to bound key size for large payloads. */ -export function factRowKeyOf(fact: StoredFact): string { +/** + * Dedup row key for a specific fact, `entityKey:factTypeId:payloadHash`. The payload hash (rather than the raw + * payload) bounds key size for large payloads. + */ +export type FactRowKey = string; + +/** Builds the {@link FactRowKey} for the given fact. */ +export function factRowKeyOf(fact: StoredFact): FactRowKey { return `${entityKeyOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; } From b4d85e7032a858be47d21553c87451df4d94caa7 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 12:00:34 +0000 Subject: [PATCH 039/197] refactor --- .../block_synchronizer.test.ts | 62 +-- .../__snapshots__/EntityStore.json | 7 +- .../__snapshots__/opened_stores.json | 4 + .../schema_tests.ts | 32 +- .../src/storage/entity_store/entity_keys.ts | 10 +- .../storage/entity_store/entity_store.test.ts | 397 +++++++++--------- .../src/storage/entity_store/entity_store.ts | 378 ++++++++++------- .../entity_store/stored_entity.test.ts | 4 +- .../src/storage/entity_store/stored_entity.ts | 16 +- .../src/storage/entity_store/stored_fact.ts | 20 + 10 files changed, 488 insertions(+), 442 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 67cc69bf606b..ae1c8cc4fca6 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -308,56 +308,24 @@ describe('BlockSynchronizer', () => { const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; + const prunedCoords = { contractAddress: contract, scope, entityTypeId, entityId: prunedEntityId }; + const survivingCoords = { contractAddress: contract, scope, entityTypeId, entityId: survivingEntityId }; + // A retractable entity originating on the abandoned fork: the prune must delete it wholesale, taking even its // non-retractable fact with it. - await entityStore.createEntity( - contract, - scope, - entityTypeId, - prunedEntityId, - [Fr.random()], - orphanedOriginBlock, - jobId, - ); - await entityStore.recordFact( - contract, - scope, - entityTypeId, - prunedEntityId, - nonRetractableFactType, - [Fr.random()], - undefined, - jobId, - ); + await entityStore.createEntity(prunedCoords, [Fr.random()], orphanedOriginBlock, jobId); + await entityStore.recordFact(prunedCoords, nonRetractableFactType, [Fr.random()], undefined, jobId); // A non-retractable entity: the prune must keep it, deleting only its fact originating on the abandoned fork. - await entityStore.createEntity(contract, scope, entityTypeId, survivingEntityId, [Fr.random()], undefined, jobId); - await entityStore.recordFact( - contract, - scope, - entityTypeId, - survivingEntityId, - nonRetractableFactType, - [Fr.random()], - undefined, - jobId, - ); - await entityStore.recordFact( - contract, - scope, - entityTypeId, - survivingEntityId, - retractableFactType, - [], - orphanedOriginBlock, - jobId, - ); + await entityStore.createEntity(survivingCoords, [Fr.random()], undefined, jobId); + await entityStore.recordFact(survivingCoords, nonRetractableFactType, [Fr.random()], undefined, jobId); + await entityStore.recordFact(survivingCoords, retractableFactType, [], orphanedOriginBlock, jobId); await store.transactionAsync(() => entityStore.commit(jobId)); // Both entities and all their facts must be present before the prune. - expect(await entityStore.activeEntities(contract, scope, entityTypeId, jobId)).toHaveLength(2); - expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, prunedEntityId, jobId)).toHaveLength(1); - expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, survivingEntityId, jobId)).toHaveLength(2); + expect(await entityStore.getEntities({ contractAddress: contract, scope, entityTypeId }, jobId)).toHaveLength(2); + expect((await entityStore.getEntity(prunedCoords, jobId)).facts).toHaveLength(1); + expect((await entityStore.getEntity(survivingCoords, jobId)).facts).toHaveLength(2); // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). const anchorBlock10 = await L2Block.random(BlockNumber(10)); @@ -377,11 +345,11 @@ describe('BlockSynchronizer', () => { }); // The retractable entity is gone wholesale; the non-retractable one keeps only its non-retractable fact. - const active = await entityStore.activeEntities(contract, scope, entityTypeId, jobId); + const active = await entityStore.getEntities({ contractAddress: contract, scope, entityTypeId }, jobId); expect(active).toHaveLength(1); - expect(active[0].equals(survivingEntityId)).toBe(true); - expect(await entityStore.getEntityFacts(contract, scope, entityTypeId, prunedEntityId, jobId)).toHaveLength(0); - const remaining = await entityStore.getEntityFacts(contract, scope, entityTypeId, survivingEntityId, jobId); + expect(active[0].entity.entityId.equals(survivingEntityId)).toBe(true); + expect((await entityStore.getEntity(prunedCoords, jobId)).facts).toHaveLength(0); + const remaining = (await entityStore.getEntity(survivingCoords, jobId)).facts; expect(remaining).toHaveLength(1); expect(remaining[0].factTypeId.equals(nonRetractableFactType)).toBe(true); }); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json index 6cf28f012500..2bfc22fe4315 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -28,11 +28,11 @@ "facts": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000" + "value": "0000000100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000" }, { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000000000001000000050000000000000000000000000000000000000000000000000000000000000001" + "value": "0000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000000000001000000050000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_entity": [ @@ -50,5 +50,6 @@ "key": "num:5", "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811" } - ] + ], + "fact_seq": "num:2" } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index 90827282db81..a7987b410b87 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -49,6 +49,10 @@ "name": "events_by_contract_selector", "kind": "multimap" }, + { + "name": "fact_seq", + "kind": "singleton" + }, { "name": "facts", "kind": "map" diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index c83d31675987..33972ec3b40d 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -223,31 +223,14 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ const contract = AztecAddress.fromBigInt(100n); const scope = AztecAddress.fromBigInt(1n); const entityTypeId = new Fr(7n); - const corrA = new Fr(0xaan); - const corrB = new Fr(0xbbn); + const coordsA = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xaan) }; + const coordsB = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xbbn) }; // Retractable entity (origin block 6): the entity and all its facts are pruned on a reorg above block 6. - await entityStore.createEntity( - contract, - scope, - entityTypeId, - corrA, - [new Fr(5n)], - { blockNumber: 6, blockHash: new Fr(2n) }, - jobId, - ); - // Non-retractable entity carrying a payload, with a non-retractable and a retractable fact. - await entityStore.createEntity(contract, scope, entityTypeId, corrB, [new Fr(8n)], undefined, jobId); - await entityStore.recordFact(contract, scope, entityTypeId, corrB, new Fr(1n), [new Fr(9n)], undefined, jobId); - await entityStore.recordFact( - contract, - scope, - entityTypeId, - corrB, - new Fr(2n), - [], - { blockNumber: 5, blockHash: new Fr(1n) }, - jobId, - ); + await entityStore.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId); + // Non-retractable entity carrying a body, with a non-retractable and a retractable fact. + await entityStore.createEntity(coordsB, [new Fr(8n)], undefined, jobId); + await entityStore.recordFact(coordsB, new Fr(1n), [new Fr(9n)], undefined, jobId); + await entityStore.recordFact(coordsB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, jobId); await kvStore.transactionAsync(() => entityStore.commit(jobId)); }, snapshotStore: async kvStore => ({ @@ -257,6 +240,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ facts: await snapshotMap(kvStore.openMap('facts')), facts_by_entity: await snapshotMap(kvStore.openMultiMap('facts_by_entity')), facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), + fact_seq: await snapshotSingleton(kvStore.openSingleton('fact_seq')), }), }, diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts index e78bb2782b52..a5adbb45d3e3 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts @@ -6,14 +6,16 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address'; */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; -/** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ -export type EntityCoords = { +/** The contract+scope+entityType coordinates identifying one entity type within a contract+scope. */ +export type ScopeCoords = { contractAddress: AztecAddress; scope: AztecAddress; entityTypeId: Fr; - entityId: Fr; }; +/** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ +export type EntityCoords = ScopeCoords & { entityId: Fr }; + /** Key that groups all entities of the same type within a contract+scope (`contract:scope:entityTypeId`). */ export type ScopeKey = string; @@ -31,7 +33,7 @@ export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTyp } /** Builds the {@link ScopeKey} for the given coordinates. */ -export function scopeKeyOf(coords: EntityCoords): ScopeKey { +export function scopeKeyOf(coords: ScopeCoords): ScopeKey { return scopeKey(coords.contractAddress, coords.scope, coords.entityTypeId); } diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index f39a336a60ac..e58b5762186b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -13,6 +13,9 @@ describe('EntityStore', () => { const PROCESSED = new Fr(2n); const corrA = new Fr(0xaan); const corrB = new Fr(0xbbn); + const coordsA = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }; + const coordsB = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }; + const scopeCoords = { contractAddress: contract, scope, entityTypeId: ENTITY }; const JOB = 'fact-store-test-job'; let kv: AztecAsyncKVStore; @@ -26,315 +29,325 @@ describe('EntityStore', () => { await kv.close(); }); + const entityIdsOf = (entities: { entity: { entityId: Fr } }[]) => entities.map(e => e.entity.entityId.toBigInt()); + it('records facts and loads an entity fact set after commit', async () => { - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact( - contract, - scope, - ENTITY, - corrA, - PROCESSED, - [], - { blockNumber: 5, blockHash: new Fr(1n) }, - JOB, - ); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const { facts } = await store.getEntity(coordsA, JOB); + expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); + }); + + it('returns facts in creation order', async () => { + // Payload values chosen so that creation order differs from the dedup row key (payload hash) order. + const payloads = [9n, 3n, 7n, 1n, 8n, 2n, 6n, 4n]; + for (const value of payloads.slice(0, 5)) { + await store.recordFact(coordsA, RECEIVED, [new Fr(value)], undefined, JOB); + } await kv.transactionAsync(() => store.commit(JOB)); - const facts = await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB); - const factTypes = facts.map(f => f.factTypeId.toBigInt()).sort(); - expect(factTypes).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()].sort()); + // Later facts, committed by a second job, follow the earlier ones. + const JOB2 = 'later-job'; + for (const value of payloads.slice(5)) { + await store.recordFact(coordsA, RECEIVED, [new Fr(value)], undefined, JOB2); + } + await kv.transactionAsync(() => store.commit(JOB2)); + + const { facts } = await store.getEntity(coordsA, JOB); + expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads); + }); + + it('staged facts follow committed facts in creation order (read-your-writes)', async () => { + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'staged-job'; + await store.recordFact(coordsA, RECEIVED, [new Fr(7n)], undefined, JOB2); + await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + + const { facts } = await store.getEntity(coordsA, JOB2); + expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); }); it('dedups identical (entity, factType, payload) records idempotently', async () => { - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const facts = await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB); + const { facts } = await store.getEntity(coordsA, JOB); expect(facts).toHaveLength(1); }); + it('re-recording a fact keeps its creation position', async () => { + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'rerecord-job'; + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB2); + await kv.transactionAsync(() => store.commit(JOB2)); + + const { facts } = await store.getEntity(coordsA, JOB); + expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect(facts[0].originBlock?.blockNumber).toBe(5); + }); + + it('re-recording a fact with a changed origin block updates its retraction block', async () => { + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(1n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // Re-record the identical fact originating at an earlier block: same dedup row, new origin. + const JOB2 = 'rerecord-job'; + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(2n) }, JOB2); + await kv.transactionAsync(() => store.commit(JOB2)); + + // Prune above block 7: the fact now originates at block 5 and must survive. A stale block-10 index entry would + // make pass 2 delete it. + await kv.transactionAsync(() => store.rollback(7)); + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(1); + + // Prune above block 4: the fact originates above the target and is deleted exactly once. + await kv.transactionAsync(() => store.rollback(4)); + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + }); + it('enumerates active entities (created and not terminated) for a scope', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [], undefined, JOB); - await store.createEntity(contract, scope, ENTITY, corrB, [], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.createEntity(coordsA, [], undefined, JOB); + await store.createEntity(coordsB, [], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const active = await store.activeEntities(contract, scope, ENTITY, JOB); - expect(active.map(c => c.toBigInt()).sort()).toEqual([corrA.toBigInt(), corrB.toBigInt()].sort()); + const entities = await store.getEntities(scopeCoords, JOB); + expect(entityIdsOf(entities).sort()).toEqual([corrA.toBigInt(), corrB.toBigInt()].sort()); + }); + + it('getEntities returns each entity complete with body and facts in creation order', async () => { + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, PROCESSED, [new Fr(3n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const entities = await store.getEntities(scopeCoords, JOB); + expect(entities).toHaveLength(1); + expect(entities[0].entity.body.map(f => f.toBigInt())).toEqual([5n]); + expect(entities[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); it('lists an entity as active even when it has zero facts', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const entities = await store.getEntities(scopeCoords, JOB); + expect(entityIdsOf(entities)).toEqual([corrA.toBigInt()]); + expect(entities[0].facts).toHaveLength(0); + }); + + it('creating the same entity twice keeps the last body and lists it once', async () => { + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect((await store.getEntity(coordsA, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + + // Re-creating in a later commit overwrites again and still lists the entity exactly once. + const JOB2 = 'recreate-job'; + await store.createEntity(coordsA, [new Fr(3n)], undefined, JOB2); + await kv.transactionAsync(() => store.commit(JOB2)); + + expect((await store.getEntity(coordsA, JOB)).body.map(f => f.toBigInt())).toEqual([3n]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + }); + + it('re-creating an entity keeps the facts it already owns', async () => { + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ - corrA.toBigInt(), - ]); + const JOB2 = 'recreate-job'; + await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB2); + + // Both before and after commit, the new body is paired with the existing facts. + const staged = await store.getEntities(scopeCoords, JOB2); + expect(staged[0].entity.body.map(f => f.toBigInt())).toEqual([2n]); + expect(staged[0].facts).toHaveLength(1); + + await kv.transactionAsync(() => store.commit(JOB2)); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([2n]); + expect(facts).toHaveLength(1); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); // Same job, before commit: the staged entity is active and its fact is visible. - const facts = await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB); + const { facts } = await store.getEntity(coordsA, JOB); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); - expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ - corrA.toBigInt(), - ]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); // A different job does not see the uncommitted write. - expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, 'other-job')).toHaveLength(0); - expect(await store.activeEntities(contract, scope, ENTITY, 'other-job')).toHaveLength(0); + expect((await store.getEntity(coordsA, 'other-job')).facts).toHaveLength(0); + expect(await store.getEntities(scopeCoords, 'other-job')).toHaveLength(0); }); - it('getEntity returns the payload and both facts of an entity with facts', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n), new Fr(6n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact( - contract, - scope, - ENTITY, - corrA, - PROCESSED, - [], - { blockNumber: 5, blockHash: new Fr(1n) }, - JOB, - ); + it('getEntity returns the body and both facts of an entity with facts', async () => { + await store.createEntity(coordsA, [new Fr(5n), new Fr(6n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload.map(f => f.toBigInt())).toEqual([5n, 6n]); - expect(facts.map(f => f.factTypeId.toBigInt()).sort()).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()].sort()); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n, 6n]); + expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); - it('getEntity returns the payload and empty facts for an entity with zero facts', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); + it('getEntity returns the body and empty facts for an entity with zero facts', async () => { + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload.map(f => f.toBigInt())).toEqual([5n]); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts).toHaveLength(0); }); - it('getEntity returns an empty payload when no entity record exists', async () => { - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload).toEqual([]); + it('getEntity returns an empty body when no entity record exists', async () => { + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body).toEqual([]); expect(facts).toHaveLength(0); }); it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload.map(f => f.toBigInt())).toEqual([5n]); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // A different job does not see the uncommitted write. - expect((await store.getEntity(contract, scope, ENTITY, corrA, 'other-job')).payload).toEqual([]); + expect((await store.getEntity(coordsA, 'other-job')).body).toEqual([]); }); it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A later job stages a terminate; within that job the entity reads as gone, while other jobs still see it // committed until the terminate commits. const TERM = 'terminate-job'; - await store.terminateEntity(contract, scope, ENTITY, corrA, TERM); + await store.terminateEntity(coordsA, TERM); - expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, TERM)).toHaveLength(0); - expect((await store.getEntity(contract, scope, ENTITY, corrA, TERM)).payload).toEqual([]); - expect(await store.activeEntities(contract, scope, ENTITY, TERM)).toHaveLength(0); - expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, 'reader')).toHaveLength(1); + expect((await store.getEntity(coordsA, TERM)).facts).toHaveLength(0); + expect((await store.getEntity(coordsA, TERM)).body).toEqual([]); + expect(await store.getEntities(scopeCoords, TERM)).toHaveLength(0); + expect((await store.getEntity(coordsA, 'reader')).facts).toHaveLength(1); }); it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); - await store.createEntity(contract, scope, ENTITY, corrB, [], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact( - contract, - scope, - ENTITY, - corrA, - PROCESSED, - [], - { blockNumber: 5, blockHash: new Fr(1n) }, - JOB, - ); - await store.recordFact(contract, scope, ENTITY, corrB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.createEntity(coordsB, [], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const TERM = 'terminate-job'; - await store.terminateEntity(contract, scope, ENTITY, corrA, TERM); + await store.terminateEntity(coordsA, TERM); await kv.transactionAsync(() => store.commit(TERM)); - expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB)).toHaveLength(0); - expect((await store.getEntity(contract, scope, ENTITY, corrA, JOB)).payload).toEqual([]); - const active = await store.activeEntities(contract, scope, ENTITY, JOB); - expect(active.map(c => c.toBigInt())).toEqual([corrB.toBigInt()]); + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrB.toBigInt()]); // The neighbouring entity is untouched. - expect(await store.getEntityFacts(contract, scope, ENTITY, corrB, JOB)).toHaveLength(1); + expect((await store.getEntity(coordsB, JOB)).facts).toHaveLength(1); }); - it('rollback deletes a retractable entity wholesale (payload + every fact) above the target block', async () => { + it('rollback deletes a retractable entity wholesale (body + every fact) above the target block', async () => { // Retractable entity originating at block 6, owning one fact without an origin block and one with. - await store.createEntity( - contract, - scope, - ENTITY, - corrA, - [new Fr(5n)], - { blockNumber: 6, blockHash: new Fr(1n) }, - JOB, - ); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact( - contract, - scope, - ENTITY, - corrA, - PROCESSED, - [], - { blockNumber: 7, blockHash: new Fr(2n) }, - JOB, - ); + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload).toEqual([]); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body).toEqual([]); expect(facts).toHaveLength(0); - expect(await store.getEntityFacts(contract, scope, ENTITY, corrA, JOB)).toHaveLength(0); - expect(await store.activeEntities(contract, scope, ENTITY, JOB)).toHaveLength(0); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); }); it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { // Non-retractable entity (no origin block) with a non-retractable fact + a fact originating at block 6. - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB); - await store.recordFact(contract, scope, ENTITY, corrA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact( - contract, - scope, - ENTITY, - corrA, - PROCESSED, - [], - { blockNumber: 6, blockHash: new Fr(1n) }, - JOB, - ); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload.map(f => f.toBigInt())).toEqual([5n]); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept // Entity stays active because the entity record survives. - expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ - corrA.toBigInt(), - ]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback above all origin blocks is a no-op', async () => { - await store.createEntity( - contract, - scope, - ENTITY, - corrA, - [new Fr(5n)], - { blockNumber: 6, blockHash: new Fr(1n) }, - JOB, - ); - await store.recordFact( - contract, - scope, - ENTITY, - corrA, - PROCESSED, - [], - { blockNumber: 7, blockHash: new Fr(2n) }, - JOB, - ); + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(10)); - const { payload, facts } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload.map(f => f.toBigInt())).toEqual([5n]); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ - corrA.toBigInt(), - ]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); }); it('re-creating an entity with a changed origin block clears the stale by-block index', async () => { - await store.createEntity( - contract, - scope, - ENTITY, - corrA, - [new Fr(5n)], - { blockNumber: 6, blockHash: new Fr(1n) }, - JOB, - ); + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-create the same entity originating at a different block. const JOB2 = 'recreate-job'; - await store.createEntity( - contract, - scope, - ENTITY, - corrA, - [new Fr(5n)], - { blockNumber: 8, blockHash: new Fr(2n) }, - JOB2, - ); + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(2n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); // Prune above block 5: the entity (origin block 8) is deleted exactly once. A stale block-6 index entry would make // pass 1 visit it a second time and throw "Entity not found". await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); - expect((await store.getEntity(contract, scope, ENTITY, corrA, JOB)).payload).toEqual([]); - expect(await store.activeEntities(contract, scope, ENTITY, JOB)).toHaveLength(0); + expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); }); it('re-creating a retractable entity as non-retractable lets it survive a prune', async () => { - await store.createEntity( - contract, - scope, - ENTITY, - corrA, - [new Fr(5n)], - { blockNumber: 6, blockHash: new Fr(1n) }, - JOB, - ); + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-create the same entity without an origin block: it is now non-retractable and must survive reorgs. const JOB2 = 'recreate-job'; - await store.createEntity(contract, scope, ENTITY, corrA, [new Fr(5n)], undefined, JOB2); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); await kv.transactionAsync(() => store.rollback(5)); // Survived: the stale block-6 index entry was cleared when the entity was re-created. - const { payload } = await store.getEntity(contract, scope, ENTITY, corrA, JOB); - expect(payload.map(f => f.toBigInt())).toEqual([5n]); - expect((await store.activeEntities(contract, scope, ENTITY, JOB)).map(c => c.toBigInt())).toEqual([ - corrA.toBigInt(), - ]); + const { body } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback throws while a job has staged writes', async () => { - await store.createEntity(contract, scope, ENTITY, corrA, [], undefined, 'uncommitted-job'); + await store.createEntity(coordsA, [], undefined, 'uncommitted-job'); await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( 'PXE entity store rollback is not allowed while jobs are running', ); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 023d27933cc5..9aea2f1ca8cd 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -1,57 +1,58 @@ -import { Fr } from '@aztec/foundation/curves/bn254'; +import type { Fr } from '@aztec/foundation/curves/bn254'; import { createLogger } from '@aztec/foundation/log'; import { Semaphore } from '@aztec/foundation/queue'; -import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store'; -import type { AztecAddress } from '@aztec/stdlib/aztec-address'; +import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSingleton } from '@aztec/kv-store'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; import { + type EntityCoords, type EntityKey, type OriginBlock, + type ScopeCoords, type ScopeKey, - entityKey, entityKeyOf, - scopeKey, scopeKeyOf, } from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { type FactRowKey, StoredFact, factRowKeyOf } from './stored_fact.js'; +import { type FactRowKey, StoredFact, deserializeFactRow, factRowKeyOf, serializeFactRow } from './stored_fact.js'; type JobId = string; type BlockNum = number; type EntityIdStr = string; type StoredEntityBuffer = Buffer; -type StoredFactBuffer = Buffer; +type FactRowBuffer = Buffer; /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ type StagedOp = | { kind: 'createEntity'; entity: StoredEntity } | { kind: 'record'; fact: StoredFact } - | { kind: 'terminate'; contract: AztecAddress; scope: AztecAddress; entityTypeId: Fr; entityId: Fr }; + | { kind: 'terminate'; coords: EntityCoords }; /** * Stores immutable facts about entities, grouped by contract, scope, entity type, and entity id. * * Append-only within a job commit. Retractable facts (those with an origin block) are deleted on block prune. * Non-retractable facts (originBlock === undefined) survive reorgs as external inputs. Writes are staged per-job and - * flushed atomically on commit. + * flushed atomically on commit. Facts are returned in creation order. */ export class EntityStore implements StagedStore { readonly storeName: string = 'entity'; #store: AztecAsyncKVStore; - /** Primary entity records; each row holds the entity payload and optional origin block. */ + /** Primary entity records; each row holds the entity body and optional origin block. */ #entities: AztecAsyncMap; /** Index for delete-on-prune of retractable entities (those with an origin block). */ #entitiesByBlock: AztecAsyncMultiMap; /** Primary fact records, deduplicated by row key. */ - #facts: AztecAsyncMap; + #facts: AztecAsyncMap; /** Index for efficient entity-level fold. */ #factsByEntity: AztecAsyncMultiMap; /** Index for active-entity enumeration. */ #entitiesByScope: AztecAsyncMultiMap; /** Index for delete-on-prune (retractable facts only). */ #factsByBlock: AztecAsyncMultiMap; + /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ + #factSeq: AztecAsyncSingleton; #opsForJob: Map; #jobLocks: Map; @@ -66,212 +67,235 @@ export class EntityStore implements StagedStore { this.#factsByEntity = store.openMultiMap('facts_by_entity'); this.#entitiesByScope = store.openMultiMap('entities_by_scope'); this.#factsByBlock = store.openMultiMap('facts_by_block'); + this.#factSeq = store.openSingleton('fact_seq'); this.#opsForJob = new Map(); this.#jobLocks = new Map(); } /** - * Stages an entity record (with its own payload and optional origin block) under the given job. - * `originBlock === undefined` marks the entity non-retractable (it survives reorgs; only its own retractable - * facts are pruned); a defined origin block marks the whole entity retractable — on a prune above its block, the - * entity and all its facts are deleted. - * The entity becomes active once committed, independently of whether it owns any facts. + * Stages an entity record (with its own body and optional origin block) under the given job. + * + * `originBlock === undefined` marks the entity non-retractable (it survives reorgs; only its own retractable facts + * are pruned). A defined origin block marks the whole entity retractable: on a prune above its block, the entity and + * all its facts are deleted. + * + * The entity becomes immediately active, independently of whether it owns any facts. Re-creating an existing entity + * overwrites its record (body and origin block, last write wins) and keeps the facts it already owns. */ - createEntity( - contract: AztecAddress, - scope: AztecAddress, - entityTypeId: Fr, - entityId: Fr, - payload: Fr[], - originBlock: OriginBlock | undefined, - jobId: string, - ): Promise { + createEntity(coords: EntityCoords, body: Fr[], originBlock: OriginBlock | undefined, jobId: string): Promise { return this.#withJobLock(jobId, () => { - const entity = new StoredEntity(contract, scope, entityTypeId, entityId, payload, originBlock); + const entity = new StoredEntity( + coords.contractAddress, + coords.scope, + coords.entityTypeId, + coords.entityId, + body, + originBlock, + ); this.#opsFor(jobId).push({ kind: 'createEntity', entity }); return Promise.resolve(); }); } /** - * Stages a fact for recording under the given job. `originBlock === undefined` marks the fact non-retractable (it - * survives reorgs); a defined origin block ties the fact to a specific block and it will be deleted on prune. - * Idempotent: duplicate (entity, factType, payload) tuples collapse to a single row via the dedup row key. + * Stages a fact for recording under the given job. + * + * `originBlock === undefined` marks the fact non-retractable (it survives reorgs); a defined origin block ties the + * fact to a specific block and it will be deleted on prune. + * + * Facts are returned in creation order by the read methods. Idempotent: duplicate (entity, factType, payload) + * tuples collapse to a single row via the dedup row key; a re-recorded fact keeps its original creation position + * while its origin block is updated (last write wins). */ recordFact( - contract: AztecAddress, - scope: AztecAddress, - entityTypeId: Fr, - entityId: Fr, + coords: EntityCoords, factTypeId: Fr, payload: Fr[], originBlock: OriginBlock | undefined, jobId: string, ): Promise { return this.#withJobLock(jobId, () => { - const fact = new StoredFact(contract, scope, entityTypeId, entityId, factTypeId, payload, originBlock); + const fact = new StoredFact( + coords.contractAddress, + coords.scope, + coords.entityTypeId, + coords.entityId, + factTypeId, + payload, + originBlock, + ); this.#opsFor(jobId).push({ kind: 'record', fact }); return Promise.resolve(); }); } /** Permanently delete an entity (all its facts). Staged within the job; applied on commit. */ - terminateEntity( - contract: AztecAddress, - scope: AztecAddress, - entityTypeId: Fr, - entityId: Fr, - jobId: string, - ): Promise { + terminateEntity(coords: EntityCoords, jobId: string): Promise { return this.#withJobLock(jobId, () => { - this.#opsFor(jobId).push({ kind: 'terminate', contract, scope, entityTypeId, entityId }); + this.#opsFor(jobId).push({ kind: 'terminate', coords }); return Promise.resolve(); }); } /** - * Returns the facts for one entity. + * Returns one entity's body together with its facts in creation order. * - * @param contract - The contract address owning the entity. - * @param scope - The scope (recipient address) under which facts were recorded. - * @param entityTypeId - Discriminates entity kinds within a contract+scope. - * @param entityId - Identifies the specific entity instance. - * @param jobId - The job whose staged writes are layered over committed state. - */ - async getEntityFacts( - contract: AztecAddress, - scope: AztecAddress, - entityTypeId: Fr, - entityId: Fr, - jobId: string, - ): Promise { - const eKey = entityKey(contract, scope, entityTypeId, entityId); - const byRow = await this.#store.transactionAsync(() => this.#loadCommittedFacts(eKey)); - this.#replayFactOps(byRow, eKey, jobId); - return Array.from(byRow.values()); - } - - /** - * Returns one entity's payload together with its facts. - * - * The payload comes from the entity record (empty when no entity record exists); the facts come from the per-entity + * The body comes from the entity record (empty when no entity record exists); the facts come from the per-entity * fact index. This job's staged ops are layered over committed state for read-your-writes: a createEntity sets the - * payload, a record adds/dedups a fact, a terminate clears both payload and facts. + * body, a record adds/dedups a fact, a terminate clears both body and facts. * - * @param contract - The contract address owning the entity. - * @param scope - The scope (recipient address) under which the entity was created. - * @param entityTypeId - Discriminates entity kinds within a contract+scope. - * @param entityId - Identifies the specific entity instance. + * @param coords - The coordinates identifying the entity. * @param jobId - The job whose staged writes are layered over committed state. */ - async getEntity( - contract: AztecAddress, - scope: AztecAddress, - entityTypeId: Fr, - entityId: Fr, - jobId: string, - ): Promise<{ payload: Fr[]; facts: StoredFact[] }> { - const eKey = entityKey(contract, scope, entityTypeId, entityId); - const { payload, byRow } = await this.#store.transactionAsync(async () => { + async getEntity(coords: EntityCoords, jobId: string): Promise<{ body: Fr[]; facts: StoredFact[] }> { + const eKey = entityKeyOf(coords); + const { body, byRow } = await this.#store.transactionAsync(async () => { const entityBuf = await this.#entities.getAsync(eKey); return { - payload: entityBuf ? StoredEntity.fromBuffer(entityBuf).payload : [], + body: entityBuf ? StoredEntity.fromBuffer(entityBuf).body : [], byRow: await this.#loadCommittedFacts(eKey), }; }); - // Replay this job's staged ops in order over committed state. Order matters so a terminate-then-create sequence - // resolves to the re-created entity, and a terminate clears both payload and facts. - let currentPayload = payload; + // The body and the fact set are updated independently by each op kind (a terminate clears both, but does so in + // both replays at the same position in the op sequence), so replaying them separately is equivalent to a single + // in-order replay. + this.#replayFactOps(byRow, eKey, jobId); + let currentBody = body; for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'createEntity') { - if (entityKeyOf(op.entity) === eKey) { - currentPayload = op.entity.payload; - } - } else if (op.kind === 'record') { - if (entityKeyOf(op.fact) === eKey) { - byRow.set(factRowKeyOf(op.fact), op.fact); - } - } else if (entityKey(op.contract, op.scope, op.entityTypeId, op.entityId) === eKey) { - currentPayload = []; - byRow.clear(); + switch (op.kind) { + case 'createEntity': + if (entityKeyOf(op.entity) === eKey) { + currentBody = op.entity.body; + } + break; + case 'terminate': + if (entityKeyOf(op.coords) === eKey) { + currentBody = []; + } + break; + case 'record': + break; } } - return { payload: currentPayload, facts: Array.from(byRow.values()) }; + return { body: currentBody, facts: Array.from(byRow.values()) }; } /** - * Returns the entity ids of all active entities under (contract, scope, entityTypeId) — entities that have an - * entity record and have not been terminated. Entity presence is independent of whether the entity owns any facts. + * Returns all active entities under (contract, scope, entityTypeId) — entities that have an entity record and have + * not been terminated — together with their facts in creation order. Entity presence is independent of whether the + * entity owns any facts. + * + * This job's staged ops are layered over committed state for read-your-writes: a createEntity activates the entity + * (keeping any facts it already owns), a record adds/dedups a fact, a terminate deactivates the entity. */ - async activeEntities(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, jobId: string): Promise { - const sKey = scopeKey(contract, scope, entityTypeId); - const active = await this.#store.transactionAsync(async () => { - const seen = new Set(); - const result = new Set(); + async getEntities(coords: ScopeCoords, jobId: string): Promise<{ entity: StoredEntity; facts: StoredFact[] }[]> { + const sKey = scopeKeyOf(coords); + const entities = await this.#store.transactionAsync(async () => { + // Snapshot the scope index before issuing point reads so we never interleave reads with a live cursor. + const entityIds: EntityIdStr[] = []; for await (const entityId of this.#entitiesByScope.getValuesAsync(sKey)) { - if (seen.has(entityId)) { - continue; - } - seen.add(entityId); - // Guard against stale index entries: once terminate/rollback delete an entity record, its entity id - // should be gone from #entitiesByScope, but we re-check the entity record exists so a missed index update - // can never surface a ghost entity as active. - if (await this.#entities.getAsync(`${sKey}:${entityId}`)) { - result.add(entityId); + entityIds.push(entityId); + } + const result = new Map }>(); + for (const entityId of entityIds) { + const eKey = `${sKey}:${entityId}`; + const buf = await this.#entities.getAsync(eKey); + if (!buf) { + // An #entitiesByScope entry must always reference a live #entities row; a missing one means the indexes + // are corrupt, so fail loudly rather than surface a ghost entity or silently hide the corruption. + throw new Error(`Entity not found for entityKey ${eKey}`); } + result.set(entityId, { entity: StoredEntity.fromBuffer(buf), byRow: await this.#loadCommittedFacts(eKey) }); } return result; }); // Replay this job's staged ops in order: a createEntity activates the entity, a terminate deactivates it. for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'createEntity') { - if (scopeKeyOf(op.entity) === sKey) { - active.add(op.entity.entityId.toString()); + switch (op.kind) { + case 'createEntity': { + if (scopeKeyOf(op.entity) !== sKey) { + break; + } + // A re-created entity keeps the facts it already owns; a new one starts with none. + const prior = entities.get(op.entity.entityId.toString()); + entities.set(op.entity.entityId.toString(), { entity: op.entity, byRow: prior?.byRow ?? new Map() }); + break; } - } else if (op.kind === 'terminate' && scopeKey(op.contract, op.scope, op.entityTypeId) === sKey) { - active.delete(op.entityId.toString()); + case 'record': { + if (scopeKeyOf(op.fact) !== sKey) { + break; + } + // A fact recorded for an entity with no record is stored but only surfaces once the entity is created, + // mirroring committed behavior (facts never activate an entity). + entities.get(op.fact.entityId.toString())?.byRow.set(factRowKeyOf(op.fact), op.fact); + break; + } + case 'terminate': + if (scopeKeyOf(op.coords) === sKey) { + entities.delete(op.coords.entityId.toString()); + } + break; } } - return Array.from(active, Fr.fromString); + return Array.from(entities.values(), ({ entity, byRow }) => ({ entity, facts: Array.from(byRow.values()) })); } /** * Commits all staged operations for the given job to persistent storage. * * Must be called inside a transaction owned by the caller (JobCoordinator wraps all commits in a single - * transactionAsync, and IndexedDB does not support nested transactions). Do not call #withJobLock here — awaiting + * transactionAsync, and IndexedDB does not support nested transactions). Do not call #withJobLock here: awaiting * the lock creates a microtask boundary that causes IndexedDB to auto-commit the outer transaction. */ async commit(jobId: string): Promise { for (const op of this.#opsFor(jobId)) { - if (op.kind === 'createEntity') { - const entity = op.entity; - const eKey = entityKeyOf(entity); - // Re-creating an entity may change or drop its origin block; clear any stale by-block index entry from the - // record first, so a later prune can neither double-visit this entity (and throw) nor wrongly delete one that - // has since become non-retractable. - const priorBuf = await this.#entities.getAsync(eKey); - if (priorBuf) { - const prior = StoredEntity.fromBuffer(priorBuf); - if (prior.originBlock !== undefined) { - await this.#entitiesByBlock.deleteValue(prior.originBlock.blockNumber, eKey); + switch (op.kind) { + case 'createEntity': { + const entity = op.entity; + const eKey = entityKeyOf(entity); + // Re-creating an entity may change or drop its origin block; clear any stale by-block index entry from the + // record first, so a later prune can neither double-visit this entity (and throw) nor wrongly delete one + // that has since become non-retractable. + const priorBuf = await this.#entities.getAsync(eKey); + if (priorBuf) { + const prior = StoredEntity.fromBuffer(priorBuf); + if (prior.originBlock !== undefined) { + await this.#entitiesByBlock.deleteValue(prior.originBlock.blockNumber, eKey); + } } + await this.#entities.set(eKey, entity.toBuffer()); + await this.#entitiesByScope.set(scopeKeyOf(entity), entity.entityId.toString()); + if (entity.originBlock !== undefined) { + await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); + } + break; } - await this.#entities.set(eKey, entity.toBuffer()); - await this.#entitiesByScope.set(scopeKeyOf(entity), entity.entityId.toString()); - if (entity.originBlock !== undefined) { - await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); - } - } else if (op.kind === 'record') { - const fact = op.fact; - const rowKey = factRowKeyOf(fact); - await this.#facts.set(rowKey, fact.toBuffer()); - await this.#factsByEntity.set(entityKeyOf(fact), rowKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.set(fact.originBlock.blockNumber, rowKey); + case 'record': { + const fact = op.fact; + const rowKey = factRowKeyOf(fact); + // Re-recording a fact may change or drop its origin block; keep its original sequence number (so it keeps + // its creation position) and clear any stale by-block index entry, mirroring the createEntity guard above. + const priorBuf = await this.#facts.getAsync(rowKey); + let seq: number; + if (priorBuf) { + const prior = deserializeFactRow(priorBuf); + seq = prior.seq; + if (prior.fact.originBlock !== undefined) { + await this.#factsByBlock.deleteValue(prior.fact.originBlock.blockNumber, rowKey); + } + } else { + seq = await this.#nextFactSeq(); + } + await this.#facts.set(rowKey, serializeFactRow({ seq, fact })); + await this.#factsByEntity.set(entityKeyOf(fact), rowKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.set(fact.originBlock.blockNumber, rowKey); + } + break; } - } else { - await this.#deleteEntity(op.contract, op.scope, op.entityTypeId, op.entityId); + case 'terminate': + await this.#deleteEntity(op.coords); + break; } } this.#clearJobData(jobId); @@ -285,7 +309,7 @@ export class EntityStore implements StagedStore { /** * Delete-on-prune in two passes. Pass 1 deletes every retractable entity whose origin block is strictly above - * `toBlock` wholesale — its payload and every fact it owns, regardless of each fact's own flag. Pass 2 deletes any + * `toBlock` wholesale: its body and every fact it owns, regardless of each fact's own flag. Pass 2 deletes any * remaining retractable fact originating above `toBlock` whose entity survived pass 1. Non-retractable entities and * facts are untouched (they never enter the by-block indexes). Must run inside a caller-owned transaction (the * reorg path wraps it with the sibling stores' rollbacks; IndexedDB has no nested transactions). Throws if any job @@ -313,7 +337,7 @@ export class EntityStore implements StagedStore { throw new Error(`Entity not found for entityKey ${eKey}`); } const entity = StoredEntity.fromBuffer(buf); - await this.#deleteEntity(entity.contractAddress, entity.scope, entity.entityTypeId, entity.entityId); + await this.#deleteEntity(entity); deletedEntities.add(eKey); removedEntities++; } @@ -332,7 +356,7 @@ export class EntityStore implements StagedStore { // and the by-block entry for pruned entities), so fail loudly rather than leave a dangling index entry. throw new Error(`Fact not found for rowKey ${rowKey}`); } - const fact = StoredFact.fromBuffer(buf); + const { fact } = deserializeFactRow(buf); const eKey = entityKeyOf(fact); // Belt-and-braces: a fact whose entity was pruned in pass 1 must not be re-processed here. With #deleteEntity // clearing the by-block index this is unreachable, but the guard keeps pass 2 correct if that ever changes. @@ -349,16 +373,32 @@ export class EntityStore implements StagedStore { // ---- private helpers ---- - /** Loads the committed facts for an entity keyed by their dedup row key. Caller may wrap in a transaction. */ + /** + * Loads the committed facts for an entity keyed by their dedup row key, in creation order. Caller may wrap in a + * transaction. + */ async #loadCommittedFacts(eKey: EntityKey): Promise> { - const rows = new Map(); + // Snapshot the index before issuing point reads so we never interleave reads with a live cursor (IndexedDB + // cursors are sensitive to what runs between iterations). + const rowKeys: FactRowKey[] = []; for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { + rowKeys.push(rowKey); + } + const rows: { rowKey: FactRowKey; seq: number; fact: StoredFact }[] = []; + for (const rowKey of rowKeys) { const buf = await this.#facts.getAsync(rowKey); - if (buf) { - rows.set(rowKey, StoredFact.fromBuffer(buf)); + if (!buf) { + // A #factsByEntity entry must always reference a live #facts row; a missing one means the indexes are + // corrupt, so fail loudly rather than silently drop the fact. + throw new Error(`Fact not found for rowKey ${rowKey}`); } + const { seq, fact } = deserializeFactRow(buf); + rows.push({ rowKey, seq, fact }); } - return rows; + // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB); sort by the + // commit-assigned sequence so facts always come back in creation order. + rows.sort((a, b) => a.seq - b.seq); + return new Map(rows.map(({ rowKey, fact }) => [rowKey, fact])); } /** @@ -368,22 +408,36 @@ export class EntityStore implements StagedStore { */ #replayFactOps(byRow: Map, eKey: EntityKey, jobId: string): void { for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'record') { - if (entityKeyOf(op.fact) === eKey) { - byRow.set(factRowKeyOf(op.fact), op.fact); - } - } else if (op.kind === 'terminate' && entityKey(op.contract, op.scope, op.entityTypeId, op.entityId) === eKey) { - byRow.clear(); + switch (op.kind) { + case 'record': + if (entityKeyOf(op.fact) === eKey) { + byRow.set(factRowKeyOf(op.fact), op.fact); + } + break; + case 'terminate': + if (entityKeyOf(op.coords) === eKey) { + byRow.clear(); + } + break; + case 'createEntity': + break; } } } + /** Returns the next fact sequence number, persisting the incremented counter. */ + async #nextFactSeq(): Promise { + const next = ((await this.#factSeq.getAsync()) ?? 0) + 1; + await this.#factSeq.set(next); + return next; + } + /** * Deletes an entity wholesale from every index: its record, all its facts, and the scope/block index entries. * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. */ - async #deleteEntity(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): Promise { - const eKey = entityKey(contract, scope, entityTypeId, entityId); + async #deleteEntity(coords: EntityCoords): Promise { + const eKey = entityKeyOf(coords); const rowKeys: FactRowKey[] = []; for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { rowKeys.push(rowKey); @@ -395,7 +449,7 @@ export class EntityStore implements StagedStore { // corrupt, so fail loudly rather than silently skip cleanup. throw new Error(`Fact not found for rowKey ${rowKey}`); } - const fact = StoredFact.fromBuffer(buf); + const { fact } = deserializeFactRow(buf); await this.#facts.delete(rowKey); await this.#factsByEntity.deleteValue(eKey, rowKey); if (fact.originBlock !== undefined) { @@ -410,7 +464,7 @@ export class EntityStore implements StagedStore { await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); } } - await this.#entitiesByScope.deleteValue(scopeKey(contract, scope, entityTypeId), entityId.toString()); + await this.#entitiesByScope.deleteValue(scopeKeyOf(coords), coords.entityId.toString()); } #opsFor(jobId: string): StagedOp[] { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts index 5901e1ad0322..4216620c2e7c 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts @@ -26,10 +26,10 @@ describe('StoredEntity', () => { expect(back.isRetractable).toBe(false); }); - it('round-trips an entity with an empty payload', () => { + it('round-trips an entity with an empty body', () => { const entity = new StoredEntity(contract, scope, entityType, entityId, [], undefined); const back = StoredEntity.fromBuffer(entity.toBuffer()); expect(back).toEqual(entity); - expect(back.payload).toEqual([]); + expect(back.body).toEqual([]); }); }); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts index 0f8e9b0ecbd5..416a5acecebb 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts @@ -5,9 +5,9 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { OriginBlock } from './entity_keys.js'; /** - * The record for a single entity, with its own payload and optional origin block. `originBlock === undefined` marks + * The record for a single entity, with its own body and optional origin block. `originBlock === undefined` marks * the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an origin block marks - * the whole entity retractable — on a prune above its block, the entity payload and every fact it owns are deleted + * the whole entity retractable — on a prune above its block, the entity body and every fact it owns are deleted * wholesale. */ export class StoredEntity { @@ -16,7 +16,7 @@ export class StoredEntity { public readonly scope: AztecAddress, public readonly entityTypeId: Fr, public readonly entityId: Fr, - public readonly payload: Fr[], + public readonly body: Fr[], public readonly originBlock: OriginBlock | undefined, ) {} @@ -32,8 +32,8 @@ export class StoredEntity { this.scope, this.entityTypeId, this.entityId, - this.payload.length, - ...this.payload, + this.body.length, + ...this.body, originBlockTag, this.originBlock ? this.originBlock.blockNumber : 0, this.originBlock ? this.originBlock.blockHash : Fr.ZERO, @@ -46,12 +46,12 @@ export class StoredEntity { const scope = reader.readObject(AztecAddress); const entityTypeId = reader.readObject(Fr); const entityId = reader.readObject(Fr); - const payloadLen = reader.readNumber(); - const payload = reader.readArray(payloadLen, Fr); + const bodyLen = reader.readNumber(); + const body = reader.readArray(bodyLen, Fr); const originBlockTag = reader.readNumber(); const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; - return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...payload], originBlock); + return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...body], originBlock); } } diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index c49cb20f0be4..f5ae75e59c0f 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -73,3 +73,23 @@ export type FactRowKey = string; export function factRowKeyOf(fact: StoredFact): FactRowKey { return `${entityKeyOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; } + +/** + * The persisted form of a fact: the fact plus the monotonic sequence number assigned when it was first committed. + * Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB), so reads sort by + * `seq` to return facts in creation order. + */ +export type FactRow = { seq: number; fact: StoredFact }; + +/** Serializes a {@link FactRow} for storage. */ +export function serializeFactRow(row: FactRow): Buffer { + return serializeToBuffer(row.seq, row.fact); +} + +/** Deserializes a {@link FactRow} from storage. */ +export function deserializeFactRow(buffer: Buffer): FactRow { + const reader = BufferReader.asReader(buffer); + const seq = reader.readNumber(); + const fact = StoredFact.fromBuffer(reader); + return { seq, fact }; +} From f740bbf5e93b6381e44ad94632a25447f8cd1915 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 12:15:38 +0000 Subject: [PATCH 040/197] more test coverage --- .../storage/entity_store/entity_store.test.ts | 327 ++++++++++++++++++ .../src/storage/entity_store/entity_store.ts | 57 +-- .../storage/entity_store/stored_fact.test.ts | 14 +- 3 files changed, 374 insertions(+), 24 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index e58b5762186b..b6eb57c1f4ff 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -3,6 +3,7 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; +import { entityKeyOf, scopeKeyOf } from './entity_keys.js'; import { EntityStore } from './entity_store.js'; describe('EntityStore', () => { @@ -354,4 +355,330 @@ describe('EntityStore', () => { await store.discardStaged('uncommitted-job'); await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); + + describe('staged op ordering', () => { + it('a terminate-then-create sequence resolves to the re-created entity', async () => { + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'replace-job'; + await store.terminateEntity(coordsA, JOB2); + await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB2); + + // Staged view: the re-created entity, with the terminate having wiped the committed fact. + const staged = await store.getEntity(coordsA, JOB2); + expect(staged.body.map(f => f.toBigInt())).toEqual([2n]); + expect(staged.facts).toHaveLength(0); + const stagedEntities = await store.getEntities(scopeCoords, JOB2); + expect(stagedEntities).toHaveLength(1); + expect(stagedEntities[0].entity.body.map(f => f.toBigInt())).toEqual([2n]); + expect(stagedEntities[0].facts).toHaveLength(0); + + // The committed view matches the staged view. + await kv.transactionAsync(() => store.commit(JOB2)); + const committed = await store.getEntity(coordsA, 'reader'); + expect(committed.body.map(f => f.toBigInt())).toEqual([2n]); + expect(committed.facts).toHaveLength(0); + }); + + it('a terminate-then-record sequence resolves to the re-recorded fact', async () => { + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'rerecord-job'; + await store.terminateEntity(coordsA, JOB2); + await store.recordFact(coordsA, PROCESSED, [new Fr(3n)], undefined, JOB2); + + // Staged view: only the re-recorded fact survives the terminate; the entity record is gone. + const staged = await store.getEntity(coordsA, JOB2); + expect(staged.body).toEqual([]); + expect(staged.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); + + // The committed view matches the staged view. + await kv.transactionAsync(() => store.commit(JOB2)); + const committed = await store.getEntity(coordsA, 'reader'); + expect(committed.body).toEqual([]); + expect(committed.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); + expect(await store.getEntities(scopeCoords, 'reader')).toHaveLength(0); + }); + + it('a create-then-terminate sequence leaves the entity deleted', async () => { + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.terminateEntity(coordsA, JOB); + + // Staged view: gone. + expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + + // Committed view: gone too, and no index residue blocks a later rollback. + await kv.transactionAsync(() => store.commit(JOB)); + expect((await store.getEntity(coordsA, 'reader')).body).toEqual([]); + expect(await store.getEntities(scopeCoords, 'reader')).toHaveLength(0); + await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); + }); + + it('a fact staged before its entity is created in the same job surfaces with the entity', async () => { + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + + // Staged view and committed view must agree: the entity is active and owns the fact. + const staged = await store.getEntities(scopeCoords, JOB); + expect(staged).toHaveLength(1); + expect(staged[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); + + await kv.transactionAsync(() => store.commit(JOB)); + const committed = await store.getEntities(scopeCoords, 'reader'); + expect(committed).toHaveLength(1); + expect(committed[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); + }); + }); + + describe('cross-job behavior', () => { + it("commit persists only the given job's ops", async () => { + const JOB2 = 'second-job'; + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await kv.transactionAsync(() => store.commit(JOB)); + + // Only job 1's fact is committed; job 2 still layers its staged fact on top. + expect((await store.getEntity(coordsA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n]); + expect((await store.getEntity(coordsA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + + await kv.transactionAsync(() => store.commit(JOB2)); + expect((await store.getEntity(coordsA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + }); + + it('read-only access with a fresh job id does not block rollback', async () => { + await store.getEntity(coordsA, 'reader-job'); + await store.getEntities(scopeCoords, 'reader-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); + }); + + it('discardStaged drops staged writes without touching committed state', async () => { + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'discarded-job'; + await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB2); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await store.discardStaged(JOB2); + + // The discarded writes are gone from the job's own view, and committing the job persists nothing. + expect((await store.getEntity(coordsA, JOB2)).body.map(f => f.toBigInt())).toEqual([1n]); + await kv.transactionAsync(() => store.commit(JOB2)); + const { body, facts } = await store.getEntity(coordsA, 'reader'); + expect(body.map(f => f.toBigInt())).toEqual([1n]); + expect(facts).toHaveLength(0); + }); + }); + + describe('isolation', () => { + it('entities under different scopes are isolated', async () => { + const scope2 = AztecAddress.fromBigInt(2n); + const coordsScope2 = { ...coordsA, scope: scope2 }; + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(coordsScope2, [new Fr(2n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // Same contract, type and entity id, but each scope only sees its own entity. + expect((await store.getEntity(coordsA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); + expect((await store.getEntity(coordsScope2, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); + expect((await store.getEntity(coordsScope2, JOB)).facts).toHaveLength(0); + expect(await store.getEntities({ ...scopeCoords, scope: scope2 }, JOB)).toHaveLength(1); + + // Terminating in one scope leaves the other untouched. + const TERM = 'terminate-job'; + await store.terminateEntity(coordsA, TERM); + await kv.transactionAsync(() => store.commit(TERM)); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + expect(await store.getEntities({ ...scopeCoords, scope: scope2 }, JOB)).toHaveLength(1); + }); + + it('entities under different contracts and entity types are isolated', async () => { + const contract2 = AztecAddress.fromBigInt(200n); + const ENTITY2 = new Fr(8n); + await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.createEntity({ ...coordsA, contractAddress: contract2 }, [new Fr(2n)], undefined, JOB); + await store.createEntity({ ...coordsA, entityTypeId: ENTITY2 }, [new Fr(3n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const inScope = await store.getEntities(scopeCoords, JOB); + expect(inScope).toHaveLength(1); + expect(inScope[0].entity.body.map(f => f.toBigInt())).toEqual([1n]); + expect(await store.getEntities({ ...scopeCoords, contractAddress: contract2 }, JOB)).toHaveLength(1); + expect(await store.getEntities({ ...scopeCoords, entityTypeId: ENTITY2 }, JOB)).toHaveLength(1); + }); + }); + + describe('creation order', () => { + it('per-entity creation order is preserved when recording interleaves entities', async () => { + await store.createEntity(coordsA, [], undefined, JOB); + await store.createEntity(coordsB, [], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], undefined, JOB); + await store.recordFact(coordsB, RECEIVED, [new Fr(2n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect((await store.getEntity(coordsA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); + expect((await store.getEntity(coordsB, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); + // getEntities returns the same per-entity order. + const entities = await store.getEntities(scopeCoords, JOB); + const byId = new Map(entities.map(e => [e.entity.entityId.toBigInt(), e.facts])); + expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); + expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); + }); + + it('creation order is preserved after a prune removes facts from the middle', async () => { + await store.createEntity(coordsA, [], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(7n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + + expect((await store.getEntity(coordsA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 7n]); + }); + + it('facts re-recorded after a terminate take fresh creation positions', async () => { + await store.createEntity(coordsA, [], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // Terminate wipes the facts; re-recording them in reverse order is a new creation order. + const JOB2 = 'replay-job'; + await store.terminateEntity(coordsA, JOB2); + await store.createEntity(coordsA, [], undefined, JOB2); + await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await kv.transactionAsync(() => store.commit(JOB2)); + + expect((await store.getEntity(coordsA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([1n, 9n]); + }); + + it('creation order continues across store reopens', async () => { + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // A fresh EntityStore over the same kv store continues the persisted sequence instead of restarting it. + const reopened = new EntityStore(kv); + const JOB2 = 'reopened-job'; + await reopened.recordFact(coordsA, RECEIVED, [new Fr(7n)], undefined, JOB2); + await reopened.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await kv.transactionAsync(() => reopened.commit(JOB2)); + + expect((await reopened.getEntity(coordsA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([ + 9n, + 3n, + 7n, + 1n, + ]); + }); + }); + + describe('rollback boundaries and index hygiene', () => { + it('records originating exactly at the target block survive a rollback', async () => { + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // Only records strictly above the target block are pruned. + await kv.transactionAsync(() => store.rollback(5)); + const { body, facts } = await store.getEntity(coordsA, JOB); + expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(facts).toHaveLength(1); + + await kv.transactionAsync(() => store.rollback(4)); + expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + }); + + it('pruning an entity clears the by-block entries of facts below the prune point', async () => { + // Entity originating at block 6 owning a fact originating at block 4: pruning above 5 deletes the entity + // wholesale, including the block-4 fact and its index entry. + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 4, blockHash: new Fr(2n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + + // A dangling block-4 fact index entry would make this second prune throw "Fact not found". + await expect(kv.transactionAsync(() => store.rollback(3))).resolves.not.toThrow(); + }); + + it('rollback is idempotent', async () => { + await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + }); + }); + + describe('facts without an entity record', () => { + it('a committed fact does not activate an entity; creating it later surfaces the fact', async () => { + await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // The fact is stored and readable, but the entity is not active. + expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(1); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + + // Creating the entity in a later job surfaces the previously committed fact, both staged and committed. + const JOB2 = 'create-job'; + await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB2); + const staged = await store.getEntities(scopeCoords, JOB2); + expect(staged).toHaveLength(1); + expect(staged[0].facts).toHaveLength(1); + + await kv.transactionAsync(() => store.commit(JOB2)); + const committed = await store.getEntities(scopeCoords, JOB); + expect(committed).toHaveLength(1); + expect(committed[0].facts).toHaveLength(1); + }); + + it('a staged fact for an unknown entity does not activate it', async () => { + await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); + expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + }); + }); + + describe('index corruption detection', () => { + it('getEntities fails loudly when the scope index references a missing entity', async () => { + await kv + .openMultiMap('entities_by_scope') + .set(scopeKeyOf(scopeCoords), new Fr(0xdeadn).toString()); + await expect(store.getEntities(scopeCoords, JOB)).rejects.toThrow('Entity not found for entityKey'); + }); + + it('getEntity fails loudly when the fact index references a missing row', async () => { + await kv.openMultiMap('facts_by_entity').set(entityKeyOf(coordsA), 'bogus-row-key'); + await expect(store.getEntity(coordsA, JOB)).rejects.toThrow('Fact not found for rowKey bogus-row-key'); + }); + + it('rollback fails loudly when the entity by-block index references a missing entity', async () => { + await kv + .openMultiMap('entities_by_block') + .set(7, entityKeyOf({ ...coordsA, entityId: new Fr(0xdeadn) })); + await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow('Entity not found for entityKey'); + }); + + it('rollback fails loudly when the fact by-block index references a missing row', async () => { + await kv.openMultiMap('facts_by_block').set(7, 'bogus-row-key'); + await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow( + 'Fact not found for rowKey bogus-row-key', + ); + }); + }); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 9aea2f1ca8cd..31ff37196945 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -190,14 +190,22 @@ export class EntityStore implements StagedStore { */ async getEntities(coords: ScopeCoords, jobId: string): Promise<{ entity: StoredEntity; facts: StoredFact[] }[]> { const sKey = scopeKeyOf(coords); + // Ids staged for creation join the candidate set up front, so the committed-state load below also picks up any + // facts already committed for them (facts are stored independently of entity records). + const stagedCreatedIds: EntityIdStr[] = []; + for (const op of this.#stagedOps(jobId)) { + if (op.kind === 'createEntity' && scopeKeyOf(op.entity) === sKey) { + stagedCreatedIds.push(op.entity.entityId.toString()); + } + } const entities = await this.#store.transactionAsync(async () => { // Snapshot the scope index before issuing point reads so we never interleave reads with a live cursor. - const entityIds: EntityIdStr[] = []; + const committedIds: EntityIdStr[] = []; for await (const entityId of this.#entitiesByScope.getValuesAsync(sKey)) { - entityIds.push(entityId); + committedIds.push(entityId); } - const result = new Map }>(); - for (const entityId of entityIds) { + const result = new Map }>(); + for (const entityId of committedIds) { const eKey = `${sKey}:${entityId}`; const buf = await this.#entities.getAsync(eKey); if (!buf) { @@ -207,37 +215,40 @@ export class EntityStore implements StagedStore { } result.set(entityId, { entity: StoredEntity.fromBuffer(buf), byRow: await this.#loadCommittedFacts(eKey) }); } + for (const entityId of stagedCreatedIds) { + if (!result.has(entityId)) { + result.set(entityId, { entity: undefined, byRow: await this.#loadCommittedFacts(`${sKey}:${entityId}`) }); + } + } return result; }); - // Replay this job's staged ops in order: a createEntity activates the entity, a terminate deactivates it. + // Layer this job's staged ops over committed state. Each entity's fact set replays exactly as in getEntity; + // entity-record presence (createEntity activates, terminate deactivates) replays separately, which is equivalent + // to a single in-order replay because the two are updated independently by each op kind. + for (const [entityId, e] of entities) { + this.#replayFactOps(e.byRow, `${sKey}:${entityId}`, jobId); + } for (const op of this.#stagedOps(jobId)) { switch (op.kind) { - case 'createEntity': { - if (scopeKeyOf(op.entity) !== sKey) { - break; + case 'createEntity': + if (scopeKeyOf(op.entity) === sKey) { + entities.get(op.entity.entityId.toString())!.entity = op.entity; } - // A re-created entity keeps the facts it already owns; a new one starts with none. - const prior = entities.get(op.entity.entityId.toString()); - entities.set(op.entity.entityId.toString(), { entity: op.entity, byRow: prior?.byRow ?? new Map() }); break; - } - case 'record': { - if (scopeKeyOf(op.fact) !== sKey) { - break; + case 'terminate': { + const e = scopeKeyOf(op.coords) === sKey ? entities.get(op.coords.entityId.toString()) : undefined; + if (e) { + e.entity = undefined; } - // A fact recorded for an entity with no record is stored but only surfaces once the entity is created, - // mirroring committed behavior (facts never activate an entity). - entities.get(op.fact.entityId.toString())?.byRow.set(factRowKeyOf(op.fact), op.fact); break; } - case 'terminate': - if (scopeKeyOf(op.coords) === sKey) { - entities.delete(op.coords.entityId.toString()); - } + case 'record': break; } } - return Array.from(entities.values(), ({ entity, byRow }) => ({ entity, facts: Array.from(byRow.values()) })); + return Array.from(entities.values()) + .filter(e => e.entity !== undefined) + .map(({ entity, byRow }) => ({ entity: entity!, facts: Array.from(byRow.values()) })); } /** diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 481db557186c..d85c01f54449 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; import { entityKeyOf, scopeKeyOf } from './entity_keys.js'; -import { StoredFact, factRowKeyOf } from './stored_fact.js'; +import { StoredFact, deserializeFactRow, factRowKeyOf, serializeFactRow } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); @@ -42,4 +42,16 @@ describe('StoredFact', () => { expect(a.payloadHash()).not.toEqual(b.payloadHash()); expect(a.payloadHash()).toEqual(c.payloadHash()); }); + + it('round-trips a fact row, preserving the sequence number', () => { + const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], { + blockNumber: 12, + blockHash: new Fr(0xabcn), + }); + for (const seq of [0, 1, 2 ** 32 - 1]) { + const back = deserializeFactRow(serializeFactRow({ seq, fact })); + expect(back.seq).toBe(seq); + expect(back.fact).toEqual(fact); + } + }); }); From f41a8abd5ed5a30e6937ebd47b3821fe266aa667 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 12:33:37 +0000 Subject: [PATCH 041/197] renames --- .../block_synchronizer.test.ts | 22 +- .../schema_tests.ts | 12 +- .../src/storage/entity_store/entity_keys.ts | 38 +- .../storage/entity_store/entity_store.test.ts | 429 +++++++++--------- .../src/storage/entity_store/entity_store.ts | 119 ++--- .../storage/entity_store/stored_fact.test.ts | 10 +- .../src/storage/entity_store/stored_fact.ts | 12 +- 7 files changed, 318 insertions(+), 324 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index ae1c8cc4fca6..905cb30f8f76 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -308,24 +308,24 @@ describe('BlockSynchronizer', () => { const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; - const prunedCoords = { contractAddress: contract, scope, entityTypeId, entityId: prunedEntityId }; - const survivingCoords = { contractAddress: contract, scope, entityTypeId, entityId: survivingEntityId }; + const prunedKey = { contractAddress: contract, scope, entityTypeId, entityId: prunedEntityId }; + const survivingKey = { contractAddress: contract, scope, entityTypeId, entityId: survivingEntityId }; // A retractable entity originating on the abandoned fork: the prune must delete it wholesale, taking even its // non-retractable fact with it. - await entityStore.createEntity(prunedCoords, [Fr.random()], orphanedOriginBlock, jobId); - await entityStore.recordFact(prunedCoords, nonRetractableFactType, [Fr.random()], undefined, jobId); + await entityStore.createEntity(prunedKey, [Fr.random()], orphanedOriginBlock, jobId); + await entityStore.recordFact(prunedKey, nonRetractableFactType, [Fr.random()], undefined, jobId); // A non-retractable entity: the prune must keep it, deleting only its fact originating on the abandoned fork. - await entityStore.createEntity(survivingCoords, [Fr.random()], undefined, jobId); - await entityStore.recordFact(survivingCoords, nonRetractableFactType, [Fr.random()], undefined, jobId); - await entityStore.recordFact(survivingCoords, retractableFactType, [], orphanedOriginBlock, jobId); + await entityStore.createEntity(survivingKey, [Fr.random()], undefined, jobId); + await entityStore.recordFact(survivingKey, nonRetractableFactType, [Fr.random()], undefined, jobId); + await entityStore.recordFact(survivingKey, retractableFactType, [], orphanedOriginBlock, jobId); await store.transactionAsync(() => entityStore.commit(jobId)); // Both entities and all their facts must be present before the prune. expect(await entityStore.getEntities({ contractAddress: contract, scope, entityTypeId }, jobId)).toHaveLength(2); - expect((await entityStore.getEntity(prunedCoords, jobId)).facts).toHaveLength(1); - expect((await entityStore.getEntity(survivingCoords, jobId)).facts).toHaveLength(2); + expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(1); + expect((await entityStore.getEntity(survivingKey, jobId)).facts).toHaveLength(2); // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). const anchorBlock10 = await L2Block.random(BlockNumber(10)); @@ -348,8 +348,8 @@ describe('BlockSynchronizer', () => { const active = await entityStore.getEntities({ contractAddress: contract, scope, entityTypeId }, jobId); expect(active).toHaveLength(1); expect(active[0].entity.entityId.equals(survivingEntityId)).toBe(true); - expect((await entityStore.getEntity(prunedCoords, jobId)).facts).toHaveLength(0); - const remaining = (await entityStore.getEntity(survivingCoords, jobId)).facts; + expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(0); + const remaining = (await entityStore.getEntity(survivingKey, jobId)).facts; expect(remaining).toHaveLength(1); expect(remaining[0].factTypeId.equals(nonRetractableFactType)).toBe(true); }); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 33972ec3b40d..89b16eb9649c 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -223,14 +223,14 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ const contract = AztecAddress.fromBigInt(100n); const scope = AztecAddress.fromBigInt(1n); const entityTypeId = new Fr(7n); - const coordsA = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xaan) }; - const coordsB = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xbbn) }; + const keyA = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xaan) }; + const keyB = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xbbn) }; // Retractable entity (origin block 6): the entity and all its facts are pruned on a reorg above block 6. - await entityStore.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId); + await entityStore.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId); // Non-retractable entity carrying a body, with a non-retractable and a retractable fact. - await entityStore.createEntity(coordsB, [new Fr(8n)], undefined, jobId); - await entityStore.recordFact(coordsB, new Fr(1n), [new Fr(9n)], undefined, jobId); - await entityStore.recordFact(coordsB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, jobId); + await entityStore.createEntity(keyB, [new Fr(8n)], undefined, jobId); + await entityStore.recordFact(keyB, new Fr(1n), [new Fr(9n)], undefined, jobId); + await entityStore.recordFact(keyB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, jobId); await kvStore.transactionAsync(() => entityStore.commit(jobId)); }, snapshotStore: async kvStore => ({ diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts index a5adbb45d3e3..c88b8b8b1356 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts @@ -6,38 +6,28 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address'; */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; -/** The contract+scope+entityType coordinates identifying one entity type within a contract+scope. */ -export type ScopeCoords = { +/** Identifies all entities of one type within a contract+scope. */ +export type ScopeKey = { contractAddress: AztecAddress; scope: AztecAddress; entityTypeId: Fr; }; -/** The contract+scope+entityType+entityId coordinates shared by facts and entity records. */ -export type EntityCoords = ScopeCoords & { entityId: Fr }; +/** Uniquely identifies a single entity; all its facts share this key. */ +export type EntityKey = ScopeKey & { entityId: Fr }; -/** Key that groups all entities of the same type within a contract+scope (`contract:scope:entityTypeId`). */ -export type ScopeKey = string; +/** Serialized form of a {@link ScopeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ +export type ScopeKeyStr = string; -/** Key that uniquely identifies a single entity, `scopeKey:entityId`. All its facts share this key prefix. */ -export type EntityKey = string; +/** Serialized form of an {@link EntityKey} (`scopeKeyStr:entityId`), used as kv-store map keys. */ +export type EntityKeyStr = string; -/** Builds the {@link ScopeKey} for the given coordinates. */ -export function scopeKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr): ScopeKey { - return `${contract}:${scope}:${entityTypeId}`; +/** Serializes a {@link ScopeKey}. */ +export function scopeKeyStrOf(key: ScopeKey): ScopeKeyStr { + return `${key.contractAddress}:${key.scope}:${key.entityTypeId}`; } -/** Builds the {@link EntityKey} for the given coordinates. */ -export function entityKey(contract: AztecAddress, scope: AztecAddress, entityTypeId: Fr, entityId: Fr): EntityKey { - return `${scopeKey(contract, scope, entityTypeId)}:${entityId}`; -} - -/** Builds the {@link ScopeKey} for the given coordinates. */ -export function scopeKeyOf(coords: ScopeCoords): ScopeKey { - return scopeKey(coords.contractAddress, coords.scope, coords.entityTypeId); -} - -/** Builds the {@link EntityKey} for the given coordinates. */ -export function entityKeyOf(coords: EntityCoords): EntityKey { - return entityKey(coords.contractAddress, coords.scope, coords.entityTypeId, coords.entityId); +/** Serializes an {@link EntityKey}. */ +export function entityKeyStrOf(key: EntityKey): EntityKeyStr { + return `${scopeKeyStrOf(key)}:${key.entityId}`; } diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index b6eb57c1f4ff..ce8cce86b2c4 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -3,7 +3,7 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { entityKeyOf, scopeKeyOf } from './entity_keys.js'; +import { entityKeyStrOf, scopeKeyStrOf } from './entity_keys.js'; import { EntityStore } from './entity_store.js'; describe('EntityStore', () => { @@ -14,9 +14,9 @@ describe('EntityStore', () => { const PROCESSED = new Fr(2n); const corrA = new Fr(0xaan); const corrB = new Fr(0xbbn); - const coordsA = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }; - const coordsB = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }; - const scopeCoords = { contractAddress: contract, scope, entityTypeId: ENTITY }; + const keyA = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }; + const keyB = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }; + const scopeKey = { contractAddress: contract, scope, entityTypeId: ENTITY }; const JOB = 'fact-store-test-job'; let kv: AztecAsyncKVStore; @@ -33,11 +33,11 @@ describe('EntityStore', () => { const entityIdsOf = (entities: { entity: { entityId: Fr } }[]) => entities.map(e => e.entity.entityId.toBigInt()); it('records facts and loads an entity fact set after commit', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = await store.getEntity(coordsA, JOB); + const { facts } = await store.getEntity(keyA, JOB); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); @@ -45,310 +45,310 @@ describe('EntityStore', () => { // Payload values chosen so that creation order differs from the dedup row key (payload hash) order. const payloads = [9n, 3n, 7n, 1n, 8n, 2n, 6n, 4n]; for (const value of payloads.slice(0, 5)) { - await store.recordFact(coordsA, RECEIVED, [new Fr(value)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(value)], undefined, JOB); } await kv.transactionAsync(() => store.commit(JOB)); // Later facts, committed by a second job, follow the earlier ones. const JOB2 = 'later-job'; for (const value of payloads.slice(5)) { - await store.recordFact(coordsA, RECEIVED, [new Fr(value)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(value)], undefined, JOB2); } await kv.transactionAsync(() => store.commit(JOB2)); - const { facts } = await store.getEntity(coordsA, JOB); + const { facts } = await store.getEntity(keyA, JOB); expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads); }); it('staged facts follow committed facts in creation order (read-your-writes)', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'staged-job'; - await store.recordFact(coordsA, RECEIVED, [new Fr(7n)], undefined, JOB2); - await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); - const { facts } = await store.getEntity(coordsA, JOB2); + const { facts } = await store.getEntity(keyA, JOB2); expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); }); it('dedups identical (entity, factType, payload) records idempotently', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = await store.getEntity(coordsA, JOB); + const { facts } = await store.getEntity(keyA, JOB); expect(facts).toHaveLength(1); }); it('re-recording a fact keeps its creation position', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'rerecord-job'; - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - const { facts } = await store.getEntity(coordsA, JOB); + const { facts } = await store.getEntity(keyA, JOB); expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); expect(facts[0].originBlock?.blockNumber).toBe(5); }); it('re-recording a fact with a changed origin block updates its retraction block', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-record the identical fact originating at an earlier block: same dedup row, new origin. const JOB2 = 'rerecord-job'; - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(2n) }, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(2n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); // Prune above block 7: the fact now originates at block 5 and must survive. A stale block-10 index entry would // make pass 2 delete it. await kv.transactionAsync(() => store.rollback(7)); - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(1); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); // Prune above block 4: the fact originates above the target and is deleted exactly once. await kv.transactionAsync(() => store.rollback(4)); - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); }); it('enumerates active entities (created and not terminated) for a scope', async () => { - await store.createEntity(coordsA, [], undefined, JOB); - await store.createEntity(coordsB, [], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.createEntity(keyA, [], undefined, JOB); + await store.createEntity(keyB, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const entities = await store.getEntities(scopeCoords, JOB); + const entities = await store.getEntities(scopeKey, JOB); expect(entityIdsOf(entities).sort()).toEqual([corrA.toBigInt(), corrB.toBigInt()].sort()); }); it('getEntities returns each entity complete with body and facts in creation order', async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, PROCESSED, [new Fr(3n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const entities = await store.getEntities(scopeCoords, JOB); + const entities = await store.getEntities(scopeKey, JOB); expect(entities).toHaveLength(1); expect(entities[0].entity.body.map(f => f.toBigInt())).toEqual([5n]); expect(entities[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); it('lists an entity as active even when it has zero facts', async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const entities = await store.getEntities(scopeCoords, JOB); + const entities = await store.getEntities(scopeKey, JOB); expect(entityIdsOf(entities)).toEqual([corrA.toBigInt()]); expect(entities[0].facts).toHaveLength(0); }); it('creating the same entity twice keeps the last body and lists it once', async () => { - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(2n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(coordsA, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); // Re-creating in a later commit overwrites again and still lists the entity exactly once. const JOB2 = 'recreate-job'; - await store.createEntity(coordsA, [new Fr(3n)], undefined, JOB2); + await store.createEntity(keyA, [new Fr(3n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(coordsA, JOB)).body.map(f => f.toBigInt())).toEqual([3n]); - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([3n]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('re-creating an entity keeps the facts it already owns', async () => { - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'recreate-job'; - await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB2); + await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); // Both before and after commit, the new body is paired with the existing facts. - const staged = await store.getEntities(scopeCoords, JOB2); + const staged = await store.getEntities(scopeKey, JOB2); expect(staged[0].entity.body.map(f => f.toBigInt())).toEqual([2n]); expect(staged[0].facts).toHaveLength(1); await kv.transactionAsync(() => store.commit(JOB2)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([2n]); expect(facts).toHaveLength(1); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); // Same job, before commit: the staged entity is active and its fact is visible. - const { facts } = await store.getEntity(coordsA, JOB); + const { facts } = await store.getEntity(keyA, JOB); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); // A different job does not see the uncommitted write. - expect((await store.getEntity(coordsA, 'other-job')).facts).toHaveLength(0); - expect(await store.getEntities(scopeCoords, 'other-job')).toHaveLength(0); + expect((await store.getEntity(keyA, 'other-job')).facts).toHaveLength(0); + expect(await store.getEntities(scopeKey, 'other-job')).toHaveLength(0); }); it('getEntity returns the body and both facts of an entity with facts', async () => { - await store.createEntity(coordsA, [new Fr(5n), new Fr(6n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.createEntity(keyA, [new Fr(5n), new Fr(6n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n, 6n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); it('getEntity returns the body and empty facts for an entity with zero facts', async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts).toHaveLength(0); }); it('getEntity returns an empty body when no entity record exists', async () => { - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body).toEqual([]); expect(facts).toHaveLength(0); }); it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // A different job does not see the uncommitted write. - expect((await store.getEntity(coordsA, 'other-job')).body).toEqual([]); + expect((await store.getEntity(keyA, 'other-job')).body).toEqual([]); }); it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A later job stages a terminate; within that job the entity reads as gone, while other jobs still see it // committed until the terminate commits. const TERM = 'terminate-job'; - await store.terminateEntity(coordsA, TERM); + await store.terminateEntity(keyA, TERM); - expect((await store.getEntity(coordsA, TERM)).facts).toHaveLength(0); - expect((await store.getEntity(coordsA, TERM)).body).toEqual([]); - expect(await store.getEntities(scopeCoords, TERM)).toHaveLength(0); - expect((await store.getEntity(coordsA, 'reader')).facts).toHaveLength(1); + expect((await store.getEntity(keyA, TERM)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, TERM)).body).toEqual([]); + expect(await store.getEntities(scopeKey, TERM)).toHaveLength(0); + expect((await store.getEntity(keyA, 'reader')).facts).toHaveLength(1); }); it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); - await store.createEntity(coordsB, [], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyB, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const TERM = 'terminate-job'; - await store.terminateEntity(coordsA, TERM); + await store.terminateEntity(keyA, TERM); await kv.transactionAsync(() => store.commit(TERM)); - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); - expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrB.toBigInt()]); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).body).toEqual([]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrB.toBigInt()]); // The neighbouring entity is untouched. - expect((await store.getEntity(coordsB, JOB)).facts).toHaveLength(1); + expect((await store.getEntity(keyB, JOB)).facts).toHaveLength(1); }); it('rollback deletes a retractable entity wholesale (body + every fact) above the target block', async () => { // Retractable entity originating at block 6, owning one fact without an origin block and one with. - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body).toEqual([]); expect(facts).toHaveLength(0); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); }); it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { // Non-retractable entity (no origin block) with a non-retractable fact + a fact originating at block 6. - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept // Entity stays active because the entity record survives. - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback above all origin blocks is a no-op', async () => { - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(10)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('re-creating an entity with a changed origin block clears the stale by-block index', async () => { - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-create the same entity originating at a different block. const JOB2 = 'recreate-job'; - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(2n) }, JOB2); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(2n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); // Prune above block 5: the entity (origin block 8) is deleted exactly once. A stale block-6 index entry would make // pass 1 visit it a second time and throw "Entity not found". await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); - expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).body).toEqual([]); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); }); it('re-creating a retractable entity as non-retractable lets it survive a prune', async () => { - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-create the same entity without an origin block: it is now non-retractable and must survive reorgs. const JOB2 = 'recreate-job'; - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB2); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); await kv.transactionAsync(() => store.rollback(5)); // Survived: the stale block-6 index entry was cleared when the entity was re-created. - const { body } = await store.getEntity(coordsA, JOB); + const { body } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); - expect(entityIdsOf(await store.getEntities(scopeCoords, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback throws while a job has staged writes', async () => { - await store.createEntity(coordsA, [], undefined, 'uncommitted-job'); + await store.createEntity(keyA, [], undefined, 'uncommitted-job'); await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( 'PXE entity store rollback is not allowed while jobs are running', ); @@ -358,80 +358,80 @@ describe('EntityStore', () => { describe('staged op ordering', () => { it('a terminate-then-create sequence resolves to the re-created entity', async () => { - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'replace-job'; - await store.terminateEntity(coordsA, JOB2); - await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB2); + await store.terminateEntity(keyA, JOB2); + await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); // Staged view: the re-created entity, with the terminate having wiped the committed fact. - const staged = await store.getEntity(coordsA, JOB2); + const staged = await store.getEntity(keyA, JOB2); expect(staged.body.map(f => f.toBigInt())).toEqual([2n]); expect(staged.facts).toHaveLength(0); - const stagedEntities = await store.getEntities(scopeCoords, JOB2); + const stagedEntities = await store.getEntities(scopeKey, JOB2); expect(stagedEntities).toHaveLength(1); expect(stagedEntities[0].entity.body.map(f => f.toBigInt())).toEqual([2n]); expect(stagedEntities[0].facts).toHaveLength(0); // The committed view matches the staged view. await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntity(coordsA, 'reader'); + const committed = await store.getEntity(keyA, 'reader'); expect(committed.body.map(f => f.toBigInt())).toEqual([2n]); expect(committed.facts).toHaveLength(0); }); it('a terminate-then-record sequence resolves to the re-recorded fact', async () => { - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'rerecord-job'; - await store.terminateEntity(coordsA, JOB2); - await store.recordFact(coordsA, PROCESSED, [new Fr(3n)], undefined, JOB2); + await store.terminateEntity(keyA, JOB2); + await store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB2); // Staged view: only the re-recorded fact survives the terminate; the entity record is gone. - const staged = await store.getEntity(coordsA, JOB2); + const staged = await store.getEntity(keyA, JOB2); expect(staged.body).toEqual([]); expect(staged.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); // The committed view matches the staged view. await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntity(coordsA, 'reader'); + const committed = await store.getEntity(keyA, 'reader'); expect(committed.body).toEqual([]); expect(committed.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect(await store.getEntities(scopeCoords, 'reader')).toHaveLength(0); + expect(await store.getEntities(scopeKey, 'reader')).toHaveLength(0); }); it('a create-then-terminate sequence leaves the entity deleted', async () => { - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.terminateEntity(coordsA, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.terminateEntity(keyA, JOB); // Staged view: gone. - expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).body).toEqual([]); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); // Committed view: gone too, and no index residue blocks a later rollback. await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(coordsA, 'reader')).body).toEqual([]); - expect(await store.getEntities(scopeCoords, 'reader')).toHaveLength(0); + expect((await store.getEntity(keyA, 'reader')).body).toEqual([]); + expect(await store.getEntities(scopeKey, 'reader')).toHaveLength(0); await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); it('a fact staged before its entity is created in the same job surfaces with the entity', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); // Staged view and committed view must agree: the entity is active and owns the fact. - const staged = await store.getEntities(scopeCoords, JOB); + const staged = await store.getEntities(scopeKey, JOB); expect(staged).toHaveLength(1); expect(staged[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); await kv.transactionAsync(() => store.commit(JOB)); - const committed = await store.getEntities(scopeCoords, 'reader'); + const committed = await store.getEntities(scopeKey, 'reader'); expect(committed).toHaveLength(1); expect(committed[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); }); @@ -440,37 +440,37 @@ describe('EntityStore', () => { describe('cross-job behavior', () => { it("commit persists only the given job's ops", async () => { const JOB2 = 'second-job'; - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); // Only job 1's fact is committed; job 2 still layers its staged fact on top. - expect((await store.getEntity(coordsA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n]); - expect((await store.getEntity(coordsA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect((await store.getEntity(keyA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n]); + expect((await store.getEntity(keyA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(coordsA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect((await store.getEntity(keyA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); }); it('read-only access with a fresh job id does not block rollback', async () => { - await store.getEntity(coordsA, 'reader-job'); - await store.getEntities(scopeCoords, 'reader-job'); + await store.getEntity(keyA, 'reader-job'); + await store.getEntities(scopeKey, 'reader-job'); await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); it('discardStaged drops staged writes without touching committed state', async () => { - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'discarded-job'; - await store.createEntity(coordsA, [new Fr(2n)], undefined, JOB2); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); await store.discardStaged(JOB2); // The discarded writes are gone from the job's own view, and committing the job persists nothing. - expect((await store.getEntity(coordsA, JOB2)).body.map(f => f.toBigInt())).toEqual([1n]); + expect((await store.getEntity(keyA, JOB2)).body.map(f => f.toBigInt())).toEqual([1n]); await kv.transactionAsync(() => store.commit(JOB2)); - const { body, facts } = await store.getEntity(coordsA, 'reader'); + const { body, facts } = await store.getEntity(keyA, 'reader'); expect(body.map(f => f.toBigInt())).toEqual([1n]); expect(facts).toHaveLength(0); }); @@ -479,178 +479,173 @@ describe('EntityStore', () => { describe('isolation', () => { it('entities under different scopes are isolated', async () => { const scope2 = AztecAddress.fromBigInt(2n); - const coordsScope2 = { ...coordsA, scope: scope2 }; - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.createEntity(coordsScope2, [new Fr(2n)], undefined, JOB); + const keyScope2 = { ...keyA, scope: scope2 }; + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyScope2, [new Fr(2n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Same contract, type and entity id, but each scope only sees its own entity. - expect((await store.getEntity(coordsA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); - expect((await store.getEntity(coordsScope2, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); - expect((await store.getEntity(coordsScope2, JOB)).facts).toHaveLength(0); - expect(await store.getEntities({ ...scopeCoords, scope: scope2 }, JOB)).toHaveLength(1); + expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); + expect((await store.getEntity(keyScope2, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); + expect((await store.getEntity(keyScope2, JOB)).facts).toHaveLength(0); + expect(await store.getEntities({ ...scopeKey, scope: scope2 }, JOB)).toHaveLength(1); // Terminating in one scope leaves the other untouched. const TERM = 'terminate-job'; - await store.terminateEntity(coordsA, TERM); + await store.terminateEntity(keyA, TERM); await kv.transactionAsync(() => store.commit(TERM)); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); - expect(await store.getEntities({ ...scopeCoords, scope: scope2 }, JOB)).toHaveLength(1); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities({ ...scopeKey, scope: scope2 }, JOB)).toHaveLength(1); }); it('entities under different contracts and entity types are isolated', async () => { const contract2 = AztecAddress.fromBigInt(200n); const ENTITY2 = new Fr(8n); - await store.createEntity(coordsA, [new Fr(1n)], undefined, JOB); - await store.createEntity({ ...coordsA, contractAddress: contract2 }, [new Fr(2n)], undefined, JOB); - await store.createEntity({ ...coordsA, entityTypeId: ENTITY2 }, [new Fr(3n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.createEntity({ ...keyA, contractAddress: contract2 }, [new Fr(2n)], undefined, JOB); + await store.createEntity({ ...keyA, entityTypeId: ENTITY2 }, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const inScope = await store.getEntities(scopeCoords, JOB); + const inScope = await store.getEntities(scopeKey, JOB); expect(inScope).toHaveLength(1); expect(inScope[0].entity.body.map(f => f.toBigInt())).toEqual([1n]); - expect(await store.getEntities({ ...scopeCoords, contractAddress: contract2 }, JOB)).toHaveLength(1); - expect(await store.getEntities({ ...scopeCoords, entityTypeId: ENTITY2 }, JOB)).toHaveLength(1); + expect(await store.getEntities({ ...scopeKey, contractAddress: contract2 }, JOB)).toHaveLength(1); + expect(await store.getEntities({ ...scopeKey, entityTypeId: ENTITY2 }, JOB)).toHaveLength(1); }); }); describe('creation order', () => { it('per-entity creation order is preserved when recording interleaves entities', async () => { - await store.createEntity(coordsA, [], undefined, JOB); - await store.createEntity(coordsB, [], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], undefined, JOB); - await store.recordFact(coordsB, RECEIVED, [new Fr(2n)], undefined, JOB); + await store.createEntity(keyA, [], undefined, JOB); + await store.createEntity(keyB, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); + await store.recordFact(keyB, RECEIVED, [new Fr(2n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(coordsA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); - expect((await store.getEntity(coordsB, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); + expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); + expect((await store.getEntity(keyB, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); // getEntities returns the same per-entity order. - const entities = await store.getEntities(scopeCoords, JOB); + const entities = await store.getEntities(scopeKey, JOB); const byId = new Map(entities.map(e => [e.entity.entityId.toBigInt(), e.facts])); expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); }); it('creation order is preserved after a prune removes facts from the middle', async () => { - await store.createEntity(coordsA, [], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(7n)], undefined, JOB); + await store.createEntity(keyA, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(3n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(coordsA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 7n]); + expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 7n]); }); it('facts re-recorded after a terminate take fresh creation positions', async () => { - await store.createEntity(coordsA, [], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Terminate wipes the facts; re-recording them in reverse order is a new creation order. const JOB2 = 'replay-job'; - await store.terminateEntity(coordsA, JOB2); - await store.createEntity(coordsA, [], undefined, JOB2); - await store.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await store.terminateEntity(keyA, JOB2); + await store.createEntity(keyA, [], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(coordsA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([1n, 9n]); + expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([1n, 9n]); }); it('creation order continues across store reopens', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(3n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A fresh EntityStore over the same kv store continues the persisted sequence instead of restarting it. const reopened = new EntityStore(kv); const JOB2 = 'reopened-job'; - await reopened.recordFact(coordsA, RECEIVED, [new Fr(7n)], undefined, JOB2); - await reopened.recordFact(coordsA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await reopened.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB2); + await reopened.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); await kv.transactionAsync(() => reopened.commit(JOB2)); - expect((await reopened.getEntity(coordsA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([ - 9n, - 3n, - 7n, - 1n, - ]); + expect((await reopened.getEntity(keyA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); }); }); describe('rollback boundaries and index hygiene', () => { it('records originating exactly at the target block survive a rollback', async () => { - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Only records strictly above the target block are pruned. await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = await store.getEntity(coordsA, JOB); + const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts).toHaveLength(1); await kv.transactionAsync(() => store.rollback(4)); - expect((await store.getEntity(coordsA, JOB)).body).toEqual([]); - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).body).toEqual([]); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); }); it('pruning an entity clears the by-block entries of facts below the prune point', async () => { // Entity originating at block 6 owning a fact originating at block 4: pruning above 5 deletes the entity // wholesale, including the block-4 fact and its index entry. - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 4, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 4, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); // A dangling block-4 fact index entry would make this second prune throw "Fact not found". await expect(kv.transactionAsync(() => store.rollback(3))).resolves.not.toThrow(); }); it('rollback is idempotent', async () => { - await store.createEntity(coordsA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); }); }); describe('facts without an entity record', () => { it('a committed fact does not activate an entity; creating it later surfaces the fact', async () => { - await store.recordFact(coordsA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // The fact is stored and readable, but the entity is not active. - expect((await store.getEntity(coordsA, JOB)).facts).toHaveLength(1); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); // Creating the entity in a later job surfaces the previously committed fact, both staged and committed. const JOB2 = 'create-job'; - await store.createEntity(coordsA, [new Fr(5n)], undefined, JOB2); - const staged = await store.getEntities(scopeCoords, JOB2); + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB2); + const staged = await store.getEntities(scopeKey, JOB2); expect(staged).toHaveLength(1); expect(staged[0].facts).toHaveLength(1); await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntities(scopeCoords, JOB); + const committed = await store.getEntities(scopeKey, JOB); expect(committed).toHaveLength(1); expect(committed[0].facts).toHaveLength(1); }); it('a staged fact for an unknown entity does not activate it', async () => { - await store.recordFact(coordsB, RECEIVED, [new Fr(8n)], undefined, JOB); - expect(await store.getEntities(scopeCoords, JOB)).toHaveLength(0); + await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); + expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); }); }); @@ -658,19 +653,19 @@ describe('EntityStore', () => { it('getEntities fails loudly when the scope index references a missing entity', async () => { await kv .openMultiMap('entities_by_scope') - .set(scopeKeyOf(scopeCoords), new Fr(0xdeadn).toString()); - await expect(store.getEntities(scopeCoords, JOB)).rejects.toThrow('Entity not found for entityKey'); + .set(scopeKeyStrOf(scopeKey), new Fr(0xdeadn).toString()); + await expect(store.getEntities(scopeKey, JOB)).rejects.toThrow('Entity not found for entityKey'); }); it('getEntity fails loudly when the fact index references a missing row', async () => { - await kv.openMultiMap('facts_by_entity').set(entityKeyOf(coordsA), 'bogus-row-key'); - await expect(store.getEntity(coordsA, JOB)).rejects.toThrow('Fact not found for rowKey bogus-row-key'); + await kv.openMultiMap('facts_by_entity').set(entityKeyStrOf(keyA), 'bogus-row-key'); + await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for rowKey bogus-row-key'); }); it('rollback fails loudly when the entity by-block index references a missing entity', async () => { await kv .openMultiMap('entities_by_block') - .set(7, entityKeyOf({ ...coordsA, entityId: new Fr(0xdeadn) })); + .set(7, entityKeyStrOf({ ...keyA, entityId: new Fr(0xdeadn) })); await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow('Entity not found for entityKey'); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 31ff37196945..a7859c8c06a7 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -5,16 +5,22 @@ import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSi import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; import { - type EntityCoords, type EntityKey, + type EntityKeyStr, type OriginBlock, - type ScopeCoords, type ScopeKey, - entityKeyOf, - scopeKeyOf, + type ScopeKeyStr, + entityKeyStrOf, + scopeKeyStrOf, } from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { type FactRowKey, StoredFact, deserializeFactRow, factRowKeyOf, serializeFactRow } from './stored_fact.js'; +import { + type FactRowKeyStr, + StoredFact, + deserializeFactRow, + factRowKeyStrOf, + serializeFactRow, +} from './stored_fact.js'; type JobId = string; type BlockNum = number; @@ -26,7 +32,7 @@ type FactRowBuffer = Buffer; type StagedOp = | { kind: 'createEntity'; entity: StoredEntity } | { kind: 'record'; fact: StoredFact } - | { kind: 'terminate'; coords: EntityCoords }; + | { kind: 'terminate'; key: EntityKey }; /** * Stores immutable facts about entities, grouped by contract, scope, entity type, and entity id. @@ -40,17 +46,17 @@ export class EntityStore implements StagedStore { #store: AztecAsyncKVStore; /** Primary entity records; each row holds the entity body and optional origin block. */ - #entities: AztecAsyncMap; + #entities: AztecAsyncMap; /** Index for delete-on-prune of retractable entities (those with an origin block). */ - #entitiesByBlock: AztecAsyncMultiMap; + #entitiesByBlock: AztecAsyncMultiMap; /** Primary fact records, deduplicated by row key. */ - #facts: AztecAsyncMap; + #facts: AztecAsyncMap; /** Index for efficient entity-level fold. */ - #factsByEntity: AztecAsyncMultiMap; + #factsByEntity: AztecAsyncMultiMap; /** Index for active-entity enumeration. */ - #entitiesByScope: AztecAsyncMultiMap; + #entitiesByScope: AztecAsyncMultiMap; /** Index for delete-on-prune (retractable facts only). */ - #factsByBlock: AztecAsyncMultiMap; + #factsByBlock: AztecAsyncMultiMap; /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ #factSeq: AztecAsyncSingleton; @@ -82,13 +88,13 @@ export class EntityStore implements StagedStore { * The entity becomes immediately active, independently of whether it owns any facts. Re-creating an existing entity * overwrites its record (body and origin block, last write wins) and keeps the facts it already owns. */ - createEntity(coords: EntityCoords, body: Fr[], originBlock: OriginBlock | undefined, jobId: string): Promise { + createEntity(key: EntityKey, body: Fr[], originBlock: OriginBlock | undefined, jobId: string): Promise { return this.#withJobLock(jobId, () => { const entity = new StoredEntity( - coords.contractAddress, - coords.scope, - coords.entityTypeId, - coords.entityId, + key.contractAddress, + key.scope, + key.entityTypeId, + key.entityId, body, originBlock, ); @@ -108,7 +114,7 @@ export class EntityStore implements StagedStore { * while its origin block is updated (last write wins). */ recordFact( - coords: EntityCoords, + key: EntityKey, factTypeId: Fr, payload: Fr[], originBlock: OriginBlock | undefined, @@ -116,10 +122,10 @@ export class EntityStore implements StagedStore { ): Promise { return this.#withJobLock(jobId, () => { const fact = new StoredFact( - coords.contractAddress, - coords.scope, - coords.entityTypeId, - coords.entityId, + key.contractAddress, + key.scope, + key.entityTypeId, + key.entityId, factTypeId, payload, originBlock, @@ -130,9 +136,9 @@ export class EntityStore implements StagedStore { } /** Permanently delete an entity (all its facts). Staged within the job; applied on commit. */ - terminateEntity(coords: EntityCoords, jobId: string): Promise { + terminateEntity(key: EntityKey, jobId: string): Promise { return this.#withJobLock(jobId, () => { - this.#opsFor(jobId).push({ kind: 'terminate', coords }); + this.#opsFor(jobId).push({ kind: 'terminate', key }); return Promise.resolve(); }); } @@ -144,11 +150,11 @@ export class EntityStore implements StagedStore { * fact index. This job's staged ops are layered over committed state for read-your-writes: a createEntity sets the * body, a record adds/dedups a fact, a terminate clears both body and facts. * - * @param coords - The coordinates identifying the entity. + * @param key - The key identifying the entity. * @param jobId - The job whose staged writes are layered over committed state. */ - async getEntity(coords: EntityCoords, jobId: string): Promise<{ body: Fr[]; facts: StoredFact[] }> { - const eKey = entityKeyOf(coords); + async getEntity(key: EntityKey, jobId: string): Promise<{ body: Fr[]; facts: StoredFact[] }> { + const eKey = entityKeyStrOf(key); const { body, byRow } = await this.#store.transactionAsync(async () => { const entityBuf = await this.#entities.getAsync(eKey); return { @@ -164,12 +170,12 @@ export class EntityStore implements StagedStore { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'createEntity': - if (entityKeyOf(op.entity) === eKey) { + if (entityKeyStrOf(op.entity) === eKey) { currentBody = op.entity.body; } break; case 'terminate': - if (entityKeyOf(op.coords) === eKey) { + if (entityKeyStrOf(op.key) === eKey) { currentBody = []; } break; @@ -188,13 +194,13 @@ export class EntityStore implements StagedStore { * This job's staged ops are layered over committed state for read-your-writes: a createEntity activates the entity * (keeping any facts it already owns), a record adds/dedups a fact, a terminate deactivates the entity. */ - async getEntities(coords: ScopeCoords, jobId: string): Promise<{ entity: StoredEntity; facts: StoredFact[] }[]> { - const sKey = scopeKeyOf(coords); + async getEntities(scopeKey: ScopeKey, jobId: string): Promise<{ entity: StoredEntity; facts: StoredFact[] }[]> { + const sKey = scopeKeyStrOf(scopeKey); // Ids staged for creation join the candidate set up front, so the committed-state load below also picks up any // facts already committed for them (facts are stored independently of entity records). const stagedCreatedIds: EntityIdStr[] = []; for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'createEntity' && scopeKeyOf(op.entity) === sKey) { + if (op.kind === 'createEntity' && scopeKeyStrOf(op.entity) === sKey) { stagedCreatedIds.push(op.entity.entityId.toString()); } } @@ -204,7 +210,10 @@ export class EntityStore implements StagedStore { for await (const entityId of this.#entitiesByScope.getValuesAsync(sKey)) { committedIds.push(entityId); } - const result = new Map }>(); + const result = new Map< + EntityIdStr, + { entity: StoredEntity | undefined; byRow: Map } + >(); for (const entityId of committedIds) { const eKey = `${sKey}:${entityId}`; const buf = await this.#entities.getAsync(eKey); @@ -231,12 +240,12 @@ export class EntityStore implements StagedStore { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'createEntity': - if (scopeKeyOf(op.entity) === sKey) { + if (scopeKeyStrOf(op.entity) === sKey) { entities.get(op.entity.entityId.toString())!.entity = op.entity; } break; case 'terminate': { - const e = scopeKeyOf(op.coords) === sKey ? entities.get(op.coords.entityId.toString()) : undefined; + const e = scopeKeyStrOf(op.key) === sKey ? entities.get(op.key.entityId.toString()) : undefined; if (e) { e.entity = undefined; } @@ -263,7 +272,7 @@ export class EntityStore implements StagedStore { switch (op.kind) { case 'createEntity': { const entity = op.entity; - const eKey = entityKeyOf(entity); + const eKey = entityKeyStrOf(entity); // Re-creating an entity may change or drop its origin block; clear any stale by-block index entry from the // record first, so a later prune can neither double-visit this entity (and throw) nor wrongly delete one // that has since become non-retractable. @@ -275,7 +284,7 @@ export class EntityStore implements StagedStore { } } await this.#entities.set(eKey, entity.toBuffer()); - await this.#entitiesByScope.set(scopeKeyOf(entity), entity.entityId.toString()); + await this.#entitiesByScope.set(scopeKeyStrOf(entity), entity.entityId.toString()); if (entity.originBlock !== undefined) { await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); } @@ -283,7 +292,7 @@ export class EntityStore implements StagedStore { } case 'record': { const fact = op.fact; - const rowKey = factRowKeyOf(fact); + const rowKey = factRowKeyStrOf(fact); // Re-recording a fact may change or drop its origin block; keep its original sequence number (so it keeps // its creation position) and clear any stale by-block index entry, mirroring the createEntity guard above. const priorBuf = await this.#facts.getAsync(rowKey); @@ -298,14 +307,14 @@ export class EntityStore implements StagedStore { seq = await this.#nextFactSeq(); } await this.#facts.set(rowKey, serializeFactRow({ seq, fact })); - await this.#factsByEntity.set(entityKeyOf(fact), rowKey); + await this.#factsByEntity.set(entityKeyStrOf(fact), rowKey); if (fact.originBlock !== undefined) { await this.#factsByBlock.set(fact.originBlock.blockNumber, rowKey); } break; } case 'terminate': - await this.#deleteEntity(op.coords); + await this.#deleteEntity(op.key); break; } } @@ -334,11 +343,11 @@ export class EntityStore implements StagedStore { // Pass 1: delete retractable entities originating above toBlock wholesale. Snapshot before mutating so we never // delete from the multimap we are iterating. - const orphanedEntities: EntityKey[] = []; + const orphanedEntities: EntityKeyStr[] = []; for await (const [, eKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { orphanedEntities.push(eKey); } - const deletedEntities = new Set(); + const deletedEntities = new Set(); let removedEntities = 0; for (const eKey of orphanedEntities) { const buf = await this.#entities.getAsync(eKey); @@ -355,7 +364,7 @@ export class EntityStore implements StagedStore { // Pass 2: delete remaining retractable facts originating above toBlock whose entity survived pass 1. Pass 1 already // removed the facts_by_block rows of pruned entities, so any leftover row here belongs to a surviving entity. - const orphanedFacts: { block: BlockNum; rowKey: FactRowKey }[] = []; + const orphanedFacts: { block: BlockNum; rowKey: FactRowKeyStr }[] = []; for await (const [block, rowKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { orphanedFacts.push({ block, rowKey }); } @@ -368,7 +377,7 @@ export class EntityStore implements StagedStore { throw new Error(`Fact not found for rowKey ${rowKey}`); } const { fact } = deserializeFactRow(buf); - const eKey = entityKeyOf(fact); + const eKey = entityKeyStrOf(fact); // Belt-and-braces: a fact whose entity was pruned in pass 1 must not be re-processed here. With #deleteEntity // clearing the by-block index this is unreachable, but the guard keeps pass 2 correct if that ever changes. if (deletedEntities.has(eKey)) { @@ -388,14 +397,14 @@ export class EntityStore implements StagedStore { * Loads the committed facts for an entity keyed by their dedup row key, in creation order. Caller may wrap in a * transaction. */ - async #loadCommittedFacts(eKey: EntityKey): Promise> { + async #loadCommittedFacts(eKey: EntityKeyStr): Promise> { // Snapshot the index before issuing point reads so we never interleave reads with a live cursor (IndexedDB // cursors are sensitive to what runs between iterations). - const rowKeys: FactRowKey[] = []; + const rowKeys: FactRowKeyStr[] = []; for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { rowKeys.push(rowKey); } - const rows: { rowKey: FactRowKey; seq: number; fact: StoredFact }[] = []; + const rows: { rowKey: FactRowKeyStr; seq: number; fact: StoredFact }[] = []; for (const rowKey of rowKeys) { const buf = await this.#facts.getAsync(rowKey); if (!buf) { @@ -417,16 +426,16 @@ export class EntityStore implements StagedStore { * terminate clears the entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded * fact. createEntity ops do not affect the fact set. */ - #replayFactOps(byRow: Map, eKey: EntityKey, jobId: string): void { + #replayFactOps(byRow: Map, eKey: EntityKeyStr, jobId: string): void { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'record': - if (entityKeyOf(op.fact) === eKey) { - byRow.set(factRowKeyOf(op.fact), op.fact); + if (entityKeyStrOf(op.fact) === eKey) { + byRow.set(factRowKeyStrOf(op.fact), op.fact); } break; case 'terminate': - if (entityKeyOf(op.coords) === eKey) { + if (entityKeyStrOf(op.key) === eKey) { byRow.clear(); } break; @@ -447,9 +456,9 @@ export class EntityStore implements StagedStore { * Deletes an entity wholesale from every index: its record, all its facts, and the scope/block index entries. * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. */ - async #deleteEntity(coords: EntityCoords): Promise { - const eKey = entityKeyOf(coords); - const rowKeys: FactRowKey[] = []; + async #deleteEntity(key: EntityKey): Promise { + const eKey = entityKeyStrOf(key); + const rowKeys: FactRowKeyStr[] = []; for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { rowKeys.push(rowKey); } @@ -475,7 +484,7 @@ export class EntityStore implements StagedStore { await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); } } - await this.#entitiesByScope.deleteValue(scopeKeyOf(coords), coords.entityId.toString()); + await this.#entitiesByScope.deleteValue(scopeKeyStrOf(key), key.entityId.toString()); } #opsFor(jobId: string): StagedOp[] { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index d85c01f54449..b2dc8c5e8572 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -1,8 +1,8 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { entityKeyOf, scopeKeyOf } from './entity_keys.js'; -import { StoredFact, deserializeFactRow, factRowKeyOf, serializeFactRow } from './stored_fact.js'; +import { entityKeyStrOf, scopeKeyStrOf } from './entity_keys.js'; +import { StoredFact, deserializeFactRow, factRowKeyStrOf, serializeFactRow } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); @@ -30,9 +30,9 @@ describe('StoredFact', () => { it('derives stable composite keys', () => { const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); - expect(scopeKeyOf(fact)).toBe(`${contract}:${scope}:${entityType}`); - expect(entityKeyOf(fact)).toBe(`${contract}:${scope}:${entityType}:${entityId}`); - expect(factRowKeyOf(fact)).toBe(entityKeyOf(fact) + `:${factType}:${fact.payloadHash()}`); + expect(scopeKeyStrOf(fact)).toBe(`${contract}:${scope}:${entityType}`); + expect(entityKeyStrOf(fact)).toBe(`${contract}:${scope}:${entityType}:${entityId}`); + expect(factRowKeyStrOf(fact)).toBe(entityKeyStrOf(fact) + `:${factType}:${fact.payloadHash()}`); }); it('gives distinct payload hashes for distinct payloads and equal for equal', () => { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index f5ae75e59c0f..e1f2b82edc24 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -3,7 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { type OriginBlock, entityKeyOf } from './entity_keys.js'; +import { type OriginBlock, entityKeyStrOf } from './entity_keys.js'; /** * A single immutable fact about an entity. `originBlock === undefined` marks the fact non-retractable (an external @@ -64,14 +64,14 @@ export class StoredFact { } /** - * Dedup row key for a specific fact, `entityKey:factTypeId:payloadHash`. The payload hash (rather than the raw + * Dedup row key for a specific fact, `entityKeyStr:factTypeId:payloadHash`. The payload hash (rather than the raw * payload) bounds key size for large payloads. */ -export type FactRowKey = string; +export type FactRowKeyStr = string; -/** Builds the {@link FactRowKey} for the given fact. */ -export function factRowKeyOf(fact: StoredFact): FactRowKey { - return `${entityKeyOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; +/** Builds the {@link FactRowKeyStr} for the given fact. */ +export function factRowKeyStrOf(fact: StoredFact): FactRowKeyStr { + return `${entityKeyStrOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; } /** From 9c546afdb292b7a7d3014a4ef34b55189313d1ee Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 13:03:24 +0000 Subject: [PATCH 042/197] more refactors --- .../storage/entity_store/entity_store.test.ts | 8 +- .../src/storage/entity_store/entity_store.ts | 171 ++++++++++-------- .../storage/entity_store/stored_fact.test.ts | 8 +- .../src/storage/entity_store/stored_fact.ts | 23 +-- 4 files changed, 112 insertions(+), 98 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index ce8cce86b2c4..7b9d23f4bb29 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -658,8 +658,8 @@ describe('EntityStore', () => { }); it('getEntity fails loudly when the fact index references a missing row', async () => { - await kv.openMultiMap('facts_by_entity').set(entityKeyStrOf(keyA), 'bogus-row-key'); - await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for rowKey bogus-row-key'); + await kv.openMultiMap('facts_by_entity').set(entityKeyStrOf(keyA), 'bogus-fact-key'); + await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for factKey bogus-fact-key'); }); it('rollback fails loudly when the entity by-block index references a missing entity', async () => { @@ -670,9 +670,9 @@ describe('EntityStore', () => { }); it('rollback fails loudly when the fact by-block index references a missing row', async () => { - await kv.openMultiMap('facts_by_block').set(7, 'bogus-row-key'); + await kv.openMultiMap('facts_by_block').set(7, 'bogus-fact-key'); await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow( - 'Fact not found for rowKey bogus-row-key', + 'Fact not found for factKey bogus-fact-key', ); }); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index a7859c8c06a7..7c60f35359fb 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -14,19 +14,13 @@ import { scopeKeyStrOf, } from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { - type FactRowKeyStr, - StoredFact, - deserializeFactRow, - factRowKeyStrOf, - serializeFactRow, -} from './stored_fact.js'; +import { type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; type JobId = string; type BlockNum = number; type EntityIdStr = string; type StoredEntityBuffer = Buffer; -type FactRowBuffer = Buffer; +type FactBuffer = Buffer; /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ type StagedOp = @@ -35,28 +29,45 @@ type StagedOp = | { kind: 'terminate'; key: EntityKey }; /** - * Stores immutable facts about entities, grouped by contract, scope, entity type, and entity id. + * Stores immutable facts about entities, isolated by contract and scope. + * + * Both entities and facts can be retractable or non-retractable. They are retractable if they are associated to an + * origin block; they are non-retractable if they are not associated to an origin block. + * + * Retractable entities and all their facts are removed from the store when their origin block is pruned (typically due + * to a reorg). Retractable facts are likewise removed from the store when their origin block is pruned. + * + * Conversely, non-retractable entities and facts survive reorgs. Non-retractable entities must then be explicitly + * terminated, so as not to keep consuming resources (storage and compute) indefinitely. + * + * Order of facts in an entity is stable, respecting original creation order. + * + * This enables Aztec.nr to implement complex workflows such as offchain reception or partial note processing by + * storing structured data that is guaranteed to exist conditionally to certain blocks being included in the chain, + * while leaving the complexity of ensuring said guarantees to PXE. + * + * A key design driver is that PXE knows nothing about the actual entity and fact contents: it just manages enough + * metadata to provide the guarantees mentioned above. That way, concepts such as offchain delivery or partial notes + * are completely defined by Aztec.nr, opening the door to further extension without the need for ad-hoc PXE support. * - * Append-only within a job commit. Retractable facts (those with an origin block) are deleted on block prune. - * Non-retractable facts (originBlock === undefined) survive reorgs as external inputs. Writes are staged per-job and - * flushed atomically on commit. Facts are returned in creation order. + * As with most other PXE stores, writes are staged per-job and flushed atomically on commit. */ export class EntityStore implements StagedStore { readonly storeName: string = 'entity'; #store: AztecAsyncKVStore; - /** Primary entity records; each row holds the entity body and optional origin block. */ + /** Primary entity records; each holds the entity body and optional origin block. */ #entities: AztecAsyncMap; /** Index for delete-on-prune of retractable entities (those with an origin block). */ #entitiesByBlock: AztecAsyncMultiMap; - /** Primary fact records, deduplicated by row key. */ - #facts: AztecAsyncMap; + /** Primary fact records, deduplicated by fact key. */ + #facts: AztecAsyncMap; /** Index for efficient entity-level fold. */ - #factsByEntity: AztecAsyncMultiMap; + #factsByEntity: AztecAsyncMultiMap; /** Index for active-entity enumeration. */ #entitiesByScope: AztecAsyncMultiMap; /** Index for delete-on-prune (retractable facts only). */ - #factsByBlock: AztecAsyncMultiMap; + #factsByBlock: AztecAsyncMultiMap; /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ #factSeq: AztecAsyncSingleton; @@ -110,7 +121,7 @@ export class EntityStore implements StagedStore { * fact to a specific block and it will be deleted on prune. * * Facts are returned in creation order by the read methods. Idempotent: duplicate (entity, factType, payload) - * tuples collapse to a single row via the dedup row key; a re-recorded fact keeps its original creation position + * tuples collapse to a single stored fact via the dedup fact key; a re-recorded fact keeps its original creation position * while its origin block is updated (last write wins). */ recordFact( @@ -155,17 +166,17 @@ export class EntityStore implements StagedStore { */ async getEntity(key: EntityKey, jobId: string): Promise<{ body: Fr[]; facts: StoredFact[] }> { const eKey = entityKeyStrOf(key); - const { body, byRow } = await this.#store.transactionAsync(async () => { + const { body, factsByKey } = await this.#store.transactionAsync(async () => { const entityBuf = await this.#entities.getAsync(eKey); return { body: entityBuf ? StoredEntity.fromBuffer(entityBuf).body : [], - byRow: await this.#loadCommittedFacts(eKey), + factsByKey: await this.#loadCommittedFacts(eKey), }; }); // The body and the fact set are updated independently by each op kind (a terminate clears both, but does so in // both replays at the same position in the op sequence), so replaying them separately is equivalent to a single // in-order replay. - this.#replayFactOps(byRow, eKey, jobId); + this.#replayFactOps(factsByKey, eKey, jobId); let currentBody = body; for (const op of this.#stagedOps(jobId)) { switch (op.kind) { @@ -183,7 +194,7 @@ export class EntityStore implements StagedStore { break; } } - return { body: currentBody, facts: Array.from(byRow.values()) }; + return { body: currentBody, facts: Array.from(factsByKey.values()) }; } /** @@ -212,21 +223,27 @@ export class EntityStore implements StagedStore { } const result = new Map< EntityIdStr, - { entity: StoredEntity | undefined; byRow: Map } + { entity: StoredEntity | undefined; factsByKey: Map } >(); for (const entityId of committedIds) { const eKey = `${sKey}:${entityId}`; const buf = await this.#entities.getAsync(eKey); if (!buf) { - // An #entitiesByScope entry must always reference a live #entities row; a missing one means the indexes + // An #entitiesByScope entry must always reference a live #entities entry; a missing one means the indexes // are corrupt, so fail loudly rather than surface a ghost entity or silently hide the corruption. throw new Error(`Entity not found for entityKey ${eKey}`); } - result.set(entityId, { entity: StoredEntity.fromBuffer(buf), byRow: await this.#loadCommittedFacts(eKey) }); + result.set(entityId, { + entity: StoredEntity.fromBuffer(buf), + factsByKey: await this.#loadCommittedFacts(eKey), + }); } for (const entityId of stagedCreatedIds) { if (!result.has(entityId)) { - result.set(entityId, { entity: undefined, byRow: await this.#loadCommittedFacts(`${sKey}:${entityId}`) }); + result.set(entityId, { + entity: undefined, + factsByKey: await this.#loadCommittedFacts(`${sKey}:${entityId}`), + }); } } return result; @@ -235,7 +252,7 @@ export class EntityStore implements StagedStore { // entity-record presence (createEntity activates, terminate deactivates) replays separately, which is equivalent // to a single in-order replay because the two are updated independently by each op kind. for (const [entityId, e] of entities) { - this.#replayFactOps(e.byRow, `${sKey}:${entityId}`, jobId); + this.#replayFactOps(e.factsByKey, `${sKey}:${entityId}`, jobId); } for (const op of this.#stagedOps(jobId)) { switch (op.kind) { @@ -257,7 +274,7 @@ export class EntityStore implements StagedStore { } return Array.from(entities.values()) .filter(e => e.entity !== undefined) - .map(({ entity, byRow }) => ({ entity: entity!, facts: Array.from(byRow.values()) })); + .map(({ entity, factsByKey }) => ({ entity: entity!, facts: Array.from(factsByKey.values()) })); } /** @@ -292,24 +309,24 @@ export class EntityStore implements StagedStore { } case 'record': { const fact = op.fact; - const rowKey = factRowKeyStrOf(fact); + const fKey = factKeyStrOf(fact); // Re-recording a fact may change or drop its origin block; keep its original sequence number (so it keeps // its creation position) and clear any stale by-block index entry, mirroring the createEntity guard above. - const priorBuf = await this.#facts.getAsync(rowKey); + const priorBuf = await this.#facts.getAsync(fKey); let seq: number; if (priorBuf) { - const prior = deserializeFactRow(priorBuf); + const prior = deserializeFact(priorBuf); seq = prior.seq; if (prior.fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(prior.fact.originBlock.blockNumber, rowKey); + await this.#factsByBlock.deleteValue(prior.fact.originBlock.blockNumber, fKey); } } else { seq = await this.#nextFactSeq(); } - await this.#facts.set(rowKey, serializeFactRow({ seq, fact })); - await this.#factsByEntity.set(entityKeyStrOf(fact), rowKey); + await this.#facts.set(fKey, serializeFact(seq, fact)); + await this.#factsByEntity.set(entityKeyStrOf(fact), fKey); if (fact.originBlock !== undefined) { - await this.#factsByBlock.set(fact.originBlock.blockNumber, rowKey); + await this.#factsByBlock.set(fact.originBlock.blockNumber, fKey); } break; } @@ -352,7 +369,7 @@ export class EntityStore implements StagedStore { for (const eKey of orphanedEntities) { const buf = await this.#entities.getAsync(eKey); if (!buf) { - // An #entitiesByBlock entry must always reference a live #entities row; a missing one means the indexes are + // An #entitiesByBlock entry must always reference a live #entities entry; a missing one means the indexes are // corrupt, so fail loudly rather than leave a ghost entity behind. throw new Error(`Entity not found for entityKey ${eKey}`); } @@ -363,29 +380,29 @@ export class EntityStore implements StagedStore { } // Pass 2: delete remaining retractable facts originating above toBlock whose entity survived pass 1. Pass 1 already - // removed the facts_by_block rows of pruned entities, so any leftover row here belongs to a surviving entity. - const orphanedFacts: { block: BlockNum; rowKey: FactRowKeyStr }[] = []; - for await (const [block, rowKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { - orphanedFacts.push({ block, rowKey }); + // removed the facts_by_block entries of pruned entities, so any leftover entry here belongs to a surviving entity. + const orphanedFacts: { block: BlockNum; fKey: FactKeyStr }[] = []; + for await (const [block, fKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { + orphanedFacts.push({ block, fKey }); } let removedFacts = 0; - for (const { block, rowKey } of orphanedFacts) { - const buf = await this.#facts.getAsync(rowKey); + for (const { block, fKey } of orphanedFacts) { + const buf = await this.#facts.getAsync(fKey); if (!buf) { - // A still-present by-block entry with no fact row means the indexes are corrupt (pass 1 removes both the row + // A still-present by-block entry with no fact means the indexes are corrupt (pass 1 removes both the fact // and the by-block entry for pruned entities), so fail loudly rather than leave a dangling index entry. - throw new Error(`Fact not found for rowKey ${rowKey}`); + throw new Error(`Fact not found for factKey ${fKey}`); } - const { fact } = deserializeFactRow(buf); + const { fact } = deserializeFact(buf); const eKey = entityKeyStrOf(fact); // Belt-and-braces: a fact whose entity was pruned in pass 1 must not be re-processed here. With #deleteEntity // clearing the by-block index this is unreachable, but the guard keeps pass 2 correct if that ever changes. if (deletedEntities.has(eKey)) { continue; } - await this.#facts.delete(rowKey); - await this.#factsByBlock.deleteValue(block, rowKey); - await this.#factsByEntity.deleteValue(eKey, rowKey); + await this.#facts.delete(fKey); + await this.#factsByBlock.deleteValue(block, fKey); + await this.#factsByEntity.deleteValue(eKey, fKey); removedFacts++; } this.logger.verbose('rolled back entity store', { removedEntities, removedFacts, toBlock }); @@ -394,49 +411,49 @@ export class EntityStore implements StagedStore { // ---- private helpers ---- /** - * Loads the committed facts for an entity keyed by their dedup row key, in creation order. Caller may wrap in a + * Loads the committed facts for an entity keyed by their dedup fact key, in creation order. Caller may wrap in a * transaction. */ - async #loadCommittedFacts(eKey: EntityKeyStr): Promise> { + async #loadCommittedFacts(eKey: EntityKeyStr): Promise> { // Snapshot the index before issuing point reads so we never interleave reads with a live cursor (IndexedDB // cursors are sensitive to what runs between iterations). - const rowKeys: FactRowKeyStr[] = []; - for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { - rowKeys.push(rowKey); + const fKeys: FactKeyStr[] = []; + for await (const fKey of this.#factsByEntity.getValuesAsync(eKey)) { + fKeys.push(fKey); } - const rows: { rowKey: FactRowKeyStr; seq: number; fact: StoredFact }[] = []; - for (const rowKey of rowKeys) { - const buf = await this.#facts.getAsync(rowKey); + const loaded: { fKey: FactKeyStr; seq: number; fact: StoredFact }[] = []; + for (const fKey of fKeys) { + const buf = await this.#facts.getAsync(fKey); if (!buf) { - // A #factsByEntity entry must always reference a live #facts row; a missing one means the indexes are + // A #factsByEntity entry must always reference a live #facts entry; a missing one means the indexes are // corrupt, so fail loudly rather than silently drop the fact. - throw new Error(`Fact not found for rowKey ${rowKey}`); + throw new Error(`Fact not found for factKey ${fKey}`); } - const { seq, fact } = deserializeFactRow(buf); - rows.push({ rowKey, seq, fact }); + const { seq, fact } = deserializeFact(buf); + loaded.push({ fKey, seq, fact }); } // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB); sort by the // commit-assigned sequence so facts always come back in creation order. - rows.sort((a, b) => a.seq - b.seq); - return new Map(rows.map(({ rowKey, fact }) => [rowKey, fact])); + loaded.sort((a, b) => a.seq - b.seq); + return new Map(loaded.map(({ fKey, fact }) => [fKey, fact])); } /** - * Replays a job's staged ops over a committed fact map for read-your-writes: a record sets (dedups) a fact row, a + * Replays a job's staged ops over a committed fact map for read-your-writes: a record sets (dedups) a fact, a * terminate clears the entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded * fact. createEntity ops do not affect the fact set. */ - #replayFactOps(byRow: Map, eKey: EntityKeyStr, jobId: string): void { + #replayFactOps(factsByKey: Map, eKey: EntityKeyStr, jobId: string): void { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'record': if (entityKeyStrOf(op.fact) === eKey) { - byRow.set(factRowKeyStrOf(op.fact), op.fact); + factsByKey.set(factKeyStrOf(op.fact), op.fact); } break; case 'terminate': if (entityKeyStrOf(op.key) === eKey) { - byRow.clear(); + factsByKey.clear(); } break; case 'createEntity': @@ -458,22 +475,22 @@ export class EntityStore implements StagedStore { */ async #deleteEntity(key: EntityKey): Promise { const eKey = entityKeyStrOf(key); - const rowKeys: FactRowKeyStr[] = []; - for await (const rowKey of this.#factsByEntity.getValuesAsync(eKey)) { - rowKeys.push(rowKey); + const fKeys: FactKeyStr[] = []; + for await (const fKey of this.#factsByEntity.getValuesAsync(eKey)) { + fKeys.push(fKey); } - for (const rowKey of rowKeys) { - const buf = await this.#facts.getAsync(rowKey); + for (const fKey of fKeys) { + const buf = await this.#facts.getAsync(fKey); if (!buf) { - // A #factsByEntity entry must always reference a live #facts row; a missing one means the indexes are + // A #factsByEntity entry must always reference a live #facts entry; a missing one means the indexes are // corrupt, so fail loudly rather than silently skip cleanup. - throw new Error(`Fact not found for rowKey ${rowKey}`); + throw new Error(`Fact not found for factKey ${fKey}`); } - const { fact } = deserializeFactRow(buf); - await this.#facts.delete(rowKey); - await this.#factsByEntity.deleteValue(eKey, rowKey); + const { fact } = deserializeFact(buf); + await this.#facts.delete(fKey); + await this.#factsByEntity.deleteValue(eKey, fKey); if (fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, rowKey); + await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, fKey); } } const entityBuf = await this.#entities.getAsync(eKey); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index b2dc8c5e8572..0e788c36a658 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; import { entityKeyStrOf, scopeKeyStrOf } from './entity_keys.js'; -import { StoredFact, deserializeFactRow, factRowKeyStrOf, serializeFactRow } from './stored_fact.js'; +import { StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); @@ -32,7 +32,7 @@ describe('StoredFact', () => { const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); expect(scopeKeyStrOf(fact)).toBe(`${contract}:${scope}:${entityType}`); expect(entityKeyStrOf(fact)).toBe(`${contract}:${scope}:${entityType}:${entityId}`); - expect(factRowKeyStrOf(fact)).toBe(entityKeyStrOf(fact) + `:${factType}:${fact.payloadHash()}`); + expect(factKeyStrOf(fact)).toBe(entityKeyStrOf(fact) + `:${factType}:${fact.payloadHash()}`); }); it('gives distinct payload hashes for distinct payloads and equal for equal', () => { @@ -43,13 +43,13 @@ describe('StoredFact', () => { expect(a.payloadHash()).toEqual(c.payloadHash()); }); - it('round-trips a fact row, preserving the sequence number', () => { + it('round-trips a stored fact with its sequence number', () => { const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], { blockNumber: 12, blockHash: new Fr(0xabcn), }); for (const seq of [0, 1, 2 ** 32 - 1]) { - const back = deserializeFactRow(serializeFactRow({ seq, fact })); + const back = deserializeFact(serializeFact(seq, fact)); expect(back.seq).toBe(seq); expect(back.fact).toEqual(fact); } diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index e1f2b82edc24..9b894666a7e4 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -64,30 +64,27 @@ export class StoredFact { } /** - * Dedup row key for a specific fact, `entityKeyStr:factTypeId:payloadHash`. The payload hash (rather than the raw - * payload) bounds key size for large payloads. + * Serialized key that identifies and dedups a fact (`entityKeyStr:factTypeId:payloadHash`). The payload hash (rather + * than the raw payload) bounds key size for large payloads. */ -export type FactRowKeyStr = string; +export type FactKeyStr = string; -/** Builds the {@link FactRowKeyStr} for the given fact. */ -export function factRowKeyStrOf(fact: StoredFact): FactRowKeyStr { +/** Builds the {@link FactKeyStr} for the given fact. */ +export function factKeyStrOf(fact: StoredFact): FactKeyStr { return `${entityKeyStrOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; } /** - * The persisted form of a fact: the fact plus the monotonic sequence number assigned when it was first committed. + * Serializes a fact for storage, prefixed with the monotonic sequence number assigned when it was first committed. * Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB), so reads sort by * `seq` to return facts in creation order. */ -export type FactRow = { seq: number; fact: StoredFact }; - -/** Serializes a {@link FactRow} for storage. */ -export function serializeFactRow(row: FactRow): Buffer { - return serializeToBuffer(row.seq, row.fact); +export function serializeFact(seq: number, fact: StoredFact): Buffer { + return serializeToBuffer(seq, fact); } -/** Deserializes a {@link FactRow} from storage. */ -export function deserializeFactRow(buffer: Buffer): FactRow { +/** Deserializes a fact and its sequence number from storage. */ +export function deserializeFact(buffer: Buffer): { seq: number; fact: StoredFact } { const reader = BufferReader.asReader(buffer); const seq = reader.readNumber(); const fact = StoredFact.fromBuffer(reader); From 9fc3d50655fce100f2733e8e6aa52c01c0d3b346 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 13:38:47 +0000 Subject: [PATCH 043/197] make entity and fact creation idempotent instead of overwriting --- .../storage/entity_store/entity_store.test.ts | 55 +++++++------ .../src/storage/entity_store/entity_store.ts | 80 ++++++++++--------- 2 files changed, 71 insertions(+), 64 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 7b9d23f4bb29..24c779a5bad9 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -82,7 +82,7 @@ describe('EntityStore', () => { expect(facts).toHaveLength(1); }); - it('re-recording a fact keeps its creation position', async () => { + it('re-recording a fact is a no-op keeping its creation position and origin block', async () => { await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -93,20 +93,19 @@ describe('EntityStore', () => { const { facts } = await store.getEntity(keyA, JOB); expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); - expect(facts[0].originBlock?.blockNumber).toBe(5); + expect(facts[0].originBlock).toBeUndefined(); }); - it('re-recording a fact with a changed origin block updates its retraction block', async () => { - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(1n) }, JOB); + it('re-recording a fact keeps its original origin block (first write wins)', async () => { + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // Re-record the identical fact originating at an earlier block: same dedup row, new origin. + // Re-record the identical fact at a later block: a no-op, so the fact still originates at block 5. const JOB2 = 'rerecord-job'; - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(2n) }, JOB2); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - // Prune above block 7: the fact now originates at block 5 and must survive. A stale block-10 index entry would - // make pass 2 delete it. + // Prune above block 7: the fact was first derived at block 5, which survives, so the fact must survive. await kv.transactionAsync(() => store.rollback(7)); expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); @@ -147,24 +146,24 @@ describe('EntityStore', () => { expect(entities[0].facts).toHaveLength(0); }); - it('creating the same entity twice keeps the last body and lists it once', async () => { + it('creating the same entity twice keeps the first body and lists it once', async () => { await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); await store.createEntity(keyA, [new Fr(2n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); + expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); - // Re-creating in a later commit overwrites again and still lists the entity exactly once. + // Re-creating in a later commit is a no-op too, and still lists the entity exactly once. const JOB2 = 'recreate-job'; await store.createEntity(keyA, [new Fr(3n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([3n]); + expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); - it('re-creating an entity keeps the facts it already owns', async () => { + it('re-creating an entity is a no-op keeping its body and facts', async () => { await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -172,14 +171,14 @@ describe('EntityStore', () => { const JOB2 = 'recreate-job'; await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); - // Both before and after commit, the new body is paired with the existing facts. + // Both before and after commit, the original body is paired with the existing facts. const staged = await store.getEntities(scopeKey, JOB2); - expect(staged[0].entity.body.map(f => f.toBigInt())).toEqual([2n]); + expect(staged[0].entity.body.map(f => f.toBigInt())).toEqual([1n]); expect(staged[0].facts).toHaveLength(1); await kv.transactionAsync(() => store.commit(JOB2)); const { body, facts } = await store.getEntity(keyA, JOB); - expect(body.map(f => f.toBigInt())).toEqual([2n]); + expect(body.map(f => f.toBigInt())).toEqual([1n]); expect(facts).toHaveLength(1); }); @@ -314,36 +313,40 @@ describe('EntityStore', () => { expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); - it('re-creating an entity with a changed origin block clears the stale by-block index', async () => { + it('re-creating an entity keeps its original origin block (first write wins)', async () => { await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // Re-create the same entity originating at a different block. + // Re-creating at a later block is a no-op, so the entity still originates at block 6. const JOB2 = 'recreate-job'; await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(2n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - // Prune above block 5: the entity (origin block 8) is deleted exactly once. A stale block-6 index entry would make - // pass 1 visit it a second time and throw "Entity not found". + // Prune above block 7: the entity was first derived at block 6, which survives, so the entity must survive. + await kv.transactionAsync(() => store.rollback(7)); + expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + + // Prune above block 5: the entity originates above the target and is deleted exactly once. await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); expect((await store.getEntity(keyA, JOB)).body).toEqual([]); expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); }); - it('re-creating a retractable entity as non-retractable lets it survive a prune', async () => { + it('replacing an entity requires an explicit terminate-then-create', async () => { await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // Re-create the same entity without an origin block: it is now non-retractable and must survive reorgs. - const JOB2 = 'recreate-job'; - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB2); + // A plain re-create as non-retractable is a no-op; terminate-then-create replaces the entity for real. + const JOB2 = 'replace-job'; + await store.terminateEntity(keyA, JOB2); + await store.createEntity(keyA, [new Fr(7n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); await kv.transactionAsync(() => store.rollback(5)); - // Survived: the stale block-6 index entry was cleared when the entity was re-created. + // Survived: the replacement entity is non-retractable. const { body } = await store.getEntity(keyA, JOB); - expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(body.map(f => f.toBigInt())).toEqual([7n]); expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 7c60f35359fb..27f4b59b3f3f 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -68,6 +68,7 @@ export class EntityStore implements StagedStore { #entitiesByScope: AztecAsyncMultiMap; /** Index for delete-on-prune (retractable facts only). */ #factsByBlock: AztecAsyncMultiMap; + // Martin: mmm, wonder if we can do something simpler with this /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ #factSeq: AztecAsyncSingleton; @@ -90,14 +91,18 @@ export class EntityStore implements StagedStore { } /** - * Stages an entity record (with its own body and optional origin block) under the given job. + * Creates an entity. * * `originBlock === undefined` marks the entity non-retractable (it survives reorgs; only its own retractable facts * are pruned). A defined origin block marks the whole entity retractable: on a prune above its block, the entity and * all its facts are deleted. * - * The entity becomes immediately active, independently of whether it owns any facts. Re-creating an existing entity - * overwrites its record (body and origin block, last write wins) and keeps the facts it already owns. + * The entity becomes immediately active, independently of whether it owns any facts. + * + * Idempotent: creating an entity that already exists is a no-op (first write wins), keeping the existing body, + * origin block and facts. Keeping the earliest origin block makes retraction correct when the same entity is + * re-derived at a later block: it must survive while its first derivation block is canonical. To genuinely replace + * an entity, terminate and re-create it within the same job. */ createEntity(key: EntityKey, body: Fr[], originBlock: OriginBlock | undefined, jobId: string): Promise { return this.#withJobLock(jobId, () => { @@ -120,9 +125,10 @@ export class EntityStore implements StagedStore { * `originBlock === undefined` marks the fact non-retractable (it survives reorgs); a defined origin block ties the * fact to a specific block and it will be deleted on prune. * - * Facts are returned in creation order by the read methods. Idempotent: duplicate (entity, factType, payload) - * tuples collapse to a single stored fact via the dedup fact key; a re-recorded fact keeps its original creation position - * while its origin block is updated (last write wins). + * Facts are returned in creation order by the read methods. + * + * Idempotent: re-recording an existing (entity, factType, payload) tuple is a no-op (first write wins), keeping + * the fact's origin block and creation position. */ recordFact( key: EntityKey, @@ -159,16 +165,17 @@ export class EntityStore implements StagedStore { * * The body comes from the entity record (empty when no entity record exists); the facts come from the per-entity * fact index. This job's staged ops are layered over committed state for read-your-writes: a createEntity sets the - * body, a record adds/dedups a fact, a terminate clears both body and facts. + * body if the entity is absent, a record adds a fact if absent, a terminate clears both body and facts. * * @param key - The key identifying the entity. * @param jobId - The job whose staged writes are layered over committed state. */ async getEntity(key: EntityKey, jobId: string): Promise<{ body: Fr[]; facts: StoredFact[] }> { const eKey = entityKeyStrOf(key); - const { body, factsByKey } = await this.#store.transactionAsync(async () => { + const { exists, body, factsByKey } = await this.#store.transactionAsync(async () => { const entityBuf = await this.#entities.getAsync(eKey); return { + exists: entityBuf !== undefined, body: entityBuf ? StoredEntity.fromBuffer(entityBuf).body : [], factsByKey: await this.#loadCommittedFacts(eKey), }; @@ -177,16 +184,19 @@ export class EntityStore implements StagedStore { // both replays at the same position in the op sequence), so replaying them separately is equivalent to a single // in-order replay. this.#replayFactOps(factsByKey, eKey, jobId); + let currentExists = exists; let currentBody = body; for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'createEntity': - if (entityKeyStrOf(op.entity) === eKey) { + if (!currentExists && entityKeyStrOf(op.entity) === eKey) { + currentExists = true; currentBody = op.entity.body; } break; case 'terminate': if (entityKeyStrOf(op.key) === eKey) { + currentExists = false; currentBody = []; } break; @@ -203,7 +213,7 @@ export class EntityStore implements StagedStore { * entity owns any facts. * * This job's staged ops are layered over committed state for read-your-writes: a createEntity activates the entity - * (keeping any facts it already owns), a record adds/dedups a fact, a terminate deactivates the entity. + * if absent (keeping any facts it already owns), a record adds a fact if absent, a terminate deactivates the entity. */ async getEntities(scopeKey: ScopeKey, jobId: string): Promise<{ entity: StoredEntity; facts: StoredFact[] }[]> { const sKey = scopeKeyStrOf(scopeKey); @@ -256,11 +266,13 @@ export class EntityStore implements StagedStore { } for (const op of this.#stagedOps(jobId)) { switch (op.kind) { - case 'createEntity': - if (scopeKeyStrOf(op.entity) === sKey) { - entities.get(op.entity.entityId.toString())!.entity = op.entity; + case 'createEntity': { + const e = scopeKeyStrOf(op.entity) === sKey ? entities.get(op.entity.entityId.toString()) : undefined; + if (e && e.entity === undefined) { + e.entity = op.entity; } break; + } case 'terminate': { const e = scopeKeyStrOf(op.key) === sKey ? entities.get(op.key.entityId.toString()) : undefined; if (e) { @@ -290,15 +302,13 @@ export class EntityStore implements StagedStore { case 'createEntity': { const entity = op.entity; const eKey = entityKeyStrOf(entity); - // Re-creating an entity may change or drop its origin block; clear any stale by-block index entry from the - // record first, so a later prune can neither double-visit this entity (and throw) nor wrongly delete one - // that has since become non-retractable. - const priorBuf = await this.#entities.getAsync(eKey); - if (priorBuf) { - const prior = StoredEntity.fromBuffer(priorBuf); - if (prior.originBlock !== undefined) { - await this.#entitiesByBlock.deleteValue(prior.originBlock.blockNumber, eKey); - } + // Idempotent: creating an existing entity is a no-op (first write wins). Keeping the earliest origin block + // is what makes retraction correct: the entity must survive while its first derivation block is canonical. + // A welcome side effect is that an entity's record never changes in place, so the by-block index can never + // go stale. + if (await this.#entities.hasAsync(eKey)) { + this.logger.debug(`Ignoring createEntity for an already existing entity`, { entityKey: eKey, jobId }); + break; } await this.#entities.set(eKey, entity.toBuffer()); await this.#entitiesByScope.set(scopeKeyStrOf(entity), entity.entityId.toString()); @@ -310,19 +320,13 @@ export class EntityStore implements StagedStore { case 'record': { const fact = op.fact; const fKey = factKeyStrOf(fact); - // Re-recording a fact may change or drop its origin block; keep its original sequence number (so it keeps - // its creation position) and clear any stale by-block index entry, mirroring the createEntity guard above. - const priorBuf = await this.#facts.getAsync(fKey); - let seq: number; - if (priorBuf) { - const prior = deserializeFact(priorBuf); - seq = prior.seq; - if (prior.fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(prior.fact.originBlock.blockNumber, fKey); - } - } else { - seq = await this.#nextFactSeq(); + // Idempotent: re-recording an existing fact is a no-op (first write wins), mirroring createEntity above. + // The fact keeps its earliest origin block and its original creation position. + if (await this.#facts.hasAsync(fKey)) { + this.logger.debug(`Ignoring already recorded fact`, { factKey: fKey, jobId }); + break; } + const seq = await this.#nextFactSeq(); await this.#facts.set(fKey, serializeFact(seq, fact)); await this.#factsByEntity.set(entityKeyStrOf(fact), fKey); if (fact.originBlock !== undefined) { @@ -439,15 +443,15 @@ export class EntityStore implements StagedStore { } /** - * Replays a job's staged ops over a committed fact map for read-your-writes: a record sets (dedups) a fact, a - * terminate clears the entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded - * fact. createEntity ops do not affect the fact set. + * Replays a job's staged ops over a committed fact map for read-your-writes: a record adds a fact if absent + * (re-records are no-ops, mirroring commit), a terminate clears the entity's facts. Order matters so a + * terminate-then-record sequence resolves to the re-recorded fact. createEntity ops do not affect the fact set. */ #replayFactOps(factsByKey: Map, eKey: EntityKeyStr, jobId: string): void { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'record': - if (entityKeyStrOf(op.fact) === eKey) { + if (entityKeyStrOf(op.fact) === eKey && !factsByKey.has(factKeyStrOf(op.fact))) { factsByKey.set(factKeyStrOf(op.fact), op.fact); } break; From 6b638e95716a92a4296c5674348d894537357bef Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 14:26:26 +0000 Subject: [PATCH 044/197] refactor --- .../block_synchronizer.test.ts | 21 ++- .../schema_tests.ts | 5 +- .../src/storage/entity_store/entity_keys.ts | 53 +++++-- .../storage/entity_store/entity_store.test.ts | 42 +++--- .../src/storage/entity_store/entity_store.ts | 140 ++++++++---------- .../entity_store/stored_entity.test.ts | 17 ++- .../storage/entity_store/stored_fact.test.ts | 23 +-- .../src/storage/entity_store/stored_fact.ts | 34 +++-- 8 files changed, 184 insertions(+), 151 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 905cb30f8f76..4b5b61212ae0 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -27,6 +27,7 @@ import { type MockProxy, mock } from 'jest-mock-extended'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; +import { EntityKey, ScopeKey } from '../storage/entity_store/entity_keys.js'; import { EntityStore } from '../storage/entity_store/entity_store.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; @@ -308,8 +309,13 @@ describe('BlockSynchronizer', () => { const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; - const prunedKey = { contractAddress: contract, scope, entityTypeId, entityId: prunedEntityId }; - const survivingKey = { contractAddress: contract, scope, entityTypeId, entityId: survivingEntityId }; + const prunedKey = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId: prunedEntityId }); + const survivingKey = EntityKey.from({ + contractAddress: contract, + scope, + entityTypeId, + entityId: survivingEntityId, + }); // A retractable entity originating on the abandoned fork: the prune must delete it wholesale, taking even its // non-retractable fact with it. @@ -323,7 +329,9 @@ describe('BlockSynchronizer', () => { await store.transactionAsync(() => entityStore.commit(jobId)); // Both entities and all their facts must be present before the prune. - expect(await entityStore.getEntities({ contractAddress: contract, scope, entityTypeId }, jobId)).toHaveLength(2); + expect( + await entityStore.getEntities(ScopeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), + ).toHaveLength(2); expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(1); expect((await entityStore.getEntity(survivingKey, jobId)).facts).toHaveLength(2); @@ -345,9 +353,12 @@ describe('BlockSynchronizer', () => { }); // The retractable entity is gone wholesale; the non-retractable one keeps only its non-retractable fact. - const active = await entityStore.getEntities({ contractAddress: contract, scope, entityTypeId }, jobId); + const active = await entityStore.getEntities( + ScopeKey.from({ contractAddress: contract, scope, entityTypeId }), + jobId, + ); expect(active).toHaveLength(1); - expect(active[0].entity.entityId.equals(survivingEntityId)).toBe(true); + expect(active[0].key.entityId.equals(survivingEntityId)).toBe(true); expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(0); const remaining = (await entityStore.getEntity(survivingKey, jobId)).facts; expect(remaining).toHaveLength(1); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 89b16eb9649c..f7b78238975a 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -39,6 +39,7 @@ import { AddressStore } from '../address_store/address_store.js'; import { AnchorBlockStore } from '../anchor_block_store/index.js'; import { CapsuleStore } from '../capsule_store/capsule_store.js'; import { ContractStore } from '../contract_store/contract_store.js'; +import { EntityKey } from '../entity_store/entity_keys.js'; import { EntityStore } from '../entity_store/entity_store.js'; import { NoteStore } from '../note_store/note_store.js'; import { PrivateEventStore } from '../private_event_store/private_event_store.js'; @@ -223,8 +224,8 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ const contract = AztecAddress.fromBigInt(100n); const scope = AztecAddress.fromBigInt(1n); const entityTypeId = new Fr(7n); - const keyA = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xaan) }; - const keyB = { contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xbbn) }; + const keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xaan) }); + const keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xbbn) }); // Retractable entity (origin block 6): the entity and all its facts are pruned on a reorg above block 6. await entityStore.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId); // Non-retractable entity carrying a body, with a non-retractable and a retractable fact. diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts index c88b8b8b1356..eb84a4f54bb6 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts @@ -1,4 +1,5 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { FieldsOf } from '@aztec/foundation/types'; import type { AztecAddress } from '@aztec/stdlib/aztec-address'; /** @@ -6,28 +7,48 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address'; */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; -/** Identifies all entities of one type within a contract+scope. */ -export type ScopeKey = { - contractAddress: AztecAddress; - scope: AztecAddress; - entityTypeId: Fr; -}; - -/** Uniquely identifies a single entity; all its facts share this key. */ -export type EntityKey = ScopeKey & { entityId: Fr }; - /** Serialized form of a {@link ScopeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ export type ScopeKeyStr = string; /** Serialized form of an {@link EntityKey} (`scopeKeyStr:entityId`), used as kv-store map keys. */ export type EntityKeyStr = string; -/** Serializes a {@link ScopeKey}. */ -export function scopeKeyStrOf(key: ScopeKey): ScopeKeyStr { - return `${key.contractAddress}:${key.scope}:${key.entityTypeId}`; +/** Identifies all entities of one type within a contract+scope. */ +export class ScopeKey { + constructor( + public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, + public readonly entityTypeId: Fr, + ) {} + + static from(fields: FieldsOf): ScopeKey { + return new ScopeKey(fields.contractAddress, fields.scope, fields.entityTypeId); + } + + toString(): ScopeKeyStr { + return `${this.contractAddress}:${this.scope}:${this.entityTypeId}`; + } } -/** Serializes an {@link EntityKey}. */ -export function entityKeyStrOf(key: EntityKey): EntityKeyStr { - return `${scopeKeyStrOf(key)}:${key.entityId}`; +/** Uniquely identifies a single entity; all its facts share this key. */ +export class EntityKey { + constructor( + public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, + public readonly entityTypeId: Fr, + public readonly entityId: Fr, + ) {} + + static from(fields: FieldsOf): EntityKey { + return new EntityKey(fields.contractAddress, fields.scope, fields.entityTypeId, fields.entityId); + } + + /** The key grouping this entity with the other entities of its type within the same contract+scope. */ + scopeKey(): ScopeKey { + return new ScopeKey(this.contractAddress, this.scope, this.entityTypeId); + } + + toString(): EntityKeyStr { + return `${this.scopeKey()}:${this.entityId}`; + } } diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 24c779a5bad9..a11fcdd44729 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -3,7 +3,7 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { entityKeyStrOf, scopeKeyStrOf } from './entity_keys.js'; +import { EntityKey, ScopeKey } from './entity_keys.js'; import { EntityStore } from './entity_store.js'; describe('EntityStore', () => { @@ -14,9 +14,9 @@ describe('EntityStore', () => { const PROCESSED = new Fr(2n); const corrA = new Fr(0xaan); const corrB = new Fr(0xbbn); - const keyA = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }; - const keyB = { contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }; - const scopeKey = { contractAddress: contract, scope, entityTypeId: ENTITY }; + const keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }); + const keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }); + const scopeKey = ScopeKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY }); const JOB = 'fact-store-test-job'; let kv: AztecAsyncKVStore; @@ -30,7 +30,7 @@ describe('EntityStore', () => { await kv.close(); }); - const entityIdsOf = (entities: { entity: { entityId: Fr } }[]) => entities.map(e => e.entity.entityId.toBigInt()); + const entityIdsOf = (entities: { key: EntityKey }[]) => entities.map(e => e.key.entityId.toBigInt()); it('records facts and loads an entity fact set after commit', async () => { await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); @@ -133,7 +133,7 @@ describe('EntityStore', () => { const entities = await store.getEntities(scopeKey, JOB); expect(entities).toHaveLength(1); - expect(entities[0].entity.body.map(f => f.toBigInt())).toEqual([5n]); + expect(entities[0].body.map(f => f.toBigInt())).toEqual([5n]); expect(entities[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); @@ -173,7 +173,7 @@ describe('EntityStore', () => { // Both before and after commit, the original body is paired with the existing facts. const staged = await store.getEntities(scopeKey, JOB2); - expect(staged[0].entity.body.map(f => f.toBigInt())).toEqual([1n]); + expect(staged[0].body.map(f => f.toBigInt())).toEqual([1n]); expect(staged[0].facts).toHaveLength(1); await kv.transactionAsync(() => store.commit(JOB2)); @@ -375,7 +375,7 @@ describe('EntityStore', () => { expect(staged.facts).toHaveLength(0); const stagedEntities = await store.getEntities(scopeKey, JOB2); expect(stagedEntities).toHaveLength(1); - expect(stagedEntities[0].entity.body.map(f => f.toBigInt())).toEqual([2n]); + expect(stagedEntities[0].body.map(f => f.toBigInt())).toEqual([2n]); expect(stagedEntities[0].facts).toHaveLength(0); // The committed view matches the staged view. @@ -482,7 +482,7 @@ describe('EntityStore', () => { describe('isolation', () => { it('entities under different scopes are isolated', async () => { const scope2 = AztecAddress.fromBigInt(2n); - const keyScope2 = { ...keyA, scope: scope2 }; + const keyScope2 = EntityKey.from({ ...keyA, scope: scope2 }); await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.createEntity(keyScope2, [new Fr(2n)], undefined, JOB); @@ -492,29 +492,29 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); expect((await store.getEntity(keyScope2, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); expect((await store.getEntity(keyScope2, JOB)).facts).toHaveLength(0); - expect(await store.getEntities({ ...scopeKey, scope: scope2 }, JOB)).toHaveLength(1); + expect(await store.getEntities(ScopeKey.from({ ...scopeKey, scope: scope2 }), JOB)).toHaveLength(1); // Terminating in one scope leaves the other untouched. const TERM = 'terminate-job'; await store.terminateEntity(keyA, TERM); await kv.transactionAsync(() => store.commit(TERM)); expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); - expect(await store.getEntities({ ...scopeKey, scope: scope2 }, JOB)).toHaveLength(1); + expect(await store.getEntities(ScopeKey.from({ ...scopeKey, scope: scope2 }), JOB)).toHaveLength(1); }); it('entities under different contracts and entity types are isolated', async () => { const contract2 = AztecAddress.fromBigInt(200n); const ENTITY2 = new Fr(8n); await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.createEntity({ ...keyA, contractAddress: contract2 }, [new Fr(2n)], undefined, JOB); - await store.createEntity({ ...keyA, entityTypeId: ENTITY2 }, [new Fr(3n)], undefined, JOB); + await store.createEntity(EntityKey.from({ ...keyA, contractAddress: contract2 }), [new Fr(2n)], undefined, JOB); + await store.createEntity(EntityKey.from({ ...keyA, entityTypeId: ENTITY2 }), [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const inScope = await store.getEntities(scopeKey, JOB); expect(inScope).toHaveLength(1); - expect(inScope[0].entity.body.map(f => f.toBigInt())).toEqual([1n]); - expect(await store.getEntities({ ...scopeKey, contractAddress: contract2 }, JOB)).toHaveLength(1); - expect(await store.getEntities({ ...scopeKey, entityTypeId: ENTITY2 }, JOB)).toHaveLength(1); + expect(inScope[0].body.map(f => f.toBigInt())).toEqual([1n]); + expect(await store.getEntities(ScopeKey.from({ ...scopeKey, contractAddress: contract2 }), JOB)).toHaveLength(1); + expect(await store.getEntities(ScopeKey.from({ ...scopeKey, entityTypeId: ENTITY2 }), JOB)).toHaveLength(1); }); }); @@ -532,7 +532,7 @@ describe('EntityStore', () => { expect((await store.getEntity(keyB, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); // getEntities returns the same per-entity order. const entities = await store.getEntities(scopeKey, JOB); - const byId = new Map(entities.map(e => [e.entity.entityId.toBigInt(), e.facts])); + const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); }); @@ -654,21 +654,19 @@ describe('EntityStore', () => { describe('index corruption detection', () => { it('getEntities fails loudly when the scope index references a missing entity', async () => { - await kv - .openMultiMap('entities_by_scope') - .set(scopeKeyStrOf(scopeKey), new Fr(0xdeadn).toString()); + await kv.openMultiMap('entities_by_scope').set(scopeKey.toString(), new Fr(0xdeadn).toString()); await expect(store.getEntities(scopeKey, JOB)).rejects.toThrow('Entity not found for entityKey'); }); it('getEntity fails loudly when the fact index references a missing row', async () => { - await kv.openMultiMap('facts_by_entity').set(entityKeyStrOf(keyA), 'bogus-fact-key'); + await kv.openMultiMap('facts_by_entity').set(keyA.toString(), 'bogus-fact-key'); await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for factKey bogus-fact-key'); }); it('rollback fails loudly when the entity by-block index references a missing entity', async () => { await kv .openMultiMap('entities_by_block') - .set(7, entityKeyStrOf({ ...keyA, entityId: new Fr(0xdeadn) })); + .set(7, EntityKey.from({ ...keyA, entityId: new Fr(0xdeadn) }).toString()); await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow('Entity not found for entityKey'); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 27f4b59b3f3f..b52bcfaa10e7 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -4,17 +4,9 @@ import { Semaphore } from '@aztec/foundation/queue'; import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSingleton } from '@aztec/kv-store'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import { - type EntityKey, - type EntityKeyStr, - type OriginBlock, - type ScopeKey, - type ScopeKeyStr, - entityKeyStrOf, - scopeKeyStrOf, -} from './entity_keys.js'; +import type { EntityKey, EntityKeyStr, OriginBlock, ScopeKey, ScopeKeyStr } from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; +import { type Fact, type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; type JobId = string; type BlockNum = number; @@ -22,6 +14,9 @@ type EntityIdStr = string; type StoredEntityBuffer = Buffer; type FactBuffer = Buffer; +/** An entity as returned by the store: its key and body, plus its facts in creation order. */ +export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; + /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ type StagedOp = | { kind: 'createEntity'; entity: StoredEntity } @@ -56,23 +51,32 @@ export class EntityStore implements StagedStore { readonly storeName: string = 'entity'; #store: AztecAsyncKVStore; + /** Primary entity records; each holds the entity body and optional origin block. */ #entities: AztecAsyncMap; + /** Index for delete-on-prune of retractable entities (those with an origin block). */ #entitiesByBlock: AztecAsyncMultiMap; + + /** Index for active-entity enumeration. */ + #entitiesByScope: AztecAsyncMultiMap; + /** Primary fact records, deduplicated by fact key. */ #facts: AztecAsyncMap; + /** Index for efficient entity-level fold. */ #factsByEntity: AztecAsyncMultiMap; - /** Index for active-entity enumeration. */ - #entitiesByScope: AztecAsyncMultiMap; + /** Index for delete-on-prune (retractable facts only). */ #factsByBlock: AztecAsyncMultiMap; - // Martin: mmm, wonder if we can do something simpler with this + /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ #factSeq: AztecAsyncSingleton; + /** Job uncommitted data */ #opsForJob: Map; + + /** Per-job locks */ #jobLocks: Map; logger = createLogger('entity_store'); @@ -100,21 +104,16 @@ export class EntityStore implements StagedStore { * The entity becomes immediately active, independently of whether it owns any facts. * * Idempotent: creating an entity that already exists is a no-op (first write wins), keeping the existing body, - * origin block and facts. Keeping the earliest origin block makes retraction correct when the same entity is - * re-derived at a later block: it must survive while its first derivation block is canonical. To genuinely replace - * an entity, terminate and re-create it within the same job. + * origin block and facts. */ - createEntity(key: EntityKey, body: Fr[], originBlock: OriginBlock | undefined, jobId: string): Promise { + createEntity( + entityKey: EntityKey, + entityBody: Fr[], + originBlock: OriginBlock | undefined, + jobId: string, + ): Promise { return this.#withJobLock(jobId, () => { - const entity = new StoredEntity( - key.contractAddress, - key.scope, - key.entityTypeId, - key.entityId, - body, - originBlock, - ); - this.#opsFor(jobId).push({ kind: 'createEntity', entity }); + this.#opsFor(jobId).push({ kind: 'createEntity', entity: new StoredEntity(entityKey, entityBody, originBlock) }); return Promise.resolve(); }); } @@ -131,28 +130,19 @@ export class EntityStore implements StagedStore { * the fact's origin block and creation position. */ recordFact( - key: EntityKey, + entityKey: EntityKey, factTypeId: Fr, payload: Fr[], originBlock: OriginBlock | undefined, jobId: string, ): Promise { return this.#withJobLock(jobId, () => { - const fact = new StoredFact( - key.contractAddress, - key.scope, - key.entityTypeId, - key.entityId, - factTypeId, - payload, - originBlock, - ); - this.#opsFor(jobId).push({ kind: 'record', fact }); + this.#opsFor(jobId).push({ kind: 'record', fact: new StoredFact(entityKey, factTypeId, payload, originBlock) }); return Promise.resolve(); }); } - /** Permanently delete an entity (all its facts). Staged within the job; applied on commit. */ + /** Permanently delete an entity (and all its facts). Staged within the job; applied on commit. */ terminateEntity(key: EntityKey, jobId: string): Promise { return this.#withJobLock(jobId, () => { this.#opsFor(jobId).push({ kind: 'terminate', key }); @@ -161,50 +151,43 @@ export class EntityStore implements StagedStore { } /** - * Returns one entity's body together with its facts in creation order. - * - * The body comes from the entity record (empty when no entity record exists); the facts come from the per-entity - * fact index. This job's staged ops are layered over committed state for read-your-writes: a createEntity sets the - * body if the entity is absent, a record adds a fact if absent, a terminate clears both body and facts. + * Returns one entity's body together with its facts in creation order. The body is empty when no entity record + * exists; facts are stored independently of entity records. * * @param key - The key identifying the entity. * @param jobId - The job whose staged writes are layered over committed state. */ - async getEntity(key: EntityKey, jobId: string): Promise<{ body: Fr[]; facts: StoredFact[] }> { - const eKey = entityKeyStrOf(key); - const { exists, body, factsByKey } = await this.#store.transactionAsync(async () => { + async getEntity(key: EntityKey, jobId: string): Promise { + const eKey = key.toString(); + const { entity, factsByKey } = await this.#store.transactionAsync(async () => { const entityBuf = await this.#entities.getAsync(eKey); return { - exists: entityBuf !== undefined, - body: entityBuf ? StoredEntity.fromBuffer(entityBuf).body : [], + entity: entityBuf ? StoredEntity.fromBuffer(entityBuf) : undefined, factsByKey: await this.#loadCommittedFacts(eKey), }; }); - // The body and the fact set are updated independently by each op kind (a terminate clears both, but does so in - // both replays at the same position in the op sequence), so replaying them separately is equivalent to a single - // in-order replay. + // The entity record and the fact set are updated independently by each op kind (a terminate clears both, but does + // so in both replays at the same position in the op sequence), so replaying them separately is equivalent to a + // single in-order replay. this.#replayFactOps(factsByKey, eKey, jobId); - let currentExists = exists; - let currentBody = body; + let current = entity; for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'createEntity': - if (!currentExists && entityKeyStrOf(op.entity) === eKey) { - currentExists = true; - currentBody = op.entity.body; + if (current === undefined && op.entity.key.toString() === eKey) { + current = op.entity; } break; case 'terminate': - if (entityKeyStrOf(op.key) === eKey) { - currentExists = false; - currentBody = []; + if (op.key.toString() === eKey) { + current = undefined; } break; case 'record': break; } } - return { body: currentBody, facts: Array.from(factsByKey.values()) }; + return { key, body: current?.body ?? [], facts: Array.from(factsByKey.values(), f => f.toFact()) }; } /** @@ -215,14 +198,14 @@ export class EntityStore implements StagedStore { * This job's staged ops are layered over committed state for read-your-writes: a createEntity activates the entity * if absent (keeping any facts it already owns), a record adds a fact if absent, a terminate deactivates the entity. */ - async getEntities(scopeKey: ScopeKey, jobId: string): Promise<{ entity: StoredEntity; facts: StoredFact[] }[]> { - const sKey = scopeKeyStrOf(scopeKey); + async getEntities(scopeKey: ScopeKey, jobId: string): Promise { + const sKey = scopeKey.toString(); // Ids staged for creation join the candidate set up front, so the committed-state load below also picks up any // facts already committed for them (facts are stored independently of entity records). const stagedCreatedIds: EntityIdStr[] = []; for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'createEntity' && scopeKeyStrOf(op.entity) === sKey) { - stagedCreatedIds.push(op.entity.entityId.toString()); + if (op.kind === 'createEntity' && op.entity.key.scopeKey().toString() === sKey) { + stagedCreatedIds.push(op.entity.key.entityId.toString()); } } const entities = await this.#store.transactionAsync(async () => { @@ -267,14 +250,15 @@ export class EntityStore implements StagedStore { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'createEntity': { - const e = scopeKeyStrOf(op.entity) === sKey ? entities.get(op.entity.entityId.toString()) : undefined; + const e = + op.entity.key.scopeKey().toString() === sKey ? entities.get(op.entity.key.entityId.toString()) : undefined; if (e && e.entity === undefined) { e.entity = op.entity; } break; } case 'terminate': { - const e = scopeKeyStrOf(op.key) === sKey ? entities.get(op.key.entityId.toString()) : undefined; + const e = op.key.scopeKey().toString() === sKey ? entities.get(op.key.entityId.toString()) : undefined; if (e) { e.entity = undefined; } @@ -286,7 +270,11 @@ export class EntityStore implements StagedStore { } return Array.from(entities.values()) .filter(e => e.entity !== undefined) - .map(({ entity, factsByKey }) => ({ entity: entity!, facts: Array.from(factsByKey.values()) })); + .map(({ entity, factsByKey }) => ({ + key: entity!.key, + body: entity!.body, + facts: Array.from(factsByKey.values(), f => f.toFact()), + })); } /** @@ -301,7 +289,7 @@ export class EntityStore implements StagedStore { switch (op.kind) { case 'createEntity': { const entity = op.entity; - const eKey = entityKeyStrOf(entity); + const eKey = entity.key.toString(); // Idempotent: creating an existing entity is a no-op (first write wins). Keeping the earliest origin block // is what makes retraction correct: the entity must survive while its first derivation block is canonical. // A welcome side effect is that an entity's record never changes in place, so the by-block index can never @@ -311,7 +299,7 @@ export class EntityStore implements StagedStore { break; } await this.#entities.set(eKey, entity.toBuffer()); - await this.#entitiesByScope.set(scopeKeyStrOf(entity), entity.entityId.toString()); + await this.#entitiesByScope.set(entity.key.scopeKey().toString(), entity.key.entityId.toString()); if (entity.originBlock !== undefined) { await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); } @@ -328,7 +316,7 @@ export class EntityStore implements StagedStore { } const seq = await this.#nextFactSeq(); await this.#facts.set(fKey, serializeFact(seq, fact)); - await this.#factsByEntity.set(entityKeyStrOf(fact), fKey); + await this.#factsByEntity.set(fact.key.toString(), fKey); if (fact.originBlock !== undefined) { await this.#factsByBlock.set(fact.originBlock.blockNumber, fKey); } @@ -378,7 +366,7 @@ export class EntityStore implements StagedStore { throw new Error(`Entity not found for entityKey ${eKey}`); } const entity = StoredEntity.fromBuffer(buf); - await this.#deleteEntity(entity); + await this.#deleteEntity(entity.key); deletedEntities.add(eKey); removedEntities++; } @@ -398,7 +386,7 @@ export class EntityStore implements StagedStore { throw new Error(`Fact not found for factKey ${fKey}`); } const { fact } = deserializeFact(buf); - const eKey = entityKeyStrOf(fact); + const eKey = fact.key.toString(); // Belt-and-braces: a fact whose entity was pruned in pass 1 must not be re-processed here. With #deleteEntity // clearing the by-block index this is unreachable, but the guard keeps pass 2 correct if that ever changes. if (deletedEntities.has(eKey)) { @@ -451,12 +439,12 @@ export class EntityStore implements StagedStore { for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'record': - if (entityKeyStrOf(op.fact) === eKey && !factsByKey.has(factKeyStrOf(op.fact))) { + if (op.fact.key.toString() === eKey && !factsByKey.has(factKeyStrOf(op.fact))) { factsByKey.set(factKeyStrOf(op.fact), op.fact); } break; case 'terminate': - if (entityKeyStrOf(op.key) === eKey) { + if (op.key.toString() === eKey) { factsByKey.clear(); } break; @@ -478,7 +466,7 @@ export class EntityStore implements StagedStore { * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. */ async #deleteEntity(key: EntityKey): Promise { - const eKey = entityKeyStrOf(key); + const eKey = key.toString(); const fKeys: FactKeyStr[] = []; for await (const fKey of this.#factsByEntity.getValuesAsync(eKey)) { fKeys.push(fKey); @@ -505,7 +493,7 @@ export class EntityStore implements StagedStore { await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); } } - await this.#entitiesByScope.deleteValue(scopeKeyStrOf(key), key.entityId.toString()); + await this.#entitiesByScope.deleteValue(key.scopeKey().toString(), key.entityId.toString()); } #opsFor(jobId: string): StagedOp[] { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts index 4216620c2e7c..e2764ff0d4b8 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts @@ -1,16 +1,19 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; +import { EntityKey } from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; describe('StoredEntity', () => { - const contract = AztecAddress.fromBigInt(100n); - const scope = AztecAddress.fromBigInt(1n); - const entityType = new Fr(7n); - const entityId = new Fr(42n); + const key = EntityKey.from({ + contractAddress: AztecAddress.fromBigInt(100n), + scope: AztecAddress.fromBigInt(1n), + entityTypeId: new Fr(7n), + entityId: new Fr(42n), + }); it('round-trips a retractable entity through buffer serialization', () => { - const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n), new Fr(10n)], { + const entity = new StoredEntity(key, [new Fr(9n), new Fr(10n)], { blockNumber: 12, blockHash: new Fr(0xabcn), }); @@ -20,14 +23,14 @@ describe('StoredEntity', () => { }); it('round-trips a non-retractable entity (no origin block)', () => { - const entity = new StoredEntity(contract, scope, entityType, entityId, [new Fr(9n)], undefined); + const entity = new StoredEntity(key, [new Fr(9n)], undefined); const back = StoredEntity.fromBuffer(entity.toBuffer()); expect(back).toEqual(entity); expect(back.isRetractable).toBe(false); }); it('round-trips an entity with an empty body', () => { - const entity = new StoredEntity(contract, scope, entityType, entityId, [], undefined); + const entity = new StoredEntity(key, [], undefined); const back = StoredEntity.fromBuffer(entity.toBuffer()); expect(back).toEqual(entity); expect(back.body).toEqual([]); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 0e788c36a658..9367cc97981a 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -1,7 +1,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { entityKeyStrOf, scopeKeyStrOf } from './entity_keys.js'; +import { EntityKey } from './entity_keys.js'; import { StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; describe('StoredFact', () => { @@ -10,9 +10,10 @@ describe('StoredFact', () => { const entityType = new Fr(7n); const entityId = new Fr(42n); const factType = new Fr(3n); + const key = EntityKey.from({ contractAddress: contract, scope, entityTypeId: entityType, entityId }); it('round-trips a retractable fact through buffer serialization', () => { - const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n), new Fr(10n)], { + const fact = new StoredFact(key, factType, [new Fr(9n), new Fr(10n)], { blockNumber: 12, blockHash: new Fr(0xabcn), }); @@ -22,29 +23,29 @@ describe('StoredFact', () => { }); it('round-trips a non-retractable fact (no origin block)', () => { - const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); + const fact = new StoredFact(key, factType, [new Fr(9n)], undefined); const back = StoredFact.fromBuffer(fact.toBuffer()); expect(back).toEqual(fact); expect(back.isRetractable).toBe(false); }); it('derives stable composite keys', () => { - const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], undefined); - expect(scopeKeyStrOf(fact)).toBe(`${contract}:${scope}:${entityType}`); - expect(entityKeyStrOf(fact)).toBe(`${contract}:${scope}:${entityType}:${entityId}`); - expect(factKeyStrOf(fact)).toBe(entityKeyStrOf(fact) + `:${factType}:${fact.payloadHash()}`); + const fact = new StoredFact(key, factType, [new Fr(9n)], undefined); + expect(fact.key.scopeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); + expect(fact.key.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); + expect(factKeyStrOf(fact)).toBe(fact.key.toString() + `:${factType}:${fact.payloadHash()}`); }); it('gives distinct payload hashes for distinct payloads and equal for equal', () => { - const a = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(1n)], undefined); - const b = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(2n)], undefined); - const c = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(1n)], undefined); + const a = new StoredFact(key, factType, [new Fr(1n)], undefined); + const b = new StoredFact(key, factType, [new Fr(2n)], undefined); + const c = new StoredFact(key, factType, [new Fr(1n)], undefined); expect(a.payloadHash()).not.toEqual(b.payloadHash()); expect(a.payloadHash()).toEqual(c.payloadHash()); }); it('round-trips a stored fact with its sequence number', () => { - const fact = new StoredFact(contract, scope, entityType, entityId, factType, [new Fr(9n)], { + const fact = new StoredFact(key, factType, [new Fr(9n)], { blockNumber: 12, blockHash: new Fr(0xabcn), }); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index 9b894666a7e4..7d1c663b213e 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -3,7 +3,10 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { type OriginBlock, entityKeyStrOf } from './entity_keys.js'; +import { EntityKey, type OriginBlock } from './entity_keys.js'; + +/** A fact as returned by the entity store: its type and payload, plus the optional origin block it is tied to. */ +export type Fact = { factTypeId: Fr; payload: Fr[]; originBlock: OriginBlock | undefined }; /** * A single immutable fact about an entity. `originBlock === undefined` marks the fact non-retractable (an external @@ -11,10 +14,7 @@ import { type OriginBlock, entityKeyStrOf } from './entity_keys.js'; */ export class StoredFact { constructor( - public readonly contractAddress: AztecAddress, - public readonly scope: AztecAddress, - public readonly entityTypeId: Fr, - public readonly entityId: Fr, + public readonly key: EntityKey, public readonly factTypeId: Fr, public readonly payload: Fr[], public readonly originBlock: OriginBlock | undefined, @@ -25,18 +25,23 @@ export class StoredFact { return this.originBlock !== undefined; } - /** Stable digest of the payload, used in the dedup row key (keeps the LMDB key bounded for large payloads). */ + /** Stable digest of the payload, used in the dedup fact key (keeps the LMDB key bounded for large payloads). */ payloadHash(): Fr { return sha256ToField([this.payload.length, ...this.payload]); } + /** Returns the externally facing view of this fact, without the storage coordinates. */ + toFact(): Fact { + return { factTypeId: this.factTypeId, payload: this.payload, originBlock: this.originBlock }; + } + toBuffer(): Buffer { const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( - this.contractAddress, - this.scope, - this.entityTypeId, - this.entityId, + this.key.contractAddress, + this.key.scope, + this.key.entityTypeId, + this.key.entityId, this.factTypeId, this.payload.length, ...this.payload, @@ -59,7 +64,12 @@ export class StoredFact { const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; - return new StoredFact(contractAddress, scope, entityTypeId, entityId, factTypeId, [...payload], originBlock); + return new StoredFact( + new EntityKey(contractAddress, scope, entityTypeId, entityId), + factTypeId, + [...payload], + originBlock, + ); } } @@ -71,7 +81,7 @@ export type FactKeyStr = string; /** Builds the {@link FactKeyStr} for the given fact. */ export function factKeyStrOf(fact: StoredFact): FactKeyStr { - return `${entityKeyStrOf(fact)}:${fact.factTypeId}:${fact.payloadHash()}`; + return `${fact.key}:${fact.factTypeId}:${fact.payloadHash()}`; } /** From 4a8a44131344fd7ea0884ee7afe945350ba8cbf1 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 14:26:38 +0000 Subject: [PATCH 045/197] refactor --- .../src/storage/entity_store/stored_entity.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts index 416a5acecebb..bcabcc9b7a13 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts @@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import type { OriginBlock } from './entity_keys.js'; +import { EntityKey, type OriginBlock } from './entity_keys.js'; /** * The record for a single entity, with its own body and optional origin block. `originBlock === undefined` marks @@ -12,10 +12,7 @@ import type { OriginBlock } from './entity_keys.js'; */ export class StoredEntity { constructor( - public readonly contractAddress: AztecAddress, - public readonly scope: AztecAddress, - public readonly entityTypeId: Fr, - public readonly entityId: Fr, + public readonly key: EntityKey, public readonly body: Fr[], public readonly originBlock: OriginBlock | undefined, ) {} @@ -28,10 +25,10 @@ export class StoredEntity { toBuffer(): Buffer { const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( - this.contractAddress, - this.scope, - this.entityTypeId, - this.entityId, + this.key.contractAddress, + this.key.scope, + this.key.entityTypeId, + this.key.entityId, this.body.length, ...this.body, originBlockTag, @@ -52,6 +49,6 @@ export class StoredEntity { const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; - return new StoredEntity(contractAddress, scope, entityTypeId, entityId, [...body], originBlock); + return new StoredEntity(new EntityKey(contractAddress, scope, entityTypeId, entityId), [...body], originBlock); } } From db2fb8b8ec44581693a8adfc0e0b0c7d25f6a227 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 16:12:57 +0000 Subject: [PATCH 046/197] more refactors --- .../block_synchronizer.test.ts | 6 +- .../__snapshots__/EntityStore.json | 2 +- .../__snapshots__/opened_stores.json | 2 +- .../schema_tests.ts | 2 +- .../src/storage/entity_store/entity_keys.ts | 20 +- .../storage/entity_store/entity_store.test.ts | 84 +++---- .../src/storage/entity_store/entity_store.ts | 221 +++++++++--------- .../storage/entity_store/stored_fact.test.ts | 2 +- 8 files changed, 170 insertions(+), 169 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 4b5b61212ae0..4cf0688f4d73 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -27,7 +27,7 @@ import { type MockProxy, mock } from 'jest-mock-extended'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; -import { EntityKey, ScopeKey } from '../storage/entity_store/entity_keys.js'; +import { EntityKey, EntityTypeKey } from '../storage/entity_store/entity_keys.js'; import { EntityStore } from '../storage/entity_store/entity_store.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; @@ -330,7 +330,7 @@ describe('BlockSynchronizer', () => { // Both entities and all their facts must be present before the prune. expect( - await entityStore.getEntities(ScopeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), + await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), ).toHaveLength(2); expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(1); expect((await entityStore.getEntity(survivingKey, jobId)).facts).toHaveLength(2); @@ -354,7 +354,7 @@ describe('BlockSynchronizer', () => { // The retractable entity is gone wholesale; the non-retractable one keeps only its non-retractable fact. const active = await entityStore.getEntities( - ScopeKey.from({ contractAddress: contract, scope, entityTypeId }), + EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId, ); expect(active).toHaveLength(1); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json index 2bfc22fe4315..a1afe6aeb85b 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -15,7 +15,7 @@ "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa" } ], - "entities_by_scope": [ + "entities_by_entity_type": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", "value": "utf8:0x00000000000000000000000000000000000000000000000000000000000000aa" diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index a7987b410b87..d3c9e0539072 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -38,7 +38,7 @@ "kind": "multimap" }, { - "name": "entities_by_scope", + "name": "entities_by_entity_type", "kind": "multimap" }, { diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index f7b78238975a..43c054b708fa 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -237,7 +237,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ snapshotStore: async kvStore => ({ entities: await snapshotMap(kvStore.openMap('entities')), entities_by_block: await snapshotMap(kvStore.openMultiMap('entities_by_block')), - entities_by_scope: await snapshotMap(kvStore.openMultiMap('entities_by_scope')), + entities_by_entity_type: await snapshotMap(kvStore.openMultiMap('entities_by_entity_type')), facts: await snapshotMap(kvStore.openMap('facts')), facts_by_entity: await snapshotMap(kvStore.openMultiMap('facts_by_entity')), facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts index eb84a4f54bb6..f0a87d91adc1 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_keys.ts @@ -7,25 +7,25 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address'; */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; -/** Serialized form of a {@link ScopeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ -export type ScopeKeyStr = string; +/** Serialized form of a {@link EntityTypeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ +export type EntityTypeKeyStr = string; -/** Serialized form of an {@link EntityKey} (`scopeKeyStr:entityId`), used as kv-store map keys. */ +/** Serialized form of an {@link EntityKey} (`entityTypeKeyStr:entityId`), used as kv-store map keys. */ export type EntityKeyStr = string; /** Identifies all entities of one type within a contract+scope. */ -export class ScopeKey { +export class EntityTypeKey { constructor( public readonly contractAddress: AztecAddress, public readonly scope: AztecAddress, public readonly entityTypeId: Fr, ) {} - static from(fields: FieldsOf): ScopeKey { - return new ScopeKey(fields.contractAddress, fields.scope, fields.entityTypeId); + static from(fields: FieldsOf): EntityTypeKey { + return new EntityTypeKey(fields.contractAddress, fields.scope, fields.entityTypeId); } - toString(): ScopeKeyStr { + toString(): EntityTypeKeyStr { return `${this.contractAddress}:${this.scope}:${this.entityTypeId}`; } } @@ -44,11 +44,11 @@ export class EntityKey { } /** The key grouping this entity with the other entities of its type within the same contract+scope. */ - scopeKey(): ScopeKey { - return new ScopeKey(this.contractAddress, this.scope, this.entityTypeId); + entityTypeKey(): EntityTypeKey { + return new EntityTypeKey(this.contractAddress, this.scope, this.entityTypeId); } toString(): EntityKeyStr { - return `${this.scopeKey()}:${this.entityId}`; + return `${this.entityTypeKey()}:${this.entityId}`; } } diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index a11fcdd44729..9fb15f66d16e 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -3,7 +3,7 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey, ScopeKey } from './entity_keys.js'; +import { EntityKey, EntityTypeKey } from './entity_keys.js'; import { EntityStore } from './entity_store.js'; describe('EntityStore', () => { @@ -16,7 +16,7 @@ describe('EntityStore', () => { const corrB = new Fr(0xbbn); const keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }); const keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }); - const scopeKey = ScopeKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY }); + const entityTypeKey = EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY }); const JOB = 'fact-store-test-job'; let kv: AztecAsyncKVStore; @@ -121,7 +121,7 @@ describe('EntityStore', () => { await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const entities = await store.getEntities(scopeKey, JOB); + const entities = await store.getEntities(entityTypeKey, JOB); expect(entityIdsOf(entities).sort()).toEqual([corrA.toBigInt(), corrB.toBigInt()].sort()); }); @@ -131,7 +131,7 @@ describe('EntityStore', () => { await store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const entities = await store.getEntities(scopeKey, JOB); + const entities = await store.getEntities(entityTypeKey, JOB); expect(entities).toHaveLength(1); expect(entities[0].body.map(f => f.toBigInt())).toEqual([5n]); expect(entities[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); @@ -141,7 +141,7 @@ describe('EntityStore', () => { await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const entities = await store.getEntities(scopeKey, JOB); + const entities = await store.getEntities(entityTypeKey, JOB); expect(entityIdsOf(entities)).toEqual([corrA.toBigInt()]); expect(entities[0].facts).toHaveLength(0); }); @@ -152,7 +152,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); // Re-creating in a later commit is a no-op too, and still lists the entity exactly once. const JOB2 = 'recreate-job'; @@ -160,7 +160,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB2)); expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('re-creating an entity is a no-op keeping its body and facts', async () => { @@ -172,7 +172,7 @@ describe('EntityStore', () => { await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); // Both before and after commit, the original body is paired with the existing facts. - const staged = await store.getEntities(scopeKey, JOB2); + const staged = await store.getEntities(entityTypeKey, JOB2); expect(staged[0].body.map(f => f.toBigInt())).toEqual([1n]); expect(staged[0].facts).toHaveLength(1); @@ -189,11 +189,11 @@ describe('EntityStore', () => { // Same job, before commit: the staged entity is active and its fact is visible. const { facts } = await store.getEntity(keyA, JOB); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); // A different job does not see the uncommitted write. expect((await store.getEntity(keyA, 'other-job')).facts).toHaveLength(0); - expect(await store.getEntities(scopeKey, 'other-job')).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, 'other-job')).toHaveLength(0); }); it('getEntity returns the body and both facts of an entity with facts', async () => { @@ -246,7 +246,7 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, TERM)).facts).toHaveLength(0); expect((await store.getEntity(keyA, TERM)).body).toEqual([]); - expect(await store.getEntities(scopeKey, TERM)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, TERM)).toHaveLength(0); expect((await store.getEntity(keyA, 'reader')).facts).toHaveLength(1); }); @@ -264,7 +264,7 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); expect((await store.getEntity(keyA, JOB)).body).toEqual([]); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrB.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrB.toBigInt()]); // The neighbouring entity is untouched. expect((await store.getEntity(keyB, JOB)).facts).toHaveLength(1); }); @@ -281,7 +281,7 @@ describe('EntityStore', () => { const { body, facts } = await store.getEntity(keyA, JOB); expect(body).toEqual([]); expect(facts).toHaveLength(0); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); }); it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { @@ -297,7 +297,7 @@ describe('EntityStore', () => { expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept // Entity stays active because the entity record survives. - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback above all origin blocks is a no-op', async () => { @@ -310,7 +310,7 @@ describe('EntityStore', () => { const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('re-creating an entity keeps its original origin block (first write wins)', async () => { @@ -324,12 +324,12 @@ describe('EntityStore', () => { // Prune above block 7: the entity was first derived at block 6, which survives, so the entity must survive. await kv.transactionAsync(() => store.rollback(7)); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); // Prune above block 5: the entity originates above the target and is deleted exactly once. await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); expect((await store.getEntity(keyA, JOB)).body).toEqual([]); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); }); it('replacing an entity requires an explicit terminate-then-create', async () => { @@ -347,7 +347,7 @@ describe('EntityStore', () => { // Survived: the replacement entity is non-retractable. const { body } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([7n]); - expect(entityIdsOf(await store.getEntities(scopeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback throws while a job has staged writes', async () => { @@ -373,7 +373,7 @@ describe('EntityStore', () => { const staged = await store.getEntity(keyA, JOB2); expect(staged.body.map(f => f.toBigInt())).toEqual([2n]); expect(staged.facts).toHaveLength(0); - const stagedEntities = await store.getEntities(scopeKey, JOB2); + const stagedEntities = await store.getEntities(entityTypeKey, JOB2); expect(stagedEntities).toHaveLength(1); expect(stagedEntities[0].body.map(f => f.toBigInt())).toEqual([2n]); expect(stagedEntities[0].facts).toHaveLength(0); @@ -404,7 +404,7 @@ describe('EntityStore', () => { const committed = await store.getEntity(keyA, 'reader'); expect(committed.body).toEqual([]); expect(committed.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect(await store.getEntities(scopeKey, 'reader')).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); }); it('a create-then-terminate sequence leaves the entity deleted', async () => { @@ -415,12 +415,12 @@ describe('EntityStore', () => { // Staged view: gone. expect((await store.getEntity(keyA, JOB)).body).toEqual([]); expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); // Committed view: gone too, and no index residue blocks a later rollback. await kv.transactionAsync(() => store.commit(JOB)); expect((await store.getEntity(keyA, 'reader')).body).toEqual([]); - expect(await store.getEntities(scopeKey, 'reader')).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); @@ -429,12 +429,12 @@ describe('EntityStore', () => { await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); // Staged view and committed view must agree: the entity is active and owns the fact. - const staged = await store.getEntities(scopeKey, JOB); + const staged = await store.getEntities(entityTypeKey, JOB); expect(staged).toHaveLength(1); expect(staged[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); await kv.transactionAsync(() => store.commit(JOB)); - const committed = await store.getEntities(scopeKey, 'reader'); + const committed = await store.getEntities(entityTypeKey, 'reader'); expect(committed).toHaveLength(1); expect(committed[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); }); @@ -457,7 +457,7 @@ describe('EntityStore', () => { it('read-only access with a fresh job id does not block rollback', async () => { await store.getEntity(keyA, 'reader-job'); - await store.getEntities(scopeKey, 'reader-job'); + await store.getEntities(entityTypeKey, 'reader-job'); await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); @@ -492,14 +492,14 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); expect((await store.getEntity(keyScope2, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); expect((await store.getEntity(keyScope2, JOB)).facts).toHaveLength(0); - expect(await store.getEntities(ScopeKey.from({ ...scopeKey, scope: scope2 }), JOB)).toHaveLength(1); + expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); // Terminating in one scope leaves the other untouched. const TERM = 'terminate-job'; await store.terminateEntity(keyA, TERM); await kv.transactionAsync(() => store.commit(TERM)); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); - expect(await store.getEntities(ScopeKey.from({ ...scopeKey, scope: scope2 }), JOB)).toHaveLength(1); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); }); it('entities under different contracts and entity types are isolated', async () => { @@ -510,11 +510,15 @@ describe('EntityStore', () => { await store.createEntity(EntityKey.from({ ...keyA, entityTypeId: ENTITY2 }), [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const inScope = await store.getEntities(scopeKey, JOB); + const inScope = await store.getEntities(entityTypeKey, JOB); expect(inScope).toHaveLength(1); expect(inScope[0].body.map(f => f.toBigInt())).toEqual([1n]); - expect(await store.getEntities(ScopeKey.from({ ...scopeKey, contractAddress: contract2 }), JOB)).toHaveLength(1); - expect(await store.getEntities(ScopeKey.from({ ...scopeKey, entityTypeId: ENTITY2 }), JOB)).toHaveLength(1); + expect( + await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, contractAddress: contract2 }), JOB), + ).toHaveLength(1); + expect( + await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, entityTypeId: ENTITY2 }), JOB), + ).toHaveLength(1); }); }); @@ -531,7 +535,7 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); expect((await store.getEntity(keyB, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); // getEntities returns the same per-entity order. - const entities = await store.getEntities(scopeKey, JOB); + const entities = await store.getEntities(entityTypeKey, JOB); const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); @@ -620,7 +624,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(5)); await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); }); }); @@ -631,31 +635,33 @@ describe('EntityStore', () => { // The fact is stored and readable, but the entity is not active. expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); // Creating the entity in a later job surfaces the previously committed fact, both staged and committed. const JOB2 = 'create-job'; await store.createEntity(keyA, [new Fr(5n)], undefined, JOB2); - const staged = await store.getEntities(scopeKey, JOB2); + const staged = await store.getEntities(entityTypeKey, JOB2); expect(staged).toHaveLength(1); expect(staged[0].facts).toHaveLength(1); await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntities(scopeKey, JOB); + const committed = await store.getEntities(entityTypeKey, JOB); expect(committed).toHaveLength(1); expect(committed[0].facts).toHaveLength(1); }); it('a staged fact for an unknown entity does not activate it', async () => { await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); - expect(await store.getEntities(scopeKey, JOB)).toHaveLength(0); + expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); }); }); describe('index corruption detection', () => { it('getEntities fails loudly when the scope index references a missing entity', async () => { - await kv.openMultiMap('entities_by_scope').set(scopeKey.toString(), new Fr(0xdeadn).toString()); - await expect(store.getEntities(scopeKey, JOB)).rejects.toThrow('Entity not found for entityKey'); + await kv + .openMultiMap('entities_by_entity_type') + .set(entityTypeKey.toString(), new Fr(0xdeadn).toString()); + await expect(store.getEntities(entityTypeKey, JOB)).rejects.toThrow('Entity not found for entityKey'); }); it('getEntity fails loudly when the fact index references a missing row', async () => { diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index b52bcfaa10e7..db9eec3d3261 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -4,7 +4,7 @@ import { Semaphore } from '@aztec/foundation/queue'; import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSingleton } from '@aztec/kv-store'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import type { EntityKey, EntityKeyStr, OriginBlock, ScopeKey, ScopeKeyStr } from './entity_keys.js'; +import type { EntityKey, EntityKeyStr, EntityTypeKey, EntityTypeKeyStr, OriginBlock } from './entity_keys.js'; import { StoredEntity } from './stored_entity.js'; import { type Fact, type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; @@ -59,7 +59,7 @@ export class EntityStore implements StagedStore { #entitiesByBlock: AztecAsyncMultiMap; /** Index for active-entity enumeration. */ - #entitiesByScope: AztecAsyncMultiMap; + #entitiesByEntityType: AztecAsyncMultiMap; /** Primary fact records, deduplicated by fact key. */ #facts: AztecAsyncMap; @@ -87,7 +87,7 @@ export class EntityStore implements StagedStore { this.#entitiesByBlock = store.openMultiMap('entities_by_block'); this.#facts = store.openMap('facts'); this.#factsByEntity = store.openMultiMap('facts_by_entity'); - this.#entitiesByScope = store.openMultiMap('entities_by_scope'); + this.#entitiesByEntityType = store.openMultiMap('entities_by_entity_type'); this.#factsByBlock = store.openMultiMap('facts_by_block'); this.#factSeq = store.openSingleton('fact_seq'); this.#opsForJob = new Map(); @@ -159,122 +159,62 @@ export class EntityStore implements StagedStore { */ async getEntity(key: EntityKey, jobId: string): Promise { const eKey = key.toString(); - const { entity, factsByKey } = await this.#store.transactionAsync(async () => { - const entityBuf = await this.#entities.getAsync(eKey); - return { - entity: entityBuf ? StoredEntity.fromBuffer(entityBuf) : undefined, - factsByKey: await this.#loadCommittedFacts(eKey), - }; - }); - // The entity record and the fact set are updated independently by each op kind (a terminate clears both, but does - // so in both replays at the same position in the op sequence), so replaying them separately is equivalent to a - // single in-order replay. - this.#replayFactOps(factsByKey, eKey, jobId); - let current = entity; - for (const op of this.#stagedOps(jobId)) { - switch (op.kind) { - case 'createEntity': - if (current === undefined && op.entity.key.toString() === eKey) { - current = op.entity; - } - break; - case 'terminate': - if (op.key.toString() === eKey) { - current = undefined; - } - break; - case 'record': - break; - } - } - return { key, body: current?.body ?? [], facts: Array.from(factsByKey.values(), f => f.toFact()) }; + const dbEntities = await this.#store.transactionAsync(() => this.#readEntitiesAndFactsFromDb([eKey])); + const { entity, facts } = dbEntities.get(eKey)!; + + // Since this store is append-only, we can compute the current job's view of an entity by reading it from the + // persistent storage and "replaying" staged entity creation and termination ops, as well as staged facts. + const currentEntity = this.#replayEntityOps(entity, eKey, jobId); + const currentFacts = this.#replayFactOps(facts, eKey, jobId); + + return { key, body: currentEntity?.body ?? [], facts: Array.from(currentFacts.values(), f => f.toFact()) }; } /** - * Returns all active entities under (contract, scope, entityTypeId) — entities that have an entity record and have - * not been terminated — together with their facts in creation order. Entity presence is independent of whether the - * entity owns any facts. - * - * This job's staged ops are layered over committed state for read-your-writes: a createEntity activates the entity - * if absent (keeping any facts it already owns), a record adds a fact if absent, a terminate deactivates the entity. + * Returns all active entities of a given type, together with their facts in creation order. */ - async getEntities(scopeKey: ScopeKey, jobId: string): Promise { - const sKey = scopeKey.toString(); - // Ids staged for creation join the candidate set up front, so the committed-state load below also picks up any - // facts already committed for them (facts are stored independently of entity records). - const stagedCreatedIds: EntityIdStr[] = []; + async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { + const tKey = entityTypeKey.toString(); + + // Entities staged for creation join the candidate set up front, so the committed-state load below also picks up + // any facts already committed for them (facts are stored independently of entity records). + const stagedCreatedEKeys: EntityKeyStr[] = []; for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'createEntity' && op.entity.key.scopeKey().toString() === sKey) { - stagedCreatedIds.push(op.entity.key.entityId.toString()); + if (op.kind === 'createEntity' && op.entity.key.entityTypeKey().toString() === tKey) { + stagedCreatedEKeys.push(op.entity.key.toString()); } } - const entities = await this.#store.transactionAsync(async () => { + + const { committedEKeys, committed } = await this.#store.transactionAsync(async () => { // Snapshot the scope index before issuing point reads so we never interleave reads with a live cursor. const committedIds: EntityIdStr[] = []; - for await (const entityId of this.#entitiesByScope.getValuesAsync(sKey)) { + for await (const entityId of this.#entitiesByEntityType.getValuesAsync(tKey)) { committedIds.push(entityId); } - const result = new Map< - EntityIdStr, - { entity: StoredEntity | undefined; factsByKey: Map } - >(); - for (const entityId of committedIds) { - const eKey = `${sKey}:${entityId}`; - const buf = await this.#entities.getAsync(eKey); - if (!buf) { - // An #entitiesByScope entry must always reference a live #entities entry; a missing one means the indexes - // are corrupt, so fail loudly rather than surface a ghost entity or silently hide the corruption. - throw new Error(`Entity not found for entityKey ${eKey}`); - } - result.set(entityId, { - entity: StoredEntity.fromBuffer(buf), - factsByKey: await this.#loadCommittedFacts(eKey), - }); - } - for (const entityId of stagedCreatedIds) { - if (!result.has(entityId)) { - result.set(entityId, { - entity: undefined, - factsByKey: await this.#loadCommittedFacts(`${sKey}:${entityId}`), - }); - } - } - return result; + const committedEKeys: EntityKeyStr[] = committedIds.map(entityId => `${tKey}:${entityId}`); + const candidateEKeys = [...new Set([...committedEKeys, ...stagedCreatedEKeys])]; + return { committedEKeys, committed: await this.#readEntitiesAndFactsFromDb(candidateEKeys) }; }); - // Layer this job's staged ops over committed state. Each entity's fact set replays exactly as in getEntity; - // entity-record presence (createEntity activates, terminate deactivates) replays separately, which is equivalent - // to a single in-order replay because the two are updated independently by each op kind. - for (const [entityId, e] of entities) { - this.#replayFactOps(e.factsByKey, `${sKey}:${entityId}`, jobId); + + // An #entitiesByEntityType entry must always reference a live #entities entry; a missing one means the indexes are + // corrupt, so fail loudly rather than surface a ghost entity or silently hide the corruption. + for (const eKey of committedEKeys) { + if (committed.get(eKey)!.entity === undefined) { + throw new Error(`Entity not found for entityKey ${eKey}`); + } } - for (const op of this.#stagedOps(jobId)) { - switch (op.kind) { - case 'createEntity': { - const e = - op.entity.key.scopeKey().toString() === sKey ? entities.get(op.entity.key.entityId.toString()) : undefined; - if (e && e.entity === undefined) { - e.entity = op.entity; - } - break; - } - case 'terminate': { - const e = op.key.scopeKey().toString() === sKey ? entities.get(op.key.entityId.toString()) : undefined; - if (e) { - e.entity = undefined; - } - break; - } - case 'record': - break; + + // Replay each candidate entity's record and fact set from staged state, exactly as in getEntity. + const result: Entity[] = []; + for (const [eKey, e] of committed) { + const entity = this.#replayEntityOps(e.entity, eKey, jobId); + if (entity === undefined) { + continue; } + const facts = this.#replayFactOps(e.facts, eKey, jobId); + result.push({ key: entity.key, body: entity.body, facts: Array.from(facts.values(), f => f.toFact()) }); } - return Array.from(entities.values()) - .filter(e => e.entity !== undefined) - .map(({ entity, factsByKey }) => ({ - key: entity!.key, - body: entity!.body, - facts: Array.from(factsByKey.values(), f => f.toFact()), - })); + return result; } /** @@ -299,7 +239,7 @@ export class EntityStore implements StagedStore { break; } await this.#entities.set(eKey, entity.toBuffer()); - await this.#entitiesByScope.set(entity.key.scopeKey().toString(), entity.key.entityId.toString()); + await this.#entitiesByEntityType.set(entity.key.entityTypeKey().toString(), entity.key.entityId.toString()); if (entity.originBlock !== undefined) { await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); } @@ -402,6 +342,24 @@ export class EntityStore implements StagedStore { // ---- private helpers ---- + /** + * Reads the committed records (undefined when none exists) and facts of the given entities from the database, + * keyed by entity key. Reads are not wrapped in a transaction: the caller owns the transaction boundary. + */ + async #readEntitiesAndFactsFromDb( + eKeys: EntityKeyStr[], + ): Promise }>> { + const result = new Map }>(); + for (const eKey of eKeys) { + const entityBuf = await this.#entities.getAsync(eKey); + result.set(eKey, { + entity: entityBuf ? StoredEntity.fromBuffer(entityBuf) : undefined, + facts: await this.#loadCommittedFacts(eKey), + }); + } + return result; + } + /** * Loads the committed facts for an entity keyed by their dedup fact key, in creation order. Caller may wrap in a * transaction. @@ -431,27 +389,64 @@ export class EntityStore implements StagedStore { } /** - * Replays a job's staged ops over a committed fact map for read-your-writes: a record adds a fact if absent - * (re-records are no-ops, mirroring commit), a terminate clears the entity's facts. Order matters so a - * terminate-then-record sequence resolves to the re-recorded fact. createEntity ops do not affect the fact set. + * Replays a job's staged ops over a committed fact map for read-your-writes, returning a fresh map (the input is + * not mutated): a record adds a fact if absent (re-records are no-ops, mirroring commit), a terminate clears the + * entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded fact. createEntity + * ops do not affect the fact set. */ - #replayFactOps(factsByKey: Map, eKey: EntityKeyStr, jobId: string): void { + #replayFactOps( + committed: Map, + eKey: EntityKeyStr, + jobId: string, + ): Map { + const result = new Map(committed); for (const op of this.#stagedOps(jobId)) { switch (op.kind) { case 'record': - if (op.fact.key.toString() === eKey && !factsByKey.has(factKeyStrOf(op.fact))) { - factsByKey.set(factKeyStrOf(op.fact), op.fact); + if (op.fact.key.toString() === eKey && !result.has(factKeyStrOf(op.fact))) { + result.set(factKeyStrOf(op.fact), op.fact); } break; case 'terminate': if (op.key.toString() === eKey) { - factsByKey.clear(); + result.clear(); } break; case 'createEntity': break; } } + return result; + } + + /** + * Replays a job's staged ops over a committed entity record for read-your-writes, returning the resulting record: + * a createEntity activates the entity if absent (re-creates are no-ops, mirroring commit), a terminate deactivates + * it. Record ops do not affect the entity record. + * + * The entity record and its fact set are updated independently by each op kind (a terminate clears both, but does + * so in this replay and in {@link #replayFactOps} at the same position in the op sequence), so replaying them + * separately is equivalent to a single in-order replay. + */ + #replayEntityOps(committed: StoredEntity | undefined, eKey: EntityKeyStr, jobId: string): StoredEntity | undefined { + let current = committed; + for (const op of this.#stagedOps(jobId)) { + switch (op.kind) { + case 'createEntity': + if (current === undefined && op.entity.key.toString() === eKey) { + current = op.entity; + } + break; + case 'terminate': + if (op.key.toString() === eKey) { + current = undefined; + } + break; + case 'record': + break; + } + } + return current; } /** Returns the next fact sequence number, persisting the incremented counter. */ @@ -493,7 +488,7 @@ export class EntityStore implements StagedStore { await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); } } - await this.#entitiesByScope.deleteValue(key.scopeKey().toString(), key.entityId.toString()); + await this.#entitiesByEntityType.deleteValue(key.entityTypeKey().toString(), key.entityId.toString()); } #opsFor(jobId: string): StagedOp[] { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 9367cc97981a..9ccb2f7170d2 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -31,7 +31,7 @@ describe('StoredFact', () => { it('derives stable composite keys', () => { const fact = new StoredFact(key, factType, [new Fr(9n)], undefined); - expect(fact.key.scopeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); + expect(fact.key.entityTypeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); expect(fact.key.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); expect(factKeyStrOf(fact)).toBe(fact.key.toString() + `:${factType}:${fact.payloadHash()}`); }); From 7b40aa2b61d8fb48888105e8f90da368656219f4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 12 Jun 2026 16:55:13 +0000 Subject: [PATCH 047/197] and more refactors --- .../__snapshots__/EntityStore.json | 4 +- .../storage/entity_store/entity_store.test.ts | 2 +- .../src/storage/entity_store/entity_store.ts | 74 +++++++++++-------- 3 files changed, 45 insertions(+), 35 deletions(-) diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json index a1afe6aeb85b..96193294e483 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -18,11 +18,11 @@ "entities_by_entity_type": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", - "value": "utf8:0x00000000000000000000000000000000000000000000000000000000000000aa" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa" }, { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", - "value": "utf8:0x00000000000000000000000000000000000000000000000000000000000000bb" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb" } ], "facts": [ diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 9fb15f66d16e..56ee156b98ee 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -660,7 +660,7 @@ describe('EntityStore', () => { it('getEntities fails loudly when the scope index references a missing entity', async () => { await kv .openMultiMap('entities_by_entity_type') - .set(entityTypeKey.toString(), new Fr(0xdeadn).toString()); + .set(entityTypeKey.toString(), EntityKey.from({ ...keyA, entityId: new Fr(0xdeadn) }).toString()); await expect(store.getEntities(entityTypeKey, JOB)).rejects.toThrow('Entity not found for entityKey'); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index db9eec3d3261..37e5566b0e8b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -10,7 +10,6 @@ import { type Fact, type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, type JobId = string; type BlockNum = number; -type EntityIdStr = string; type StoredEntityBuffer = Buffer; type FactBuffer = Buffer; @@ -59,7 +58,7 @@ export class EntityStore implements StagedStore { #entitiesByBlock: AztecAsyncMultiMap; /** Index for active-entity enumeration. */ - #entitiesByEntityType: AztecAsyncMultiMap; + #entitiesByEntityType: AztecAsyncMultiMap; /** Primary fact records, deduplicated by fact key. */ #facts: AztecAsyncMap; @@ -174,46 +173,46 @@ export class EntityStore implements StagedStore { * Returns all active entities of a given type, together with their facts in creation order. */ async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { - const tKey = entityTypeKey.toString(); + const typeKey = entityTypeKey.toString(); // Entities staged for creation join the candidate set up front, so the committed-state load below also picks up - // any facts already committed for them (facts are stored independently of entity records). - const stagedCreatedEKeys: EntityKeyStr[] = []; - for (const op of this.#stagedOps(jobId)) { - if (op.kind === 'createEntity' && op.entity.key.entityTypeKey().toString() === tKey) { - stagedCreatedEKeys.push(op.entity.key.toString()); - } - } + // any facts already committed for them. + const entityKeysInStage = this.#entitiesInStage(typeKey, jobId).map(entity => entity.key.toString()); - const { committedEKeys, committed } = await this.#store.transactionAsync(async () => { - // Snapshot the scope index before issuing point reads so we never interleave reads with a live cursor. - const committedIds: EntityIdStr[] = []; - for await (const entityId of this.#entitiesByEntityType.getValuesAsync(tKey)) { - committedIds.push(entityId); + const entitiesAndFactsInDb = await this.#store.transactionAsync(async () => { + const entityKeysInDb: EntityKeyStr[] = []; + for await (const eKey of this.#entitiesByEntityType.getValuesAsync(typeKey)) { + entityKeysInDb.push(eKey); } - const committedEKeys: EntityKeyStr[] = committedIds.map(entityId => `${tKey}:${entityId}`); - const candidateEKeys = [...new Set([...committedEKeys, ...stagedCreatedEKeys])]; - return { committedEKeys, committed: await this.#readEntitiesAndFactsFromDb(candidateEKeys) }; + const candidateEKeys = [...new Set([...entityKeysInDb, ...entityKeysInStage])]; + return await this.#readEntitiesAndFactsFromDb(candidateEKeys); }); - // An #entitiesByEntityType entry must always reference a live #entities entry; a missing one means the indexes are - // corrupt, so fail loudly rather than surface a ghost entity or silently hide the corruption. - for (const eKey of committedEKeys) { - if (committed.get(eKey)!.entity === undefined) { + // Replay each candidate entity's record and fact set from staged state, exactly as in getEntity. + const stagedKeys = new Set(entityKeysInStage); + const result: Entity[] = []; + for (const [eKey, { entity, facts }] of entitiesAndFactsInDb) { + // Defensive, implies index corruption. Only entities staged for creation in this job may legitimately lack a + // committed record; every other candidate key came from the index and must reference one. + if (entity === undefined && !stagedKeys.has(eKey)) { throw new Error(`Entity not found for entityKey ${eKey}`); } - } - // Replay each candidate entity's record and fact set from staged state, exactly as in getEntity. - const result: Entity[] = []; - for (const [eKey, e] of committed) { - const entity = this.#replayEntityOps(e.entity, eKey, jobId); - if (entity === undefined) { + const currentEntity = this.#replayEntityOps(entity, eKey, jobId); + + // i.e.: entity was terminated in current job + if (currentEntity === undefined) { continue; } - const facts = this.#replayFactOps(e.facts, eKey, jobId); - result.push({ key: entity.key, body: entity.body, facts: Array.from(facts.values(), f => f.toFact()) }); + + const currentFacts = this.#replayFactOps(facts, eKey, jobId); + result.push({ + key: currentEntity.key, + body: currentEntity.body, + facts: Array.from(currentFacts.values(), f => f.toFact()), + }); } + return result; } @@ -239,7 +238,7 @@ export class EntityStore implements StagedStore { break; } await this.#entities.set(eKey, entity.toBuffer()); - await this.#entitiesByEntityType.set(entity.key.entityTypeKey().toString(), entity.key.entityId.toString()); + await this.#entitiesByEntityType.set(entity.key.entityTypeKey().toString(), eKey); if (entity.originBlock !== undefined) { await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); } @@ -342,6 +341,17 @@ export class EntityStore implements StagedStore { // ---- private helpers ---- + /** Returns the entities of the given type staged for creation under the given job. */ + #entitiesInStage(tKey: EntityTypeKeyStr, jobId: string): StoredEntity[] { + const entities: StoredEntity[] = []; + for (const op of this.#stagedOps(jobId)) { + if (op.kind === 'createEntity' && op.entity.key.entityTypeKey().toString() === tKey) { + entities.push(op.entity); + } + } + return entities; + } + /** * Reads the committed records (undefined when none exists) and facts of the given entities from the database, * keyed by entity key. Reads are not wrapped in a transaction: the caller owns the transaction boundary. @@ -488,7 +498,7 @@ export class EntityStore implements StagedStore { await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); } } - await this.#entitiesByEntityType.deleteValue(key.entityTypeKey().toString(), key.entityId.toString()); + await this.#entitiesByEntityType.deleteValue(key.entityTypeKey().toString(), eKey); } #opsFor(jobId: string): StagedOp[] { From 19b60791e1a5be7f99c6b8c896cdd2d0d83ac955 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 08:20:57 +0000 Subject: [PATCH 048/197] stronger write checks --- .../block_synchronizer.test.ts | 3 + .../storage/entity_store/entity_store.test.ts | 183 ++++++++---------- .../src/storage/entity_store/entity_store.ts | 137 +++++++------ 3 files changed, 157 insertions(+), 166 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 4cf0688f4d73..3a23e6dad778 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -335,6 +335,9 @@ describe('BlockSynchronizer', () => { expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(1); expect((await entityStore.getEntity(survivingKey, jobId)).facts).toHaveLength(2); + // The verification reads above pin the job; release it so the prune's rollback is not blocked. + await entityStore.discardStaged(jobId); + // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). const anchorBlock10 = await L2Block.random(BlockNumber(10)); await anchorBlockStore.setHeader(anchorBlock10.header); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 56ee156b98ee..74aa5a3ba67f 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -33,6 +33,7 @@ describe('EntityStore', () => { const entityIdsOf = (entities: { key: EntityKey }[]) => entities.map(e => e.key.entityId.toBigInt()); it('records facts and loads an entity fact set after commit', async () => { + await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -44,6 +45,7 @@ describe('EntityStore', () => { it('returns facts in creation order', async () => { // Payload values chosen so that creation order differs from the dedup row key (payload hash) order. const payloads = [9n, 3n, 7n, 1n, 8n, 2n, 6n, 4n]; + await store.createEntity(keyA, [], undefined, JOB); for (const value of payloads.slice(0, 5)) { await store.recordFact(keyA, RECEIVED, [new Fr(value)], undefined, JOB); } @@ -61,6 +63,7 @@ describe('EntityStore', () => { }); it('staged facts follow committed facts in creation order (read-your-writes)', async () => { + await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -74,6 +77,7 @@ describe('EntityStore', () => { }); it('dedups identical (entity, factType, payload) records idempotently', async () => { + await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -83,6 +87,7 @@ describe('EntityStore', () => { }); it('re-recording a fact is a no-op keeping its creation position and origin block', async () => { + await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -97,6 +102,7 @@ describe('EntityStore', () => { }); it('re-recording a fact keeps its original origin block (first write wins)', async () => { + await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -108,6 +114,7 @@ describe('EntityStore', () => { // Prune above block 7: the fact was first derived at block 5, which survives, so the fact must survive. await kv.transactionAsync(() => store.rollback(7)); expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); + await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked // Prune above block 4: the fact originates above the target and is deleted exactly once. await kv.transactionAsync(() => store.rollback(4)); @@ -146,40 +153,18 @@ describe('EntityStore', () => { expect(entities[0].facts).toHaveLength(0); }); - it('creating the same entity twice keeps the first body and lists it once', async () => { + it('createEntity rejects an entity already staged for creation in the same job', async () => { await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.createEntity(keyA, [new Fr(2n)], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); - - // Re-creating in a later commit is a no-op too, and still lists the entity exactly once. - const JOB2 = 'recreate-job'; - await store.createEntity(keyA, [new Fr(3n)], undefined, JOB2); - await kv.transactionAsync(() => store.commit(JOB2)); - - expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); + await expect(store.createEntity(keyA, [new Fr(2n)], undefined, JOB)).rejects.toThrow('already existing entity'); }); - it('re-creating an entity is a no-op keeping its body and facts', async () => { + it('createEntity rejects an entity already committed to disk', async () => { await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const JOB2 = 'recreate-job'; - await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); - - // Both before and after commit, the original body is paired with the existing facts. - const staged = await store.getEntities(entityTypeKey, JOB2); - expect(staged[0].body.map(f => f.toBigInt())).toEqual([1n]); - expect(staged[0].facts).toHaveLength(1); - - await kv.transactionAsync(() => store.commit(JOB2)); - const { body, facts } = await store.getEntity(keyA, JOB); - expect(body.map(f => f.toBigInt())).toEqual([1n]); - expect(facts).toHaveLength(1); + await expect(store.createEntity(keyA, [new Fr(2n)], undefined, 'recreate-job')).rejects.toThrow( + 'already existing entity', + ); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { @@ -250,6 +235,19 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, 'reader')).facts).toHaveLength(1); }); + it('terminateEntity rejects a non-existent entity', async () => { + await expect(store.terminateEntity(keyA, JOB)).rejects.toThrow('non-existent entity'); + }); + + it('terminateEntity rejects an entity already terminated earlier in the same job', async () => { + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const TERM = 'terminate-job'; + await store.terminateEntity(keyA, TERM); + await expect(store.terminateEntity(keyA, TERM)).rejects.toThrow('non-existent entity'); + }); + it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await store.createEntity(keyB, [], undefined, JOB); @@ -313,30 +311,11 @@ describe('EntityStore', () => { expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); - it('re-creating an entity keeps its original origin block (first write wins)', async () => { - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Re-creating at a later block is a no-op, so the entity still originates at block 6. - const JOB2 = 'recreate-job'; - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(2n) }, JOB2); - await kv.transactionAsync(() => store.commit(JOB2)); - - // Prune above block 7: the entity was first derived at block 6, which survives, so the entity must survive. - await kv.transactionAsync(() => store.rollback(7)); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); - - // Prune above block 5: the entity originates above the target and is deleted exactly once. - await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); - expect((await store.getEntity(keyA, JOB)).body).toEqual([]); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); - }); - it('replacing an entity requires an explicit terminate-then-create', async () => { await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // A plain re-create as non-retractable is a no-op; terminate-then-create replaces the entity for real. + // A plain re-create now rejects; terminate-then-create is the supported way to replace the entity. const JOB2 = 'replace-job'; await store.terminateEntity(keyA, JOB2); await store.createEntity(keyA, [new Fr(7n)], undefined, JOB2); @@ -385,26 +364,18 @@ describe('EntityStore', () => { expect(committed.facts).toHaveLength(0); }); - it('a terminate-then-record sequence resolves to the re-recorded fact', async () => { + it('a terminate-then-record sequence rejects the record: the entity no longer exists', async () => { await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); + // The staged terminate removes the entity from the job's view, so recording against it is rejected. Replaying a + // re-recorded fact onto a re-created entity is covered by 'facts re-recorded after a terminate ...'. const JOB2 = 'rerecord-job'; await store.terminateEntity(keyA, JOB2); - await store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB2); - - // Staged view: only the re-recorded fact survives the terminate; the entity record is gone. - const staged = await store.getEntity(keyA, JOB2); - expect(staged.body).toEqual([]); - expect(staged.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - - // The committed view matches the staged view. - await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntity(keyA, 'reader'); - expect(committed.body).toEqual([]); - expect(committed.facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); + await expect(store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB2)).rejects.toThrow( + 'non-existent entity', + ); }); it('a create-then-terminate sequence leaves the entity deleted', async () => { @@ -421,27 +392,29 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); expect((await store.getEntity(keyA, 'reader')).body).toEqual([]); expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); + await store.discardStaged('reader'); // reads pin the job; release it so the rollback isn't blocked await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); - it('a fact staged before its entity is created in the same job surfaces with the entity', async () => { - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + it('recording a fact before its entity is created in the same job is rejected', async () => { + await expect(store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB)).rejects.toThrow( + 'non-existent entity', + ); - // Staged view and committed view must agree: the entity is active and owns the fact. + // Creating the entity first, then recording, is the supported order. + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); const staged = await store.getEntities(entityTypeKey, JOB); expect(staged).toHaveLength(1); expect(staged[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); - - await kv.transactionAsync(() => store.commit(JOB)); - const committed = await store.getEntities(entityTypeKey, 'reader'); - expect(committed).toHaveLength(1); - expect(committed[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); }); }); describe('cross-job behavior', () => { it("commit persists only the given job's ops", async () => { + await store.createEntity(keyA, [], undefined, 'setup-job'); + await kv.transactionAsync(() => store.commit('setup-job')); + const JOB2 = 'second-job'; await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); @@ -455,9 +428,15 @@ describe('EntityStore', () => { expect((await store.getEntity(keyA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); }); - it('read-only access with a fresh job id does not block rollback', async () => { + it('a job that has only read still blocks rollback until it is discarded', async () => { await store.getEntity(keyA, 'reader-job'); await store.getEntities(entityTypeKey, 'reader-job'); + // Reads pin the job as in flight, so a rollback is refused until the job releases it. + await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( + 'PXE entity store rollback is not allowed while jobs are running', + ); + + await store.discardStaged('reader-job'); await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); @@ -466,16 +445,15 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'discarded-job'; - await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); + await store.createEntity(keyB, [new Fr(2n)], undefined, JOB2); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); await store.discardStaged(JOB2); // The discarded writes are gone from the job's own view, and committing the job persists nothing. - expect((await store.getEntity(keyA, JOB2)).body.map(f => f.toBigInt())).toEqual([1n]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB2))).toEqual([corrA.toBigInt()]); await kv.transactionAsync(() => store.commit(JOB2)); - const { body, facts } = await store.getEntity(keyA, 'reader'); - expect(body.map(f => f.toBigInt())).toEqual([1n]); - expect(facts).toHaveLength(0); + expect((await store.getEntity(keyA, 'reader')).facts).toHaveLength(0); + expect((await store.getEntity(keyB, 'reader')).body).toEqual([]); }); }); @@ -571,6 +549,7 @@ describe('EntityStore', () => { }); it('creation order continues across store reopens', async () => { + await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -597,6 +576,7 @@ describe('EntityStore', () => { const { body, facts } = await store.getEntity(keyA, JOB); expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts).toHaveLength(1); + await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked await kv.transactionAsync(() => store.rollback(4)); expect((await store.getEntity(keyA, JOB)).body).toEqual([]); @@ -612,6 +592,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(5)); expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked // A dangling block-4 fact index entry would make this second prune throw "Fact not found". await expect(kv.transactionAsync(() => store.rollback(3))).resolves.not.toThrow(); @@ -628,42 +609,34 @@ describe('EntityStore', () => { }); }); - describe('facts without an entity record', () => { - it('a committed fact does not activate an entity; creating it later surfaces the fact', async () => { - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); + describe('recordFact requires an existing entity', () => { + it('rejects when the entity exists only as a staged creation on another job', async () => { + const OTHER = 'other-job'; + await store.createEntity(keyA, [new Fr(5n)], undefined, OTHER); - // The fact is stored and readable, but the entity is not active. - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); - - // Creating the entity in a later job surfaces the previously committed fact, both staged and committed. - const JOB2 = 'create-job'; - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB2); - const staged = await store.getEntities(entityTypeKey, JOB2); - expect(staged).toHaveLength(1); - expect(staged[0].facts).toHaveLength(1); + // keyA is staged on OTHER, neither visible to this job nor committed, so the record is rejected. + await expect(store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB)).rejects.toThrow( + 'non-existent entity', + ); + }); - await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntities(entityTypeKey, JOB); - expect(committed).toHaveLength(1); - expect(committed[0].facts).toHaveLength(1); + it('accepts a fact for an entity staged for creation earlier in the same job', async () => { + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); }); - it('a staged fact for an unknown entity does not activate it', async () => { - await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); + it('accepts a fact for an entity already committed to disk', async () => { + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'record-job'; + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); + expect((await store.getEntity(keyA, JOB2)).facts).toHaveLength(1); }); }); describe('index corruption detection', () => { - it('getEntities fails loudly when the scope index references a missing entity', async () => { - await kv - .openMultiMap('entities_by_entity_type') - .set(entityTypeKey.toString(), EntityKey.from({ ...keyA, entityId: new Fr(0xdeadn) }).toString()); - await expect(store.getEntities(entityTypeKey, JOB)).rejects.toThrow('Entity not found for entityKey'); - }); - it('getEntity fails loudly when the fact index references a missing row', async () => { await kv.openMultiMap('facts_by_entity').set(keyA.toString(), 'bogus-fact-key'); await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for factKey bogus-fact-key'); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 37e5566b0e8b..361488a4c033 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -96,14 +96,8 @@ export class EntityStore implements StagedStore { /** * Creates an entity. * - * `originBlock === undefined` marks the entity non-retractable (it survives reorgs; only its own retractable facts - * are pruned). A defined origin block marks the whole entity retractable: on a prune above its block, the entity and - * all its facts are deleted. - * - * The entity becomes immediately active, independently of whether it owns any facts. - * - * Idempotent: creating an entity that already exists is a no-op (first write wins), keeping the existing body, - * origin block and facts. + * If `originBlock === undefined`, the entity is non-retractable: it survives reorgs. A defined origin block makes the + * entity retractable: on a prune above its block, the entity and all its facts are deleted. */ createEntity( entityKey: EntityKey, @@ -111,14 +105,18 @@ export class EntityStore implements StagedStore { originBlock: OriginBlock | undefined, jobId: string, ): Promise { - return this.#withJobLock(jobId, () => { + return this.#withJobLock(jobId, async () => { + if (await this.#entityExists(entityKey, jobId)) { + throw new Error(`Cannot create an already existing entity ${entityKey.toString()}`); + } this.#opsFor(jobId).push({ kind: 'createEntity', entity: new StoredEntity(entityKey, entityBody, originBlock) }); - return Promise.resolve(); }); } /** - * Stages a fact for recording under the given job. + * Stages a fact for recording under the given job. The entity must be active in this job's view — committed to disk + * (and not terminated earlier in this job) or staged for creation earlier in this same job — otherwise this rejects: + * a fact can never exist without its entity. * * `originBlock === undefined` marks the fact non-retractable (it survives reorgs); a defined origin block ties the * fact to a specific block and it will be deleted on prune. @@ -135,36 +133,43 @@ export class EntityStore implements StagedStore { originBlock: OriginBlock | undefined, jobId: string, ): Promise { - return this.#withJobLock(jobId, () => { + return this.#withJobLock(jobId, async () => { + if (!(await this.#entityExists(entityKey, jobId))) { + throw new Error(`Cannot record a fact for non-existent entity ${entityKey.toString()}`); + } this.#opsFor(jobId).push({ kind: 'record', fact: new StoredFact(entityKey, factTypeId, payload, originBlock) }); - return Promise.resolve(); }); } - /** Permanently delete an entity (and all its facts). Staged within the job; applied on commit. */ + /** + * Permanently delete an entity (and all its facts). Staged within the job; applied on commit. Rejects if the entity + * is not active in this job's view — committed to disk (and not terminated earlier in this job) or staged for + * creation earlier in this same job. + */ terminateEntity(key: EntityKey, jobId: string): Promise { - return this.#withJobLock(jobId, () => { + return this.#withJobLock(jobId, async () => { + if (!(await this.#entityExists(key, jobId))) { + throw new Error(`Cannot terminate a non-existent entity ${key.toString()}`); + } this.#opsFor(jobId).push({ kind: 'terminate', key }); - return Promise.resolve(); }); } /** - * Returns one entity's body together with its facts in creation order. The body is empty when no entity record - * exists; facts are stored independently of entity records. + * Returns one entity's body together with its facts in creation order. * * @param key - The key identifying the entity. * @param jobId - The job whose staged writes are layered over committed state. */ async getEntity(key: EntityKey, jobId: string): Promise { - const eKey = key.toString(); - const dbEntities = await this.#store.transactionAsync(() => this.#readEntitiesAndFactsFromDb([eKey])); - const { entity, facts } = dbEntities.get(eKey)!; + const entityKey = key.toString(); + const entitiesInDb = await this.#store.transactionAsync(() => this.#readEntitiesAndFactsFromDb([entityKey])); + const { entity, facts } = entitiesInDb.get(entityKey)!; // Since this store is append-only, we can compute the current job's view of an entity by reading it from the // persistent storage and "replaying" staged entity creation and termination ops, as well as staged facts. - const currentEntity = this.#replayEntityOps(entity, eKey, jobId); - const currentFacts = this.#replayFactOps(facts, eKey, jobId); + const currentEntity = this.#replayEntityOps(entity, entityKey, jobId); + const currentFacts = this.#replayFactOps(facts, entityKey, jobId); return { key, body: currentEntity?.body ?? [], facts: Array.from(currentFacts.values(), f => f.toFact()) }; } @@ -175,37 +180,26 @@ export class EntityStore implements StagedStore { async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { const typeKey = entityTypeKey.toString(); - // Entities staged for creation join the candidate set up front, so the committed-state load below also picks up - // any facts already committed for them. - const entityKeysInStage = this.#entitiesInStage(typeKey, jobId).map(entity => entity.key.toString()); + const entitiesAndFacts = await this.#readEntitiesAndFactsFromDbByType(typeKey); - const entitiesAndFactsInDb = await this.#store.transactionAsync(async () => { - const entityKeysInDb: EntityKeyStr[] = []; - for await (const eKey of this.#entitiesByEntityType.getValuesAsync(typeKey)) { - entityKeysInDb.push(eKey); + for (const stagedEntity of this.#entitiesInStage(typeKey, jobId)) { + const entityKey = stagedEntity.key.toString(); + if (!entitiesAndFacts.has(entityKey)) { + entitiesAndFacts.set(entityKey, { entity: undefined, facts: new Map() }); } - const candidateEKeys = [...new Set([...entityKeysInDb, ...entityKeysInStage])]; - return await this.#readEntitiesAndFactsFromDb(candidateEKeys); - }); + } - // Replay each candidate entity's record and fact set from staged state, exactly as in getEntity. - const stagedKeys = new Set(entityKeysInStage); + // Replay each entity's record and fact set from staged state, exactly as in getEntity. const result: Entity[] = []; - for (const [eKey, { entity, facts }] of entitiesAndFactsInDb) { - // Defensive, implies index corruption. Only entities staged for creation in this job may legitimately lack a - // committed record; every other candidate key came from the index and must reference one. - if (entity === undefined && !stagedKeys.has(eKey)) { - throw new Error(`Entity not found for entityKey ${eKey}`); - } - - const currentEntity = this.#replayEntityOps(entity, eKey, jobId); + for (const [entityKey, { entity, facts }] of entitiesAndFacts) { + const currentEntity = this.#replayEntityOps(entity, entityKey, jobId); // i.e.: entity was terminated in current job if (currentEntity === undefined) { continue; } - const currentFacts = this.#replayFactOps(facts, eKey, jobId); + const currentFacts = this.#replayFactOps(facts, entityKey, jobId); result.push({ key: currentEntity.key, body: currentEntity.body, @@ -229,10 +223,10 @@ export class EntityStore implements StagedStore { case 'createEntity': { const entity = op.entity; const eKey = entity.key.toString(); - // Idempotent: creating an existing entity is a no-op (first write wins). Keeping the earliest origin block - // is what makes retraction correct: the entity must survive while its first derivation block is canonical. - // A welcome side effect is that an entity's record never changes in place, so the by-block index can never - // go stale. + // createEntity rejects duplicates at stage time, so a same-job duplicate never reaches here; this only fires + // on a cross-job race where two jobs each stage a create for the same new entity and both reach commit. Keep + // the first committed write: re-setting would add a duplicate entities_by_entity_type entry and let the + // record change in place, staling the by-block index. if (await this.#entities.hasAsync(eKey)) { this.logger.debug(`Ignoring createEntity for an already existing entity`, { entityKey: eKey, jobId }); break; @@ -281,8 +275,8 @@ export class EntityStore implements StagedStore { * remaining retractable fact originating above `toBlock` whose entity survived pass 1. Non-retractable entities and * facts are untouched (they never enter the by-block indexes). Must run inside a caller-owned transaction (the * reorg path wraps it with the sibling stores' rollbacks; IndexedDB has no nested transactions). Throws if any job - * has uncommitted staged writes, since rolling back mid-job could re-introduce records originating from deleted - * blocks. + * is in flight (has accessed the store and not yet committed or discarded), since rolling back mid-job could + * re-introduce records originating from deleted blocks or change committed state underneath a job's view. */ async rollback(toBlock: BlockNum): Promise { if (this.#opsForJob.size > 0) { @@ -344,7 +338,7 @@ export class EntityStore implements StagedStore { /** Returns the entities of the given type staged for creation under the given job. */ #entitiesInStage(tKey: EntityTypeKeyStr, jobId: string): StoredEntity[] { const entities: StoredEntity[] = []; - for (const op of this.#stagedOps(jobId)) { + for (const op of this.#opsFor(jobId)) { if (op.kind === 'createEntity' && op.entity.key.entityTypeKey().toString() === tKey) { entities.push(op.entity); } @@ -352,6 +346,29 @@ export class EntityStore implements StagedStore { return entities; } + /** + * Whether the entity is active in the job's view: its committed record (if any) still exists after replaying the + * job's staged createEntity/terminate ops. This is the same liveness the read methods compute, used to reject facts + * for entities that do not (yet) exist. + */ + async #entityExists(key: EntityKey, jobId: string): Promise { + const eKey = key.toString(); + const buf = await this.#store.transactionAsync(() => this.#entities.getAsync(eKey)); + const committed = buf ? StoredEntity.fromBuffer(buf) : undefined; + return this.#replayEntityOps(committed, eKey, jobId) !== undefined; + } + + /** Reads every committed entity of the given type with its facts, keyed by entity key, in one transaction. */ + #readEntitiesAndFactsFromDbByType(typeKey: EntityTypeKeyStr) { + return this.#store.transactionAsync(async () => { + const entityKeysInDb: EntityKeyStr[] = []; + for await (const entityKey of this.#entitiesByEntityType.getValuesAsync(typeKey)) { + entityKeysInDb.push(entityKey); + } + return await this.#readEntitiesAndFactsFromDb(entityKeysInDb); + }); + } + /** * Reads the committed records (undefined when none exists) and facts of the given entities from the database, * keyed by entity key. Reads are not wrapped in a transaction: the caller owns the transaction boundary. @@ -410,7 +427,7 @@ export class EntityStore implements StagedStore { jobId: string, ): Map { const result = new Map(committed); - for (const op of this.#stagedOps(jobId)) { + for (const op of this.#opsFor(jobId)) { switch (op.kind) { case 'record': if (op.fact.key.toString() === eKey && !result.has(factKeyStrOf(op.fact))) { @@ -440,7 +457,7 @@ export class EntityStore implements StagedStore { */ #replayEntityOps(committed: StoredEntity | undefined, eKey: EntityKeyStr, jobId: string): StoredEntity | undefined { let current = committed; - for (const op of this.#stagedOps(jobId)) { + for (const op of this.#opsFor(jobId)) { switch (op.kind) { case 'createEntity': if (current === undefined && op.entity.key.toString() === eKey) { @@ -501,6 +518,12 @@ export class EntityStore implements StagedStore { await this.#entitiesByEntityType.deleteValue(key.entityTypeKey().toString(), eKey); } + /** + * Returns the job's staged-ops array, creating it on first access. Any access registers the job as in flight, so a + * read also pins the job until it commits or is discarded — and {@link rollback} refuses to run while it is pinned. + * That is intentional: rolling back while a job holds a view of committed state could change that state underneath + * the job. + */ #opsFor(jobId: string): StagedOp[] { let ops = this.#opsForJob.get(jobId); if (ops === undefined) { @@ -510,14 +533,6 @@ export class EntityStore implements StagedStore { return ops; } - /** - * Read-only view of a job's staged ops for read-your-writes. Unlike {@link #opsFor}, it never creates an entry, so a - * read for a job with no writes does not register a phantom in-flight job (which would trip the `rollback` guard). - */ - #stagedOps(jobId: string): StagedOp[] { - return this.#opsForJob.get(jobId) ?? []; - } - #clearJobData(jobId: string) { this.#opsForJob.delete(jobId); this.#jobLocks.delete(jobId); From 50b2a2fe9c379aca6e66f86d3266cf8856a5e393 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 13:38:14 +0000 Subject: [PATCH 049/197] more refactors --- .../block_synchronizer.test.ts | 8 +- .../__snapshots__/EntityStore.json | 20 +- .../__snapshots__/opened_stores.json | 4 - .../schema_tests.ts | 1 - .../storage/entity_store/entity_store.test.ts | 165 ++++---- .../src/storage/entity_store/entity_store.ts | 379 ++++++++---------- .../storage/entity_store/stored_fact.test.ts | 26 +- .../src/storage/entity_store/stored_fact.ts | 8 +- 8 files changed, 290 insertions(+), 321 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 3a23e6dad778..25b1a9e16549 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -332,8 +332,8 @@ describe('BlockSynchronizer', () => { expect( await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), ).toHaveLength(2); - expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(1); - expect((await entityStore.getEntity(survivingKey, jobId)).facts).toHaveLength(2); + expect((await entityStore.getEntity(prunedKey, jobId))!.facts).toHaveLength(1); + expect((await entityStore.getEntity(survivingKey, jobId))!.facts).toHaveLength(2); // The verification reads above pin the job; release it so the prune's rollback is not blocked. await entityStore.discardStaged(jobId); @@ -362,8 +362,8 @@ describe('BlockSynchronizer', () => { ); expect(active).toHaveLength(1); expect(active[0].key.entityId.equals(survivingEntityId)).toBe(true); - expect((await entityStore.getEntity(prunedKey, jobId)).facts).toHaveLength(0); - const remaining = (await entityStore.getEntity(survivingKey, jobId)).facts; + expect(await entityStore.getEntity(prunedKey, jobId)).toBeUndefined(); + const remaining = (await entityStore.getEntity(survivingKey, jobId))!.facts; expect(remaining).toHaveLength(1); expect(remaining[0].factTypeId.equals(nonRetractableFactType)).toBe(true); }); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json index 96193294e483..9c2d33b2a777 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -15,40 +15,30 @@ "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa" } ], - "entities_by_entity_type": [ - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa" - }, - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb" - } - ], "facts": [ { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143", + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", "value": "0000000100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000" }, { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811", + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", "value": "0000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000000000001000000050000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_entity": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none" }, { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_block": [ { "key": "num:5", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" } ], "fact_seq": "num:2" diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index d3c9e0539072..ac6cd4f7b6b2 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -37,10 +37,6 @@ "name": "entities_by_block", "kind": "multimap" }, - { - "name": "entities_by_entity_type", - "kind": "multimap" - }, { "name": "events_by_block_number", "kind": "multimap" diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 43c054b708fa..e1db2d152c36 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -237,7 +237,6 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ snapshotStore: async kvStore => ({ entities: await snapshotMap(kvStore.openMap('entities')), entities_by_block: await snapshotMap(kvStore.openMultiMap('entities_by_block')), - entities_by_entity_type: await snapshotMap(kvStore.openMultiMap('entities_by_entity_type')), facts: await snapshotMap(kvStore.openMap('facts')), facts_by_entity: await snapshotMap(kvStore.openMultiMap('facts_by_entity')), facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 74aa5a3ba67f..5c305d2b5db6 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -38,7 +38,7 @@ describe('EntityStore', () => { await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = await store.getEntity(keyA, JOB); + const { facts } = (await store.getEntity(keyA, JOB))!; expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); @@ -58,7 +58,7 @@ describe('EntityStore', () => { } await kv.transactionAsync(() => store.commit(JOB2)); - const { facts } = await store.getEntity(keyA, JOB); + const { facts } = (await store.getEntity(keyA, JOB))!; expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads); }); @@ -72,53 +72,60 @@ describe('EntityStore', () => { await store.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB2); await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); - const { facts } = await store.getEntity(keyA, JOB2); + const { facts } = (await store.getEntity(keyA, JOB2))!; expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); }); - it('dedups identical (entity, factType, payload) records idempotently', async () => { + it('dedups identical (entity, factType, payload, originBlock) records idempotently', async () => { await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = await store.getEntity(keyA, JOB); + const { facts } = (await store.getEntity(keyA, JOB))!; expect(facts).toHaveLength(1); }); - it('re-recording a fact is a no-op keeping its creation position and origin block', async () => { + it('re-recording an identical fact (same origin block) is a no-op keeping its creation position', async () => { await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); + // Re-recording the block-5 fact verbatim in a later job is a no-op. const JOB2 = 'rerecord-job'; await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - const { facts } = await store.getEntity(keyA, JOB); + const { facts } = (await store.getEntity(keyA, JOB))!; expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); - expect(facts[0].originBlock).toBeUndefined(); + expect(facts[0].originBlock?.blockNumber).toBe(5); }); - it('re-recording a fact keeps its original origin block (first write wins)', async () => { + it('the same payload at a different origin block is a distinct fact', async () => { await store.createEntity(keyA, [], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // Re-record the identical fact at a later block: a no-op, so the fact still originates at block 5. - const JOB2 = 'rerecord-job'; - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }, JOB2); - await kv.transactionAsync(() => store.commit(JOB2)); + const { facts } = (await store.getEntity(keyA, JOB))!; + expect(facts.map(f => f.originBlock?.blockNumber)).toEqual([5, 10]); + }); + + it('the same payload at two origin blocks yields independent facts pruned per block', async () => { + await store.createEntity(keyA, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); - // Prune above block 7: the fact was first derived at block 5, which survives, so the fact must survive. + // Prune above block 7: the block-10 derivation is deleted, the block-5 one survives. await kv.transactionAsync(() => store.rollback(7)); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.originBlock?.blockNumber)).toEqual([5]); await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked - // Prune above block 4: the fact originates above the target and is deleted exactly once. + // Prune above block 4: the block-5 derivation is deleted too. await kv.transactionAsync(() => store.rollback(4)); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, JOB))!.facts).toHaveLength(0); }); it('enumerates active entities (created and not terminated) for a scope', async () => { @@ -172,12 +179,12 @@ describe('EntityStore', () => { await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); // Same job, before commit: the staged entity is active and its fact is visible. - const { facts } = await store.getEntity(keyA, JOB); + const { facts } = (await store.getEntity(keyA, JOB))!; expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); // A different job does not see the uncommitted write. - expect((await store.getEntity(keyA, 'other-job')).facts).toHaveLength(0); + expect(await store.getEntity(keyA, 'other-job')).toBeUndefined(); expect(await store.getEntities(entityTypeKey, 'other-job')).toHaveLength(0); }); @@ -187,7 +194,7 @@ describe('EntityStore', () => { await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { body, facts } = await store.getEntity(keyA, JOB); + const { body, facts } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([5n, 6n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); @@ -196,27 +203,25 @@ describe('EntityStore', () => { await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { body, facts } = await store.getEntity(keyA, JOB); + const { body, facts } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts).toHaveLength(0); }); - it('getEntity returns an empty body when no entity record exists', async () => { - const { body, facts } = await store.getEntity(keyA, JOB); - expect(body).toEqual([]); - expect(facts).toHaveLength(0); + it('getEntity returns undefined when no entity record exists', async () => { + expect(await store.getEntity(keyA, JOB)).toBeUndefined(); }); it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - const { body, facts } = await store.getEntity(keyA, JOB); + const { body, facts } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // A different job does not see the uncommitted write. - expect((await store.getEntity(keyA, 'other-job')).body).toEqual([]); + expect(await store.getEntity(keyA, 'other-job')).toBeUndefined(); }); it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { @@ -229,10 +234,9 @@ describe('EntityStore', () => { const TERM = 'terminate-job'; await store.terminateEntity(keyA, TERM); - expect((await store.getEntity(keyA, TERM)).facts).toHaveLength(0); - expect((await store.getEntity(keyA, TERM)).body).toEqual([]); + expect(await store.getEntity(keyA, TERM)).toBeUndefined(); expect(await store.getEntities(entityTypeKey, TERM)).toHaveLength(0); - expect((await store.getEntity(keyA, 'reader')).facts).toHaveLength(1); + expect((await store.getEntity(keyA, 'reader'))!.facts).toHaveLength(1); }); it('terminateEntity rejects a non-existent entity', async () => { @@ -260,11 +264,10 @@ describe('EntityStore', () => { await store.terminateEntity(keyA, TERM); await kv.transactionAsync(() => store.commit(TERM)); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); - expect((await store.getEntity(keyA, JOB)).body).toEqual([]); + expect(await store.getEntity(keyA, JOB)).toBeUndefined(); expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrB.toBigInt()]); // The neighbouring entity is untouched. - expect((await store.getEntity(keyB, JOB)).facts).toHaveLength(1); + expect((await store.getEntity(keyB, JOB))!.facts).toHaveLength(1); }); it('rollback deletes a retractable entity wholesale (body + every fact) above the target block', async () => { @@ -276,9 +279,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = await store.getEntity(keyA, JOB); - expect(body).toEqual([]); - expect(facts).toHaveLength(0); + expect(await store.getEntity(keyA, JOB)).toBeUndefined(); expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); }); @@ -291,7 +292,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = await store.getEntity(keyA, JOB); + const { body, facts } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept // Entity stays active because the entity record survives. @@ -305,7 +306,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(10)); - const { body, facts } = await store.getEntity(keyA, JOB); + const { body, facts } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); @@ -324,7 +325,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(5)); // Survived: the replacement entity is non-retractable. - const { body } = await store.getEntity(keyA, JOB); + const { body } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([7n]); expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); @@ -349,7 +350,7 @@ describe('EntityStore', () => { await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); // Staged view: the re-created entity, with the terminate having wiped the committed fact. - const staged = await store.getEntity(keyA, JOB2); + const staged = (await store.getEntity(keyA, JOB2))!; expect(staged.body.map(f => f.toBigInt())).toEqual([2n]); expect(staged.facts).toHaveLength(0); const stagedEntities = await store.getEntities(entityTypeKey, JOB2); @@ -359,7 +360,7 @@ describe('EntityStore', () => { // The committed view matches the staged view. await kv.transactionAsync(() => store.commit(JOB2)); - const committed = await store.getEntity(keyA, 'reader'); + const committed = (await store.getEntity(keyA, 'reader'))!; expect(committed.body.map(f => f.toBigInt())).toEqual([2n]); expect(committed.facts).toHaveLength(0); }); @@ -384,13 +385,12 @@ describe('EntityStore', () => { await store.terminateEntity(keyA, JOB); // Staged view: gone. - expect((await store.getEntity(keyA, JOB)).body).toEqual([]); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + expect(await store.getEntity(keyA, JOB)).toBeUndefined(); expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); // Committed view: gone too, and no index residue blocks a later rollback. await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(keyA, 'reader')).body).toEqual([]); + expect(await store.getEntity(keyA, 'reader')).toBeUndefined(); expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); await store.discardStaged('reader'); // reads pin the job; release it so the rollback isn't blocked await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); @@ -421,11 +421,11 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); // Only job 1's fact is committed; job 2 still layers its staged fact on top. - expect((await store.getEntity(keyA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n]); - expect((await store.getEntity(keyA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n]); + expect((await store.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, 'reader')).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); }); it('a job that has only read still blocks rollback until it is discarded', async () => { @@ -440,6 +440,17 @@ describe('EntityStore', () => { await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); + it('commit rejects a createEntity whose entity was already committed by a racing job', async () => { + // The write-time guard only inspects the calling job's staged ops plus committed state, so two jobs can + // both stage a create for the same key without seeing each other. The second to commit must be rejected. + const JOB2 = 'racing-job'; + await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); + + await kv.transactionAsync(() => store.commit(JOB)); + await expect(kv.transactionAsync(() => store.commit(JOB2))).rejects.toThrow('already existing entity'); + }); + it('discardStaged drops staged writes without touching committed state', async () => { await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); @@ -452,8 +463,8 @@ describe('EntityStore', () => { // The discarded writes are gone from the job's own view, and committing the job persists nothing. expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB2))).toEqual([corrA.toBigInt()]); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, 'reader')).facts).toHaveLength(0); - expect((await store.getEntity(keyB, 'reader')).body).toEqual([]); + expect((await store.getEntity(keyA, 'reader'))!.facts).toHaveLength(0); + expect(await store.getEntity(keyB, 'reader')).toBeUndefined(); }); }); @@ -467,9 +478,9 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); // Same contract, type and entity id, but each scope only sees its own entity. - expect((await store.getEntity(keyA, JOB)).body.map(f => f.toBigInt())).toEqual([1n]); - expect((await store.getEntity(keyScope2, JOB)).body.map(f => f.toBigInt())).toEqual([2n]); - expect((await store.getEntity(keyScope2, JOB)).facts).toHaveLength(0); + expect((await store.getEntity(keyA, JOB))!.body.map(f => f.toBigInt())).toEqual([1n]); + expect((await store.getEntity(keyScope2, JOB))!.body.map(f => f.toBigInt())).toEqual([2n]); + expect((await store.getEntity(keyScope2, JOB))!.facts).toHaveLength(0); expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); // Terminating in one scope leaves the other untouched. @@ -510,8 +521,8 @@ describe('EntityStore', () => { await store.recordFact(keyB, RECEIVED, [new Fr(2n)], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); - expect((await store.getEntity(keyB, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); + expect((await store.getEntity(keyB, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); // getEntities returns the same per-entity order. const entities = await store.getEntities(entityTypeKey, JOB); const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); @@ -528,7 +539,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 7n]); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 7n]); }); it('facts re-recorded after a terminate take fresh creation positions', async () => { @@ -545,7 +556,7 @@ describe('EntityStore', () => { await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, JOB)).facts.map(f => f.payload[0].toBigInt())).toEqual([1n, 9n]); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([1n, 9n]); }); it('creation order continues across store reopens', async () => { @@ -561,7 +572,7 @@ describe('EntityStore', () => { await reopened.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); await kv.transactionAsync(() => reopened.commit(JOB2)); - expect((await reopened.getEntity(keyA, JOB2)).facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); + expect((await reopened.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); }); }); @@ -573,14 +584,13 @@ describe('EntityStore', () => { // Only records strictly above the target block are pruned. await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = await store.getEntity(keyA, JOB); + const { body, facts } = (await store.getEntity(keyA, JOB))!; expect(body.map(f => f.toBigInt())).toEqual([5n]); expect(facts).toHaveLength(1); await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked await kv.transactionAsync(() => store.rollback(4)); - expect((await store.getEntity(keyA, JOB)).body).toEqual([]); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + expect(await store.getEntity(keyA, JOB)).toBeUndefined(); }); it('pruning an entity clears the by-block entries of facts below the prune point', async () => { @@ -591,7 +601,7 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(0); + expect(await store.getEntity(keyA, JOB)).toBeUndefined(); await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked // A dangling block-4 fact index entry would make this second prune throw "Fact not found". @@ -623,7 +633,7 @@ describe('EntityStore', () => { it('accepts a fact for an entity staged for creation earlier in the same job', async () => { await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - expect((await store.getEntity(keyA, JOB)).facts).toHaveLength(1); + expect((await store.getEntity(keyA, JOB))!.facts).toHaveLength(1); }); it('accepts a fact for an entity already committed to disk', async () => { @@ -632,28 +642,41 @@ describe('EntityStore', () => { const JOB2 = 'record-job'; await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); - expect((await store.getEntity(keyA, JOB2)).facts).toHaveLength(1); + expect((await store.getEntity(keyA, JOB2))!.facts).toHaveLength(1); }); }); - describe('index corruption detection', () => { + describe('index inconsistency handling', () => { it('getEntity fails loudly when the fact index references a missing row', async () => { + await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + await kv.openMultiMap('facts_by_entity').set(keyA.toString(), 'bogus-fact-key'); await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for factKey bogus-fact-key'); }); - it('rollback fails loudly when the entity by-block index references a missing entity', async () => { + it('rollback tolerates a dangling entity by-block index entry and still prunes real entities', async () => { + // A real retractable entity above the prune point, alongside a by-block entry pointing at a missing entity. + await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(1n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); await kv .openMultiMap('entities_by_block') .set(7, EntityKey.from({ ...keyA, entityId: new Fr(0xdeadn) }).toString()); - await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow('Entity not found for entityKey'); + + // The dangling entry is skipped rather than aborting the rollback, and the real entity is still pruned. + await kv.transactionAsync(() => store.rollback(5)); + expect(await store.getEntity(keyA, 'reader')).toBeUndefined(); }); - it('rollback fails loudly when the fact by-block index references a missing row', async () => { + it('rollback tolerates a dangling fact by-block index entry and still prunes real facts', async () => { + await store.createEntity(keyA, [], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 8, blockHash: new Fr(1n) }, JOB); + await kv.transactionAsync(() => store.commit(JOB)); await kv.openMultiMap('facts_by_block').set(7, 'bogus-fact-key'); - await expect(kv.transactionAsync(() => store.rollback(5))).rejects.toThrow( - 'Fact not found for factKey bogus-fact-key', - ); + + // The dangling entry is skipped rather than aborting the rollback, and the real fact is still pruned. + await kv.transactionAsync(() => store.rollback(5)); + expect((await store.getEntity(keyA, 'reader'))!.facts).toHaveLength(0); }); }); }); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 361488a4c033..90142678f2b1 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -16,6 +16,9 @@ type FactBuffer = Buffer; /** An entity as returned by the store: its key and body, plus its facts in creation order. */ export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; +/** An entity record together with its facts keyed by fact key — the shape the DB read and entity replay pass around. */ +type EntityWithFacts = { entity: StoredEntity; facts: Map }; + /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ type StagedOp = | { kind: 'createEntity'; entity: StoredEntity } @@ -57,9 +60,6 @@ export class EntityStore implements StagedStore { /** Index for delete-on-prune of retractable entities (those with an origin block). */ #entitiesByBlock: AztecAsyncMultiMap; - /** Index for active-entity enumeration. */ - #entitiesByEntityType: AztecAsyncMultiMap; - /** Primary fact records, deduplicated by fact key. */ #facts: AztecAsyncMap; @@ -86,7 +86,6 @@ export class EntityStore implements StagedStore { this.#entitiesByBlock = store.openMultiMap('entities_by_block'); this.#facts = store.openMap('facts'); this.#factsByEntity = store.openMultiMap('facts_by_entity'); - this.#entitiesByEntityType = store.openMultiMap('entities_by_entity_type'); this.#factsByBlock = store.openMultiMap('facts_by_block'); this.#factSeq = store.openSingleton('fact_seq'); this.#opsForJob = new Map(); @@ -109,22 +108,25 @@ export class EntityStore implements StagedStore { if (await this.#entityExists(entityKey, jobId)) { throw new Error(`Cannot create an already existing entity ${entityKey.toString()}`); } - this.#opsFor(jobId).push({ kind: 'createEntity', entity: new StoredEntity(entityKey, entityBody, originBlock) }); + this.#stagedOpsFor(jobId).push({ + kind: 'createEntity', + entity: new StoredEntity(entityKey, entityBody, originBlock), + }); }); } /** - * Stages a fact for recording under the given job. The entity must be active in this job's view — committed to disk - * (and not terminated earlier in this job) or staged for creation earlier in this same job — otherwise this rejects: - * a fact can never exist without its entity. + * Stages a fact for recording under the given job. + * + * Rejects if its entity does not exist. * * `originBlock === undefined` marks the fact non-retractable (it survives reorgs); a defined origin block ties the * fact to a specific block and it will be deleted on prune. * * Facts are returned in creation order by the read methods. * - * Idempotent: re-recording an existing (entity, factType, payload) tuple is a no-op (first write wins), keeping - * the fact's origin block and creation position. + * Idempotent: re-recording an identical fact — same entity, fact type, payload, and origin block — is a no-op, + * keeping its creation position. The same payload tied to a different origin block is a distinct fact. */ recordFact( entityKey: EntityKey, @@ -137,41 +139,50 @@ export class EntityStore implements StagedStore { if (!(await this.#entityExists(entityKey, jobId))) { throw new Error(`Cannot record a fact for non-existent entity ${entityKey.toString()}`); } - this.#opsFor(jobId).push({ kind: 'record', fact: new StoredFact(entityKey, factTypeId, payload, originBlock) }); + this.#stagedOpsFor(jobId).push({ + kind: 'record', + fact: new StoredFact(entityKey, factTypeId, payload, originBlock), + }); }); } /** - * Permanently delete an entity (and all its facts). Staged within the job; applied on commit. Rejects if the entity - * is not active in this job's view — committed to disk (and not terminated earlier in this job) or staged for - * creation earlier in this same job. + * Terminate an entity, making it (and all its facts) unavailable. + * + * Throws if the entity does not exist. */ terminateEntity(key: EntityKey, jobId: string): Promise { return this.#withJobLock(jobId, async () => { if (!(await this.#entityExists(key, jobId))) { throw new Error(`Cannot terminate a non-existent entity ${key.toString()}`); } - this.#opsFor(jobId).push({ kind: 'terminate', key }); + this.#stagedOpsFor(jobId).push({ kind: 'terminate', key }); }); } /** - * Returns one entity's body together with its facts in creation order. - * - * @param key - The key identifying the entity. - * @param jobId - The job whose staged writes are layered over committed state. + * Returns one entity's body together with its facts in creation order, or undefined if no such entity is active in + * the job's view. */ - async getEntity(key: EntityKey, jobId: string): Promise { + async getEntity(key: EntityKey, jobId: string): Promise { const entityKey = key.toString(); - const entitiesInDb = await this.#store.transactionAsync(() => this.#readEntitiesAndFactsFromDb([entityKey])); - const { entity, facts } = entitiesInDb.get(entityKey)!; + const entitiesAndFactsFromDb = await this.#store.transactionAsync(async () => { + // A miss means "not committed", not "absent": the fold below still surfaces a staged-but-uncommitted create, + // so we hand it a 0-or-1-entry map rather than short-circuiting here. + const entities = new Map(); + const buf = await this.#entities.getAsync(entityKey); + if (buf !== undefined) { + entities.set(entityKey, StoredEntity.fromBuffer(buf)); + } + return this.#readEntitiesAndFactsFromDb(entities); + }); - // Since this store is append-only, we can compute the current job's view of an entity by reading it from the - // persistent storage and "replaying" staged entity creation and termination ops, as well as staged facts. - const currentEntity = this.#replayEntityOps(entity, entityKey, jobId); - const currentFacts = this.#replayFactOps(facts, entityKey, jobId); + const entity = this.#foldStagedOps(entitiesAndFactsFromDb, jobId).get(entityKey); + if (!entity) { + return undefined; + } - return { key, body: currentEntity?.body ?? [], facts: Array.from(currentFacts.values(), f => f.toFact()) }; + return { key, body: entity.entity.body, facts: Array.from(entity.facts.values(), f => f.toFact()) }; } /** @@ -180,30 +191,15 @@ export class EntityStore implements StagedStore { async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { const typeKey = entityTypeKey.toString(); - const entitiesAndFacts = await this.#readEntitiesAndFactsFromDbByType(typeKey); - - for (const stagedEntity of this.#entitiesInStage(typeKey, jobId)) { - const entityKey = stagedEntity.key.toString(); - if (!entitiesAndFacts.has(entityKey)) { - entitiesAndFacts.set(entityKey, { entity: undefined, facts: new Map() }); - } - } + const entitiesAndFactsFromDb = await this.#readEntitiesAndFactsFromDbByType(typeKey); - // Replay each entity's record and fact set from staged state, exactly as in getEntity. + // Combine DB state with staged state; foldStagedOps keeps the result scoped to this type. const result: Entity[] = []; - for (const [entityKey, { entity, facts }] of entitiesAndFacts) { - const currentEntity = this.#replayEntityOps(entity, entityKey, jobId); - - // i.e.: entity was terminated in current job - if (currentEntity === undefined) { - continue; - } - - const currentFacts = this.#replayFactOps(facts, entityKey, jobId); + for (const { entity, facts } of this.#foldStagedOps(entitiesAndFactsFromDb, jobId, typeKey).values()) { result.push({ - key: currentEntity.key, - body: currentEntity.body, - facts: Array.from(currentFacts.values(), f => f.toFact()), + key: entity.key, + body: entity.body, + facts: Array.from(facts.values(), f => f.toFact()), }); } @@ -214,49 +210,43 @@ export class EntityStore implements StagedStore { * Commits all staged operations for the given job to persistent storage. * * Must be called inside a transaction owned by the caller (JobCoordinator wraps all commits in a single - * transactionAsync, and IndexedDB does not support nested transactions). Do not call #withJobLock here: awaiting - * the lock creates a microtask boundary that causes IndexedDB to auto-commit the outer transaction. + * transactionAsync, and IndexedDB does not support nested transactions). + * + * DO NOT call `#withJobLock` here: awaiting the lock creates a microtask boundary that causes IndexedDB to + * auto-commit the outer transaction. */ async commit(jobId: string): Promise { - for (const op of this.#opsFor(jobId)) { + for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { case 'createEntity': { - const entity = op.entity; - const eKey = entity.key.toString(); - // createEntity rejects duplicates at stage time, so a same-job duplicate never reaches here; this only fires - // on a cross-job race where two jobs each stage a create for the same new entity and both reach commit. Keep - // the first committed write: re-setting would add a duplicate entities_by_entity_type entry and let the - // record change in place, staling the by-block index. - if (await this.#entities.hasAsync(eKey)) { - this.logger.debug(`Ignoring createEntity for an already existing entity`, { entityKey: eKey, jobId }); - break; + const entityKey = op.entity.key.toString(); + // Defensive, would only be a problem if we increase job concurrency for the same contract and scope. + if (await this.#entities.hasAsync(entityKey)) { + throw new Error(`Cannot commit createEntity for an already existing entity ${entityKey}`); } - await this.#entities.set(eKey, entity.toBuffer()); - await this.#entitiesByEntityType.set(entity.key.entityTypeKey().toString(), eKey); - if (entity.originBlock !== undefined) { - await this.#entitiesByBlock.set(entity.originBlock.blockNumber, eKey); + await this.#entities.set(entityKey, op.entity.toBuffer()); + if (op.entity.originBlock !== undefined) { + await this.#entitiesByBlock.set(op.entity.originBlock.blockNumber, entityKey); } break; } case 'record': { - const fact = op.fact; - const fKey = factKeyStrOf(fact); - // Idempotent: re-recording an existing fact is a no-op (first write wins), mirroring createEntity above. - // The fact keeps its earliest origin block and its original creation position. - if (await this.#facts.hasAsync(fKey)) { - this.logger.debug(`Ignoring already recorded fact`, { factKey: fKey, jobId }); + const factKey = factKeyStrOf(op.fact); + // Idempotent: re-recording an identical fact is a no-op. + if (await this.#facts.hasAsync(factKey)) { + this.logger.debug(`Ignoring already recorded fact`, { factKey }); break; } const seq = await this.#nextFactSeq(); - await this.#facts.set(fKey, serializeFact(seq, fact)); - await this.#factsByEntity.set(fact.key.toString(), fKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.set(fact.originBlock.blockNumber, fKey); + await this.#facts.set(factKey, serializeFact(seq, op.fact)); + await this.#factsByEntity.set(op.fact.key.toString(), factKey); + if (op.fact.originBlock !== undefined) { + await this.#factsByBlock.set(op.fact.originBlock.blockNumber, factKey); } break; } case 'terminate': - await this.#deleteEntity(op.key); + await this.#deleteEntity(op.key.toString()); break; } } @@ -270,119 +260,95 @@ export class EntityStore implements StagedStore { } /** - * Delete-on-prune in two passes. Pass 1 deletes every retractable entity whose origin block is strictly above - * `toBlock` wholesale: its body and every fact it owns, regardless of each fact's own flag. Pass 2 deletes any - * remaining retractable fact originating above `toBlock` whose entity survived pass 1. Non-retractable entities and - * facts are untouched (they never enter the by-block indexes). Must run inside a caller-owned transaction (the - * reorg path wraps it with the sibling stores' rollbacks; IndexedDB has no nested transactions). Throws if any job - * is in flight (has accessed the store and not yet committed or discarded), since rolling back mid-job could - * re-introduce records originating from deleted blocks or change committed state underneath a job's view. + * Removes every entity and fact associated to blocks over height `toBlock`. + * + * Non-retractable entities and facts are untouched. Must run inside a caller-owned transaction (because it needs to + * share the transaction with other stores and IndexedDB has no nested transactions). + * + * Throws if any job is in flight (has accessed the store and not yet committed or discarded), since rolling back + * mid-job could re-introduce records originating from deleted blocks or change state underneath a job's view. */ async rollback(toBlock: BlockNum): Promise { if (this.#opsForJob.size > 0) { throw new Error('PXE entity store rollback is not allowed while jobs are running'); } - // Pass 1: delete retractable entities originating above toBlock wholesale. Snapshot before mutating so we never - // delete from the multimap we are iterating. - const orphanedEntities: EntityKeyStr[] = []; - for await (const [, eKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { - orphanedEntities.push(eKey); + // Delete retractable entities originating above toBlock. Snapshot before mutating so we never delete from the + // multimap we are iterating. + const entitiesToRetract: EntityKeyStr[] = []; + for await (const [, entityKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { + entitiesToRetract.push(entityKey); } - const deletedEntities = new Set(); - let removedEntities = 0; - for (const eKey of orphanedEntities) { - const buf = await this.#entities.getAsync(eKey); - if (!buf) { - // An #entitiesByBlock entry must always reference a live #entities entry; a missing one means the indexes are - // corrupt, so fail loudly rather than leave a ghost entity behind. - throw new Error(`Entity not found for entityKey ${eKey}`); - } - const entity = StoredEntity.fromBuffer(buf); - await this.#deleteEntity(entity.key); - deletedEntities.add(eKey); - removedEntities++; + for (const entityKey of entitiesToRetract) { + await this.#deleteEntity(entityKey); } - // Pass 2: delete remaining retractable facts originating above toBlock whose entity survived pass 1. Pass 1 already - // removed the facts_by_block entries of pruned entities, so any leftover entry here belongs to a surviving entity. - const orphanedFacts: { block: BlockNum; fKey: FactKeyStr }[] = []; - for await (const [block, fKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { - orphanedFacts.push({ block, fKey }); + // Delete remaining retractable facts originating above toBlock. + const factsToRetract: { block: BlockNum; factKey: FactKeyStr }[] = []; + for await (const [block, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { + factsToRetract.push({ block, factKey }); } - let removedFacts = 0; - for (const { block, fKey } of orphanedFacts) { - const buf = await this.#facts.getAsync(fKey); + for (const { block, factKey } of factsToRetract) { + const buf = await this.#facts.getAsync(factKey); if (!buf) { - // A still-present by-block entry with no fact means the indexes are corrupt (pass 1 removes both the fact - // and the by-block entry for pruned entities), so fail loudly rather than leave a dangling index entry. - throw new Error(`Fact not found for factKey ${fKey}`); - } - const { fact } = deserializeFact(buf); - const eKey = fact.key.toString(); - // Belt-and-braces: a fact whose entity was pruned in pass 1 must not be re-processed here. With #deleteEntity - // clearing the by-block index this is unreachable, but the guard keeps pass 2 correct if that ever changes. - if (deletedEntities.has(eKey)) { continue; } - await this.#facts.delete(fKey); - await this.#factsByBlock.deleteValue(block, fKey); - await this.#factsByEntity.deleteValue(eKey, fKey); - removedFacts++; - } - this.logger.verbose('rolled back entity store', { removedEntities, removedFacts, toBlock }); - } - - // ---- private helpers ---- - - /** Returns the entities of the given type staged for creation under the given job. */ - #entitiesInStage(tKey: EntityTypeKeyStr, jobId: string): StoredEntity[] { - const entities: StoredEntity[] = []; - for (const op of this.#opsFor(jobId)) { - if (op.kind === 'createEntity' && op.entity.key.entityTypeKey().toString() === tKey) { - entities.push(op.entity); - } + const { fact } = deserializeFact(buf); + const entityKey = fact.key.toString(); + await this.#facts.delete(factKey); + await this.#factsByBlock.deleteValue(block, factKey); + await this.#factsByEntity.deleteValue(entityKey, factKey); } - return entities; + this.logger.verbose('rolled back entity store', { + removedEntities: entitiesToRetract.length, + removedFacts: factsToRetract.length, + toBlock, + }); } /** - * Whether the entity is active in the job's view: its committed record (if any) still exists after replaying the - * job's staged createEntity/terminate ops. This is the same liveness the read methods compute, used to reject facts - * for entities that do not (yet) exist. + * Whether the entity exists. */ async #entityExists(key: EntityKey, jobId: string): Promise { - const eKey = key.toString(); - const buf = await this.#store.transactionAsync(() => this.#entities.getAsync(eKey)); - const committed = buf ? StoredEntity.fromBuffer(buf) : undefined; - return this.#replayEntityOps(committed, eKey, jobId) !== undefined; + const entityKey = key.toString(); + const buf = await this.#store.transactionAsync(() => this.#entities.getAsync(entityKey)); + // Implementation note: the next 4 lines are a bit boilerplatey, but they let us reuse #foldStagedOps and keep it + // ergonomic for the more central `getEntity` and `getEntities` functions, so I settled for this tradeoff. + const committed = new Map(); + if (buf) { + committed.set(entityKey, { entity: StoredEntity.fromBuffer(buf), facts: new Map() }); + } + return this.#foldStagedOps(committed, jobId).has(entityKey); } - /** Reads every committed entity of the given type with its facts, keyed by entity key, in one transaction. */ + /** + * Reads every entity of the given type with its facts from the db. + * + * Note entity keys are `${typeKey}:${entityId}`, which lets us filter by type without additional indexes. + */ #readEntitiesAndFactsFromDbByType(typeKey: EntityTypeKeyStr) { return this.#store.transactionAsync(async () => { - const entityKeysInDb: EntityKeyStr[] = []; - for await (const entityKey of this.#entitiesByEntityType.getValuesAsync(typeKey)) { - entityKeysInDb.push(entityKey); + // The values ride along with the keys on this single cursor pass, so there is no need to re-read each entity. + // Snapshot before issuing the fact point reads so we never interleave reads with a live cursor. + const entities = new Map(); + for await (const [entityKey, buf] of this.#entities.entriesAsync({ start: `${typeKey}:`, end: `${typeKey};` })) { + entities.set(entityKey, StoredEntity.fromBuffer(buf)); } - return await this.#readEntitiesAndFactsFromDb(entityKeysInDb); + return await this.#readEntitiesAndFactsFromDb(entities); }); } /** - * Reads the committed records (undefined when none exists) and facts of the given entities from the database, - * keyed by entity key. Reads are not wrapped in a transaction: the caller owns the transaction boundary. + * Attaches each entity's committed facts (in creation order), returning the entities-with-facts keyed by entity key. + * Callers supply only entities that exist, so every input yields an output pair. Reads are not wrapped in a + * transaction: the caller owns the transaction boundary. */ async #readEntitiesAndFactsFromDb( - eKeys: EntityKeyStr[], - ): Promise }>> { - const result = new Map }>(); - for (const eKey of eKeys) { - const entityBuf = await this.#entities.getAsync(eKey); - result.set(eKey, { - entity: entityBuf ? StoredEntity.fromBuffer(entityBuf) : undefined, - facts: await this.#loadCommittedFacts(eKey), - }); + entities: Map, + ): Promise> { + const result = new Map(); + for (const [eKey, entity] of entities) { + result.set(eKey, { entity, facts: await this.#loadCommittedFacts(eKey) }); } return result; } @@ -416,64 +382,46 @@ export class EntityStore implements StagedStore { } /** - * Replays a job's staged ops over a committed fact map for read-your-writes, returning a fresh map (the input is - * not mutated): a record adds a fact if absent (re-records are no-ops, mirroring commit), a terminate clears the - * entity's facts. Order matters so a terminate-then-record sequence resolves to the re-recorded fact. createEntity - * ops do not affect the fact set. + * Replays a job's staged ops over a committed set of entities-with-facts for read-your-writes, returning the current + * set keyed by entity key (the input, and its per-entity fact maps, are not mutated). In one pass: a createEntity + * surfaces the entity with no facts (replacing it if a terminate cleared it first), a terminate removes the entity + * and its facts, a record adds a fact to its entity if absent (re-records are no-ops, mirroring commit). Surfaces + * entities staged for creation that are not committed yet; a record whose entity is absent (e.g. concurrently + * terminated by another job) is dropped. + * + * When `typeKey` is given, staged creations of other types are ignored, so the result holds only that type — callers + * scoped to a type need no further filtering. Callers reading a single entity omit it and pick their key out. */ - #replayFactOps( - committed: Map, - eKey: EntityKeyStr, + #foldStagedOps( + committed: Map, jobId: string, - ): Map { - const result = new Map(committed); - for (const op of this.#opsFor(jobId)) { - switch (op.kind) { - case 'record': - if (op.fact.key.toString() === eKey && !result.has(factKeyStrOf(op.fact))) { - result.set(factKeyStrOf(op.fact), op.fact); - } - break; - case 'terminate': - if (op.key.toString() === eKey) { - result.clear(); - } - break; - case 'createEntity': - break; - } + typeKey?: EntityTypeKeyStr, + ): Map { + const result = new Map(); + for (const [key, { entity, facts }] of committed) { + result.set(key, { entity, facts: new Map(facts) }); } - return result; - } - - /** - * Replays a job's staged ops over a committed entity record for read-your-writes, returning the resulting record: - * a createEntity activates the entity if absent (re-creates are no-ops, mirroring commit), a terminate deactivates - * it. Record ops do not affect the entity record. - * - * The entity record and its fact set are updated independently by each op kind (a terminate clears both, but does - * so in this replay and in {@link #replayFactOps} at the same position in the op sequence), so replaying them - * separately is equivalent to a single in-order replay. - */ - #replayEntityOps(committed: StoredEntity | undefined, eKey: EntityKeyStr, jobId: string): StoredEntity | undefined { - let current = committed; - for (const op of this.#opsFor(jobId)) { + for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { case 'createEntity': - if (current === undefined && op.entity.key.toString() === eKey) { - current = op.entity; + if (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) { + result.set(op.entity.key.toString(), { entity: op.entity, facts: new Map() }); } break; case 'terminate': - if (op.key.toString() === eKey) { - current = undefined; - } + result.delete(op.key.toString()); break; - case 'record': + case 'record': { + const current = result.get(op.fact.key.toString()); + const fKey = factKeyStrOf(op.fact); + if (current && !current.facts.has(fKey)) { + current.facts.set(fKey, op.fact); + } break; + } } } - return current; + return result; } /** Returns the next fact sequence number, persisting the incremented counter. */ @@ -487,10 +435,9 @@ export class EntityStore implements StagedStore { * Deletes an entity wholesale from every index: its record, all its facts, and the scope/block index entries. * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. */ - async #deleteEntity(key: EntityKey): Promise { - const eKey = key.toString(); + async #deleteEntity(entityKey: EntityKeyStr): Promise { const fKeys: FactKeyStr[] = []; - for await (const fKey of this.#factsByEntity.getValuesAsync(eKey)) { + for await (const fKey of this.#factsByEntity.getValuesAsync(entityKey)) { fKeys.push(fKey); } for (const fKey of fKeys) { @@ -502,29 +449,25 @@ export class EntityStore implements StagedStore { } const { fact } = deserializeFact(buf); await this.#facts.delete(fKey); - await this.#factsByEntity.deleteValue(eKey, fKey); + await this.#factsByEntity.deleteValue(entityKey, fKey); if (fact.originBlock !== undefined) { await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, fKey); } } - const entityBuf = await this.#entities.getAsync(eKey); + const entityBuf = await this.#entities.getAsync(entityKey); if (entityBuf) { const entity = StoredEntity.fromBuffer(entityBuf); - await this.#entities.delete(eKey); + await this.#entities.delete(entityKey); if (entity.originBlock !== undefined) { - await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, eKey); + await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, entityKey); } } - await this.#entitiesByEntityType.deleteValue(key.entityTypeKey().toString(), eKey); } /** - * Returns the job's staged-ops array, creating it on first access. Any access registers the job as in flight, so a - * read also pins the job until it commits or is discarded — and {@link rollback} refuses to run while it is pinned. - * That is intentional: rolling back while a job holds a view of committed state could change that state underneath - * the job. - */ - #opsFor(jobId: string): StagedOp[] { + * Returns the job's staged-ops array, creating it on first access. + * */ + #stagedOpsFor(jobId: string): StagedOp[] { let ops = this.#opsForJob.get(jobId); if (ops === undefined) { ops = []; diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 9ccb2f7170d2..10e705e37734 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -29,11 +29,27 @@ describe('StoredFact', () => { expect(back.isRetractable).toBe(false); }); - it('derives stable composite keys', () => { - const fact = new StoredFact(key, factType, [new Fr(9n)], undefined); - expect(fact.key.entityTypeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); - expect(fact.key.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); - expect(factKeyStrOf(fact)).toBe(fact.key.toString() + `:${factType}:${fact.payloadHash()}`); + it('derives stable composite keys including the origin block', () => { + const nonRetractable = new StoredFact(key, factType, [new Fr(9n)], undefined); + expect(nonRetractable.key.entityTypeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); + expect(nonRetractable.key.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); + expect(factKeyStrOf(nonRetractable)).toBe( + nonRetractable.key.toString() + `:${factType}:${nonRetractable.payloadHash()}:none`, + ); + + const blockHash = new Fr(0xabcn); + const retractable = new StoredFact(key, factType, [new Fr(9n)], { blockNumber: 5, blockHash }); + expect(factKeyStrOf(retractable)).toBe( + retractable.key.toString() + `:${factType}:${retractable.payloadHash()}:5:${blockHash}`, + ); + }); + + it('keys the same payload at different origin blocks as distinct facts', () => { + const noOrigin = new StoredFact(key, factType, [new Fr(9n)], undefined); + const atBlock5 = new StoredFact(key, factType, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }); + const atBlock10 = new StoredFact(key, factType, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }); + expect(factKeyStrOf(noOrigin)).not.toBe(factKeyStrOf(atBlock5)); + expect(factKeyStrOf(atBlock5)).not.toBe(factKeyStrOf(atBlock10)); }); it('gives distinct payload hashes for distinct payloads and equal for equal', () => { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index 7d1c663b213e..eccf09867834 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -74,14 +74,16 @@ export class StoredFact { } /** - * Serialized key that identifies and dedups a fact (`entityKeyStr:factTypeId:payloadHash`). The payload hash (rather - * than the raw payload) bounds key size for large payloads. + * Serialized key that identifies and dedups a fact (`entityKeyStr:factTypeId:payloadHash:originBlock`). The payload + * hash (rather than the raw payload) bounds key size for large payloads. The origin block (height and hash, or `none` + * when non-retractable) is part of the identity, so the same payload derived at different blocks is a distinct fact. */ export type FactKeyStr = string; /** Builds the {@link FactKeyStr} for the given fact. */ export function factKeyStrOf(fact: StoredFact): FactKeyStr { - return `${fact.key}:${fact.factTypeId}:${fact.payloadHash()}`; + const origin = fact.originBlock ? `${fact.originBlock.blockNumber}:${fact.originBlock.blockHash}` : 'none'; + return `${fact.key}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; } /** From bfbd60ea1830162c4a6d5b5f9017da02390068bc Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 14:10:39 +0000 Subject: [PATCH 050/197] another refactor --- .../src/storage/entity_store/entity_store.ts | 76 ++++++++++--------- 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 90142678f2b1..9244700ed31b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -16,8 +16,8 @@ type FactBuffer = Buffer; /** An entity as returned by the store: its key and body, plus its facts in creation order. */ export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; -/** An entity record together with its facts keyed by fact key — the shape the DB read and entity replay pass around. */ -type EntityWithFacts = { entity: StoredEntity; facts: Map }; +/** Internal auxiliary type to deal with fact ordering and idempotency */ +type EntityWithFacts = { key: EntityKey; body: Fr[]; facts: Map }; /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ type StagedOp = @@ -116,16 +116,16 @@ export class EntityStore implements StagedStore { } /** - * Stages a fact for recording under the given job. + * Records a fact. * * Rejects if its entity does not exist. * * `originBlock === undefined` marks the fact non-retractable (it survives reorgs); a defined origin block ties the * fact to a specific block and it will be deleted on prune. * - * Facts are returned in creation order by the read methods. + * Facts are returned in creation order by the getEntity and getEntities read methods. * - * Idempotent: re-recording an identical fact — same entity, fact type, payload, and origin block — is a no-op, + * Idempotent: re-recording an identical fact (same entity, fact type, payload, and origin block) is a no-op, * keeping its creation position. The same payload tied to a different origin block is a distinct fact. */ recordFact( @@ -161,20 +161,13 @@ export class EntityStore implements StagedStore { } /** - * Returns one entity's body together with its facts in creation order, or undefined if no such entity is active in - * the job's view. + * Returns one entity, if found. */ async getEntity(key: EntityKey, jobId: string): Promise { const entityKey = key.toString(); const entitiesAndFactsFromDb = await this.#store.transactionAsync(async () => { - // A miss means "not committed", not "absent": the fold below still surfaces a staged-but-uncommitted create, - // so we hand it a 0-or-1-entry map rather than short-circuiting here. - const entities = new Map(); - const buf = await this.#entities.getAsync(entityKey); - if (buf !== undefined) { - entities.set(entityKey, StoredEntity.fromBuffer(buf)); - } - return this.#readEntitiesAndFactsFromDb(entities); + const entities = await this.#readEntitiesFromDb(entityKey); + return this.#readFactsFromDb(entities); }); const entity = this.#foldStagedOps(entitiesAndFactsFromDb, jobId).get(entityKey); @@ -182,7 +175,7 @@ export class EntityStore implements StagedStore { return undefined; } - return { key, body: entity.entity.body, facts: Array.from(entity.facts.values(), f => f.toFact()) }; + return { key, body: entity.body, facts: Array.from(entity.facts.values()) }; } /** @@ -195,12 +188,8 @@ export class EntityStore implements StagedStore { // Combine DB state with staged state; foldStagedOps keeps the result scoped to this type. const result: Entity[] = []; - for (const { entity, facts } of this.#foldStagedOps(entitiesAndFactsFromDb, jobId, typeKey).values()) { - result.push({ - key: entity.key, - body: entity.body, - facts: Array.from(facts.values(), f => f.toFact()), - }); + for (const { key, body, facts } of this.#foldStagedOps(entitiesAndFactsFromDb, jobId, typeKey).values()) { + result.push({ key, body, facts: Array.from(facts.values()) }); } return result; @@ -312,11 +301,12 @@ export class EntityStore implements StagedStore { async #entityExists(key: EntityKey, jobId: string): Promise { const entityKey = key.toString(); const buf = await this.#store.transactionAsync(() => this.#entities.getAsync(entityKey)); - // Implementation note: the next 4 lines are a bit boilerplatey, but they let us reuse #foldStagedOps and keep it + // Implementation note: the lines below are a bit boilerplatey, but they let us reuse #foldStagedOps and keep it // ergonomic for the more central `getEntity` and `getEntities` functions, so I settled for this tradeoff. const committed = new Map(); if (buf) { - committed.set(entityKey, { entity: StoredEntity.fromBuffer(buf), facts: new Map() }); + const stored = StoredEntity.fromBuffer(buf); + committed.set(entityKey, { key: stored.key, body: stored.body, facts: new Map() }); } return this.#foldStagedOps(committed, jobId).has(entityKey); } @@ -334,21 +324,33 @@ export class EntityStore implements StagedStore { for await (const [entityKey, buf] of this.#entities.entriesAsync({ start: `${typeKey}:`, end: `${typeKey};` })) { entities.set(entityKey, StoredEntity.fromBuffer(buf)); } - return await this.#readEntitiesAndFactsFromDb(entities); + return await this.#readFactsFromDb(entities); }); } + /** + * Reads a single entity record (without its facts) by key into a 0-or-1-entry map — the input shape + * {@link #readFactsFromDb} consumes. A missing record yields an empty map. Reads are not wrapped in a transaction: + * the caller owns the transaction boundary. + */ + async #readEntitiesFromDb(entityKey: EntityKeyStr): Promise> { + const entities = new Map(); + const buf = await this.#entities.getAsync(entityKey); + if (buf !== undefined) { + entities.set(entityKey, StoredEntity.fromBuffer(buf)); + } + return entities; + } + /** * Attaches each entity's committed facts (in creation order), returning the entities-with-facts keyed by entity key. * Callers supply only entities that exist, so every input yields an output pair. Reads are not wrapped in a * transaction: the caller owns the transaction boundary. */ - async #readEntitiesAndFactsFromDb( - entities: Map, - ): Promise> { + async #readFactsFromDb(entities: Map): Promise> { const result = new Map(); for (const [eKey, entity] of entities) { - result.set(eKey, { entity, facts: await this.#loadCommittedFacts(eKey) }); + result.set(eKey, { key: entity.key, body: entity.body, facts: await this.#loadCommittedFacts(eKey) }); } return result; } @@ -357,7 +359,7 @@ export class EntityStore implements StagedStore { * Loads the committed facts for an entity keyed by their dedup fact key, in creation order. Caller may wrap in a * transaction. */ - async #loadCommittedFacts(eKey: EntityKeyStr): Promise> { + async #loadCommittedFacts(eKey: EntityKeyStr): Promise> { // Snapshot the index before issuing point reads so we never interleave reads with a live cursor (IndexedDB // cursors are sensitive to what runs between iterations). const fKeys: FactKeyStr[] = []; @@ -378,7 +380,7 @@ export class EntityStore implements StagedStore { // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB); sort by the // commit-assigned sequence so facts always come back in creation order. loaded.sort((a, b) => a.seq - b.seq); - return new Map(loaded.map(({ fKey, fact }) => [fKey, fact])); + return new Map(loaded.map(({ fKey, fact }) => [fKey, fact.toFact()])); } /** @@ -398,14 +400,18 @@ export class EntityStore implements StagedStore { typeKey?: EntityTypeKeyStr, ): Map { const result = new Map(); - for (const [key, { entity, facts }] of committed) { - result.set(key, { entity, facts: new Map(facts) }); + for (const [entityKey, { key, body, facts }] of committed) { + result.set(entityKey, { key, body, facts: new Map(facts) }); } for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { case 'createEntity': if (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) { - result.set(op.entity.key.toString(), { entity: op.entity, facts: new Map() }); + result.set(op.entity.key.toString(), { + key: op.entity.key, + body: op.entity.body, + facts: new Map(), + }); } break; case 'terminate': @@ -415,7 +421,7 @@ export class EntityStore implements StagedStore { const current = result.get(op.fact.key.toString()); const fKey = factKeyStrOf(op.fact); if (current && !current.facts.has(fKey)) { - current.facts.set(fKey, op.fact); + current.facts.set(fKey, op.fact.toFact()); } break; } From 1c8cd737342486787e1bb76248146237c64a7ebc Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 14:14:55 +0000 Subject: [PATCH 051/197] tweak --- .../pxe/src/storage/entity_store/entity_store.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 9244700ed31b..c1e39ab3c86c 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -183,16 +183,14 @@ export class EntityStore implements StagedStore { */ async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { const typeKey = entityTypeKey.toString(); - const entitiesAndFactsFromDb = await this.#readEntitiesAndFactsFromDbByType(typeKey); // Combine DB state with staged state; foldStagedOps keeps the result scoped to this type. - const result: Entity[] = []; - for (const { key, body, facts } of this.#foldStagedOps(entitiesAndFactsFromDb, jobId, typeKey).values()) { - result.push({ key, body, facts: Array.from(facts.values()) }); - } - - return result; + return Array.from(this.#foldStagedOps(entitiesAndFactsFromDb, jobId, typeKey).values(), ({ key, body, facts }) => ({ + key, + body, + facts: Array.from(facts.values()), + })); } /** From 1d639bf679053864939aca6bb78eccfa4ac5cafa Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 15:15:39 +0000 Subject: [PATCH 052/197] refactor --- .../src/storage/entity_store/entity_store.ts | 127 +++++++++--------- 1 file changed, 63 insertions(+), 64 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index c1e39ab3c86c..90f4bd65a296 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -105,7 +105,7 @@ export class EntityStore implements StagedStore { jobId: string, ): Promise { return this.#withJobLock(jobId, async () => { - if (await this.#entityExists(entityKey, jobId)) { + if ((await this.getEntity(entityKey, jobId)) !== undefined) { throw new Error(`Cannot create an already existing entity ${entityKey.toString()}`); } this.#stagedOpsFor(jobId).push({ @@ -136,7 +136,7 @@ export class EntityStore implements StagedStore { jobId: string, ): Promise { return this.#withJobLock(jobId, async () => { - if (!(await this.#entityExists(entityKey, jobId))) { + if ((await this.getEntity(entityKey, jobId)) === undefined) { throw new Error(`Cannot record a fact for non-existent entity ${entityKey.toString()}`); } this.#stagedOpsFor(jobId).push({ @@ -153,7 +153,7 @@ export class EntityStore implements StagedStore { */ terminateEntity(key: EntityKey, jobId: string): Promise { return this.#withJobLock(jobId, async () => { - if (!(await this.#entityExists(key, jobId))) { + if ((await this.getEntity(key, jobId)) === undefined) { throw new Error(`Cannot terminate a non-existent entity ${key.toString()}`); } this.#stagedOpsFor(jobId).push({ kind: 'terminate', key }); @@ -205,33 +205,12 @@ export class EntityStore implements StagedStore { async commit(jobId: string): Promise { for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { - case 'createEntity': { - const entityKey = op.entity.key.toString(); - // Defensive, would only be a problem if we increase job concurrency for the same contract and scope. - if (await this.#entities.hasAsync(entityKey)) { - throw new Error(`Cannot commit createEntity for an already existing entity ${entityKey}`); - } - await this.#entities.set(entityKey, op.entity.toBuffer()); - if (op.entity.originBlock !== undefined) { - await this.#entitiesByBlock.set(op.entity.originBlock.blockNumber, entityKey); - } + case 'createEntity': + await this.#commitEntity(op.entity); break; - } - case 'record': { - const factKey = factKeyStrOf(op.fact); - // Idempotent: re-recording an identical fact is a no-op. - if (await this.#facts.hasAsync(factKey)) { - this.logger.debug(`Ignoring already recorded fact`, { factKey }); - break; - } - const seq = await this.#nextFactSeq(); - await this.#facts.set(factKey, serializeFact(seq, op.fact)); - await this.#factsByEntity.set(op.fact.key.toString(), factKey); - if (op.fact.originBlock !== undefined) { - await this.#factsByBlock.set(op.fact.originBlock.blockNumber, factKey); - } + case 'record': + await this.#commitRecord(op.fact); break; - } case 'terminate': await this.#deleteEntity(op.key.toString()); break; @@ -293,22 +272,6 @@ export class EntityStore implements StagedStore { }); } - /** - * Whether the entity exists. - */ - async #entityExists(key: EntityKey, jobId: string): Promise { - const entityKey = key.toString(); - const buf = await this.#store.transactionAsync(() => this.#entities.getAsync(entityKey)); - // Implementation note: the lines below are a bit boilerplatey, but they let us reuse #foldStagedOps and keep it - // ergonomic for the more central `getEntity` and `getEntities` functions, so I settled for this tradeoff. - const committed = new Map(); - if (buf) { - const stored = StoredEntity.fromBuffer(buf); - committed.set(entityKey, { key: stored.key, body: stored.body, facts: new Map() }); - } - return this.#foldStagedOps(committed, jobId).has(entityKey); - } - /** * Reads every entity of the given type with its facts from the db. * @@ -347,38 +310,40 @@ export class EntityStore implements StagedStore { */ async #readFactsFromDb(entities: Map): Promise> { const result = new Map(); - for (const [eKey, entity] of entities) { - result.set(eKey, { key: entity.key, body: entity.body, facts: await this.#loadCommittedFacts(eKey) }); + for (const [entityKey, entity] of entities) { + result.set(entityKey, { key: entity.key, body: entity.body, facts: await this.#loadCommittedFacts(entityKey) }); } return result; } /** - * Loads the committed facts for an entity keyed by their dedup fact key, in creation order. Caller may wrap in a - * transaction. + * Loads the committed facts for an entity keyed by their fact key, in creation order. + * + * Caller must wrap in a transaction. */ - async #loadCommittedFacts(eKey: EntityKeyStr): Promise> { - // Snapshot the index before issuing point reads so we never interleave reads with a live cursor (IndexedDB - // cursors are sensitive to what runs between iterations). - const fKeys: FactKeyStr[] = []; - for await (const fKey of this.#factsByEntity.getValuesAsync(eKey)) { - fKeys.push(fKey); + async #loadCommittedFacts(entityKey: EntityKeyStr): Promise> { + // Snapshot the index to avoid IndexedDB transaction aliveness quirks. + const factKeys: FactKeyStr[] = []; + for await (const factKey of this.#factsByEntity.getValuesAsync(entityKey)) { + factKeys.push(factKey); } - const loaded: { fKey: FactKeyStr; seq: number; fact: StoredFact }[] = []; - for (const fKey of fKeys) { - const buf = await this.#facts.getAsync(fKey); + + const loaded: { factKey: FactKeyStr; seq: number; fact: StoredFact }[] = []; + for (const factKey of factKeys) { + const buf = await this.#facts.getAsync(factKey); if (!buf) { - // A #factsByEntity entry must always reference a live #facts entry; a missing one means the indexes are - // corrupt, so fail loudly rather than silently drop the fact. - throw new Error(`Fact not found for factKey ${fKey}`); + // A #factsByEntity entry must always reference a live #facts entry. A missing one means the indexes are + // corrupt. + throw new Error(`Fact not found for factKey ${factKey}`); } const { seq, fact } = deserializeFact(buf); - loaded.push({ fKey, seq, fact }); + loaded.push({ factKey: factKey, seq, fact }); } - // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB); sort by the - // commit-assigned sequence so facts always come back in creation order. + + // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB). We sort by the + // a sequence number so facts always come back in creation order without needing to resort to timestamps. loaded.sort((a, b) => a.seq - b.seq); - return new Map(loaded.map(({ fKey, fact }) => [fKey, fact.toFact()])); + return new Map(loaded.map(({ factKey, fact }) => [factKey, fact.toFact()])); } /** @@ -435,6 +400,40 @@ export class EntityStore implements StagedStore { return next; } + /** + * Writes a newly created entity to its record and (when retractable) the by-block index. The existence check is + * defensive: it would only fire if job concurrency for the same contract and scope let two jobs stage the same + * create, since the write-time guard cannot see a sibling job's uncommitted ops. + */ + async #commitEntity(entity: StoredEntity): Promise { + const entityKey = entity.key.toString(); + if (await this.#entities.hasAsync(entityKey)) { + throw new Error(`Cannot commit createEntity for an already existing entity ${entityKey}`); + } + await this.#entities.set(entityKey, entity.toBuffer()); + if (entity.originBlock !== undefined) { + await this.#entitiesByBlock.set(entity.originBlock.blockNumber, entityKey); + } + } + + /** + * Writes a fact to its record, the per-entity index, and (when retractable) the by-block index, assigning it the next + * creation-order sequence number. Idempotent: re-recording an identical fact (same dedup key) is a no-op. + */ + async #commitRecord(fact: StoredFact): Promise { + const factKey = factKeyStrOf(fact); + if (await this.#facts.hasAsync(factKey)) { + this.logger.debug(`Ignoring already recorded fact`, { factKey }); + return; + } + const seq = await this.#nextFactSeq(); + await this.#facts.set(factKey, serializeFact(seq, fact)); + await this.#factsByEntity.set(fact.key.toString(), factKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); + } + } + /** * Deletes an entity wholesale from every index: its record, all its facts, and the scope/block index entries. * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. From fe788925d417e1f1aaf0c210cab055fc21b1ca63 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:03:41 +0000 Subject: [PATCH 053/197] more refactors --- .../src/storage/entity_store/entity_store.ts | 106 ++++++++++-------- .../storage/entity_store/stored_fact.test.ts | 8 +- .../src/storage/entity_store/stored_fact.ts | 12 +- 3 files changed, 69 insertions(+), 57 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 90f4bd65a296..ad861fe8fc8b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -166,7 +166,7 @@ export class EntityStore implements StagedStore { async getEntity(key: EntityKey, jobId: string): Promise { const entityKey = key.toString(); const entitiesAndFactsFromDb = await this.#store.transactionAsync(async () => { - const entities = await this.#readEntitiesFromDb(entityKey); + const entities = await this.#readEntitiesFromDb([entityKey]); return this.#readFactsFromDb(entities); }); @@ -239,8 +239,19 @@ export class EntityStore implements StagedStore { throw new Error('PXE entity store rollback is not allowed while jobs are running'); } - // Delete retractable entities originating above toBlock. Snapshot before mutating so we never delete from the - // multimap we are iterating. + const removedEntities = await this.#retractEntities(toBlock); + const removedFacts = await this.#retractFacts(toBlock); + + this.logger.verbose('rolled back entity store', { removedEntities, removedFacts, toBlock }); + } + + /** + * Deletes every retractable entity (and all its facts) whose origin block is above `toBlock`, returning the count + * removed. Snapshots the by-block index before mutating so we never delete from the multimap we are iterating. + * + * Requires to be run in a transactionAsync context. + */ + async #retractEntities(toBlock: BlockNum): Promise { const entitiesToRetract: EntityKeyStr[] = []; for await (const [, entityKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { entitiesToRetract.push(entityKey); @@ -248,8 +259,15 @@ export class EntityStore implements StagedStore { for (const entityKey of entitiesToRetract) { await this.#deleteEntity(entityKey); } + return entitiesToRetract.length; + } - // Delete remaining retractable facts originating above toBlock. + /** + * Deletes retractable facts originating above `toBlock`, returning the number of by-block entries scanned. + * + * Requires to be run in a transactionAsync context. + */ + async #retractFacts(toBlock: BlockNum): Promise { const factsToRetract: { block: BlockNum; factKey: FactKeyStr }[] = []; for await (const [block, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { factsToRetract.push({ block, factKey }); @@ -260,20 +278,16 @@ export class EntityStore implements StagedStore { continue; } const { fact } = deserializeFact(buf); - const entityKey = fact.key.toString(); + const entityKey = fact.entityKey.toString(); await this.#facts.delete(factKey); await this.#factsByBlock.deleteValue(block, factKey); await this.#factsByEntity.deleteValue(entityKey, factKey); } - this.logger.verbose('rolled back entity store', { - removedEntities: entitiesToRetract.length, - removedFacts: factsToRetract.length, - toBlock, - }); + return factsToRetract.length; } /** - * Reads every entity of the given type with its facts from the db. + * Reads every entity and of the given type with its facts from the db. * * Note entity keys are `${typeKey}:${entityId}`, which lets us filter by type without additional indexes. */ @@ -290,23 +304,28 @@ export class EntityStore implements StagedStore { } /** - * Reads a single entity record (without its facts) by key into a 0-or-1-entry map — the input shape - * {@link #readFactsFromDb} consumes. A missing record yields an empty map. Reads are not wrapped in a transaction: - * the caller owns the transaction boundary. + * Reads the given entity records by key into a Map keyed by entity key, skipping keys with no committed record. + * + * This is purely auxiliary function that produces the input shape {@link #readFactsFromDb} consumes, it exists + * mainly for better readability of the store. + * + * Reads are not wrapped in a transaction: the caller owns the transaction boundary. */ - async #readEntitiesFromDb(entityKey: EntityKeyStr): Promise> { + async #readEntitiesFromDb(entityKeys: EntityKeyStr[]): Promise> { const entities = new Map(); - const buf = await this.#entities.getAsync(entityKey); - if (buf !== undefined) { - entities.set(entityKey, StoredEntity.fromBuffer(buf)); + for (const entityKey of entityKeys) { + const buf = await this.#entities.getAsync(entityKey); + if (buf !== undefined) { + entities.set(entityKey, StoredEntity.fromBuffer(buf)); + } } return entities; } /** * Attaches each entity's committed facts (in creation order), returning the entities-with-facts keyed by entity key. - * Callers supply only entities that exist, so every input yields an output pair. Reads are not wrapped in a - * transaction: the caller owns the transaction boundary. + * + * Reads are not wrapped in a transaction: the caller owns the transaction boundary. */ async #readFactsFromDb(entities: Map): Promise> { const result = new Map(); @@ -332,7 +351,7 @@ export class EntityStore implements StagedStore { for (const factKey of factKeys) { const buf = await this.#facts.getAsync(factKey); if (!buf) { - // A #factsByEntity entry must always reference a live #facts entry. A missing one means the indexes are + // Defensive: a #factsByEntity entry must always reference a live #facts entry. A missing one means the indexes are // corrupt. throw new Error(`Fact not found for factKey ${factKey}`); } @@ -347,15 +366,10 @@ export class EntityStore implements StagedStore { } /** - * Replays a job's staged ops over a committed set of entities-with-facts for read-your-writes, returning the current - * set keyed by entity key (the input, and its per-entity fact maps, are not mutated). In one pass: a createEntity - * surfaces the entity with no facts (replacing it if a terminate cleared it first), a terminate removes the entity - * and its facts, a record adds a fact to its entity if absent (re-records are no-ops, mirroring commit). Surfaces - * entities staged for creation that are not committed yet; a record whose entity is absent (e.g. concurrently - * terminated by another job) is dropped. + * Assembles the current view of a collection of entities together with its facts, combining the committed with + * staged data. * - * When `typeKey` is given, staged creations of other types are ignored, so the result holds only that type — callers - * scoped to a type need no further filtering. Callers reading a single entity omit it and pick their key out. + * When `typeKey` is given, staged creations of other types are ignored, so the result holds only that type. */ #foldStagedOps( committed: Map, @@ -363,6 +377,8 @@ export class EntityStore implements StagedStore { typeKey?: EntityTypeKeyStr, ): Map { const result = new Map(); + + // Copy to avoid mutating contents of `committed` for (const [entityKey, { key, body, facts }] of committed) { result.set(entityKey, { key, body, facts: new Map(facts) }); } @@ -381,7 +397,7 @@ export class EntityStore implements StagedStore { result.delete(op.key.toString()); break; case 'record': { - const current = result.get(op.fact.key.toString()); + const current = result.get(op.fact.entityKey.toString()); const fKey = factKeyStrOf(op.fact); if (current && !current.facts.has(fKey)) { current.facts.set(fKey, op.fact.toFact()); @@ -401,9 +417,7 @@ export class EntityStore implements StagedStore { } /** - * Writes a newly created entity to its record and (when retractable) the by-block index. The existence check is - * defensive: it would only fire if job concurrency for the same contract and scope let two jobs stage the same - * create, since the write-time guard cannot see a sibling job's uncommitted ops. + * Writes a newly created entity to persistent storage. */ async #commitEntity(entity: StoredEntity): Promise { const entityKey = entity.key.toString(); @@ -417,8 +431,7 @@ export class EntityStore implements StagedStore { } /** - * Writes a fact to its record, the per-entity index, and (when retractable) the by-block index, assigning it the next - * creation-order sequence number. Idempotent: re-recording an identical fact (same dedup key) is a no-op. + * Writes a fact to persistent storage. */ async #commitRecord(fact: StoredFact): Promise { const factKey = factKeyStrOf(fact); @@ -428,33 +441,32 @@ export class EntityStore implements StagedStore { } const seq = await this.#nextFactSeq(); await this.#facts.set(factKey, serializeFact(seq, fact)); - await this.#factsByEntity.set(fact.key.toString(), factKey); + await this.#factsByEntity.set(fact.entityKey.toString(), factKey); if (fact.originBlock !== undefined) { await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); } } /** - * Deletes an entity wholesale from every index: its record, all its facts, and the scope/block index entries. - * Called during commit for 'terminate' ops and during pass 1 of rollback for pruned retractable entities. + * Deletes an entity from persistent storage. */ async #deleteEntity(entityKey: EntityKeyStr): Promise { - const fKeys: FactKeyStr[] = []; - for await (const fKey of this.#factsByEntity.getValuesAsync(entityKey)) { - fKeys.push(fKey); + const factKeys: FactKeyStr[] = []; + for await (const factKey of this.#factsByEntity.getValuesAsync(entityKey)) { + factKeys.push(factKey); } - for (const fKey of fKeys) { - const buf = await this.#facts.getAsync(fKey); + for (const factKey of factKeys) { + const buf = await this.#facts.getAsync(factKey); if (!buf) { // A #factsByEntity entry must always reference a live #facts entry; a missing one means the indexes are // corrupt, so fail loudly rather than silently skip cleanup. - throw new Error(`Fact not found for factKey ${fKey}`); + throw new Error(`Fact not found for factKey ${factKey}`); } const { fact } = deserializeFact(buf); - await this.#facts.delete(fKey); - await this.#factsByEntity.deleteValue(entityKey, fKey); + await this.#facts.delete(factKey); + await this.#factsByEntity.deleteValue(entityKey, factKey); if (fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, fKey); + await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); } } const entityBuf = await this.#entities.getAsync(entityKey); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 10e705e37734..d6b448958d17 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -31,16 +31,16 @@ describe('StoredFact', () => { it('derives stable composite keys including the origin block', () => { const nonRetractable = new StoredFact(key, factType, [new Fr(9n)], undefined); - expect(nonRetractable.key.entityTypeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); - expect(nonRetractable.key.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); + expect(nonRetractable.entityKey.entityTypeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); + expect(nonRetractable.entityKey.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); expect(factKeyStrOf(nonRetractable)).toBe( - nonRetractable.key.toString() + `:${factType}:${nonRetractable.payloadHash()}:none`, + nonRetractable.entityKey.toString() + `:${factType}:${nonRetractable.payloadHash()}:none`, ); const blockHash = new Fr(0xabcn); const retractable = new StoredFact(key, factType, [new Fr(9n)], { blockNumber: 5, blockHash }); expect(factKeyStrOf(retractable)).toBe( - retractable.key.toString() + `:${factType}:${retractable.payloadHash()}:5:${blockHash}`, + retractable.entityKey.toString() + `:${factType}:${retractable.payloadHash()}:5:${blockHash}`, ); }); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index eccf09867834..388b3fdf2765 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -14,7 +14,7 @@ export type Fact = { factTypeId: Fr; payload: Fr[]; originBlock: OriginBlock | u */ export class StoredFact { constructor( - public readonly key: EntityKey, + public readonly entityKey: EntityKey, public readonly factTypeId: Fr, public readonly payload: Fr[], public readonly originBlock: OriginBlock | undefined, @@ -38,10 +38,10 @@ export class StoredFact { toBuffer(): Buffer { const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( - this.key.contractAddress, - this.key.scope, - this.key.entityTypeId, - this.key.entityId, + this.entityKey.contractAddress, + this.entityKey.scope, + this.entityKey.entityTypeId, + this.entityKey.entityId, this.factTypeId, this.payload.length, ...this.payload, @@ -83,7 +83,7 @@ export type FactKeyStr = string; /** Builds the {@link FactKeyStr} for the given fact. */ export function factKeyStrOf(fact: StoredFact): FactKeyStr { const origin = fact.originBlock ? `${fact.originBlock.blockNumber}:${fact.originBlock.blockHash}` : 'none'; - return `${fact.key}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; + return `${fact.entityKey}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; } /** From c59658e98345d9923e39198e3f4f8177e8835b85 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:08:37 +0000 Subject: [PATCH 054/197] rename files --- .../pxe/src/block_synchronizer/block_synchronizer.test.ts | 2 +- .../src/storage/backwards_compatibility_tests/schema_tests.ts | 2 +- yarn-project/pxe/src/storage/entity_store/entity_store.test.ts | 2 +- yarn-project/pxe/src/storage/entity_store/entity_store.ts | 2 +- .../entity_store/{entity_keys.ts => entity_store_keys.ts} | 0 yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts | 2 +- yarn-project/pxe/src/storage/entity_store/stored_entity.ts | 2 +- yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts | 2 +- yarn-project/pxe/src/storage/entity_store/stored_fact.ts | 2 +- 9 files changed, 8 insertions(+), 8 deletions(-) rename yarn-project/pxe/src/storage/entity_store/{entity_keys.ts => entity_store_keys.ts} (100%) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 25b1a9e16549..f67f31c724a4 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -27,8 +27,8 @@ import { type MockProxy, mock } from 'jest-mock-extended'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; -import { EntityKey, EntityTypeKey } from '../storage/entity_store/entity_keys.js'; import { EntityStore } from '../storage/entity_store/entity_store.js'; +import { EntityKey, EntityTypeKey } from '../storage/entity_store/entity_store_keys.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { BlockSynchronizer } from './block_synchronizer.js'; diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index e1db2d152c36..9b752453f8d7 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -39,8 +39,8 @@ import { AddressStore } from '../address_store/address_store.js'; import { AnchorBlockStore } from '../anchor_block_store/index.js'; import { CapsuleStore } from '../capsule_store/capsule_store.js'; import { ContractStore } from '../contract_store/contract_store.js'; -import { EntityKey } from '../entity_store/entity_keys.js'; import { EntityStore } from '../entity_store/entity_store.js'; +import { EntityKey } from '../entity_store/entity_store_keys.js'; import { NoteStore } from '../note_store/note_store.js'; import { PrivateEventStore } from '../private_event_store/private_event_store.js'; import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '../tagging_store/index.js'; diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 5c305d2b5db6..55868ee9828d 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -3,8 +3,8 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey, EntityTypeKey } from './entity_keys.js'; import { EntityStore } from './entity_store.js'; +import { EntityKey, EntityTypeKey } from './entity_store_keys.js'; describe('EntityStore', () => { const contract = AztecAddress.fromBigInt(100n); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index ad861fe8fc8b..4f6ad674dc18 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -4,7 +4,7 @@ import { Semaphore } from '@aztec/foundation/queue'; import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSingleton } from '@aztec/kv-store'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import type { EntityKey, EntityKeyStr, EntityTypeKey, EntityTypeKeyStr, OriginBlock } from './entity_keys.js'; +import type { EntityKey, EntityKeyStr, EntityTypeKey, EntityTypeKeyStr, OriginBlock } from './entity_store_keys.js'; import { StoredEntity } from './stored_entity.js'; import { type Fact, type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; diff --git a/yarn-project/pxe/src/storage/entity_store/entity_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts similarity index 100% rename from yarn-project/pxe/src/storage/entity_store/entity_keys.ts rename to yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts index e2764ff0d4b8..141df8302e27 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts @@ -1,7 +1,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey } from './entity_keys.js'; +import { EntityKey } from './entity_store_keys.js'; import { StoredEntity } from './stored_entity.js'; describe('StoredEntity', () => { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts index bcabcc9b7a13..37e49a9f8591 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts @@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey, type OriginBlock } from './entity_keys.js'; +import { EntityKey, type OriginBlock } from './entity_store_keys.js'; /** * The record for a single entity, with its own body and optional origin block. `originBlock === undefined` marks diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index d6b448958d17..eddef24d60cd 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -1,7 +1,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey } from './entity_keys.js'; +import { EntityKey } from './entity_store_keys.js'; import { StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; describe('StoredFact', () => { diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index 388b3fdf2765..48393c0b7dd6 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -3,7 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey, type OriginBlock } from './entity_keys.js'; +import { EntityKey, type OriginBlock } from './entity_store_keys.js'; /** A fact as returned by the entity store: its type and payload, plus the optional origin block it is tied to. */ export type Fact = { factTypeId: Fr; payload: Fr[]; originBlock: OriginBlock | undefined }; From aeefa59209be0dcfcbbb46b8bebaea732de68f6a Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:13:29 +0000 Subject: [PATCH 055/197] move types --- .../pxe/src/storage/entity_store/entity_store.ts | 8 +++++++- .../pxe/src/storage/entity_store/entity_store_keys.ts | 10 ++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 4f6ad674dc18..1bb8f024d6be 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -4,7 +4,7 @@ import { Semaphore } from '@aztec/foundation/queue'; import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSingleton } from '@aztec/kv-store'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import type { EntityKey, EntityKeyStr, EntityTypeKey, EntityTypeKeyStr, OriginBlock } from './entity_store_keys.js'; +import type { EntityKey, EntityTypeKey, OriginBlock } from './entity_store_keys.js'; import { StoredEntity } from './stored_entity.js'; import { type Fact, type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; @@ -13,6 +13,12 @@ type BlockNum = number; type StoredEntityBuffer = Buffer; type FactBuffer = Buffer; +/** Serialized form of an {@link EntityTypeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ +type EntityTypeKeyStr = string; + +/** Serialized form of an {@link EntityKey} (`entityTypeKeyStr:entityId`), used as kv-store map keys. */ +type EntityKeyStr = string; + /** An entity as returned by the store: its key and body, plus its facts in creation order. */ export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts index f0a87d91adc1..8394ec1ab44c 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts @@ -7,12 +7,6 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address'; */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; -/** Serialized form of a {@link EntityTypeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ -export type EntityTypeKeyStr = string; - -/** Serialized form of an {@link EntityKey} (`entityTypeKeyStr:entityId`), used as kv-store map keys. */ -export type EntityKeyStr = string; - /** Identifies all entities of one type within a contract+scope. */ export class EntityTypeKey { constructor( @@ -25,7 +19,7 @@ export class EntityTypeKey { return new EntityTypeKey(fields.contractAddress, fields.scope, fields.entityTypeId); } - toString(): EntityTypeKeyStr { + toString(): string { return `${this.contractAddress}:${this.scope}:${this.entityTypeId}`; } } @@ -48,7 +42,7 @@ export class EntityKey { return new EntityTypeKey(this.contractAddress, this.scope, this.entityTypeId); } - toString(): EntityKeyStr { + toString(): string { return `${this.entityTypeKey()}:${this.entityId}`; } } From 58f44d57b4cf1a9af477c6824daaee8287452915 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:16:49 +0000 Subject: [PATCH 056/197] clean up stored_entity --- yarn-project/pxe/src/storage/entity_store/stored_entity.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts index 37e49a9f8591..0c66e6d2d6d7 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts @@ -5,10 +5,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address'; import { EntityKey, type OriginBlock } from './entity_store_keys.js'; /** - * The record for a single entity, with its own body and optional origin block. `originBlock === undefined` marks - * the entity non-retractable (it survives reorgs; only its own retractable facts are pruned); an origin block marks - * the whole entity retractable — on a prune above its block, the entity body and every fact it owns are deleted - * wholesale. + * The record for a single entity. */ export class StoredEntity { constructor( From 5a5195521a772e9e87cdd9d5d9bcd45258f1f762 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:25:41 +0000 Subject: [PATCH 057/197] simplify stored fact module --- .../src/storage/entity_store/entity_store.ts | 5 ++++- .../src/storage/entity_store/stored_fact.ts | 20 ++++++------------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 1bb8f024d6be..1cce92a21681 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -6,7 +6,7 @@ import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSi import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; import type { EntityKey, EntityTypeKey, OriginBlock } from './entity_store_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { type Fact, type FactKeyStr, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; +import { type Fact, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; type JobId = string; type BlockNum = number; @@ -19,6 +19,9 @@ type EntityTypeKeyStr = string; /** Serialized form of an {@link EntityKey} (`entityTypeKeyStr:entityId`), used as kv-store map keys. */ type EntityKeyStr = string; +/** Serialized form of a fact's identity (built by {@link factKeyStrOf}), used as kv-store map keys. */ +type FactKeyStr = string; + /** An entity as returned by the store: its key and body, plus its facts in creation order. */ export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index 48393c0b7dd6..e69c82c21a7c 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -9,8 +9,7 @@ import { EntityKey, type OriginBlock } from './entity_store_keys.js'; export type Fact = { factTypeId: Fr; payload: Fr[]; originBlock: OriginBlock | undefined }; /** - * A single immutable fact about an entity. `originBlock === undefined` marks the fact non-retractable (an external - * input that survives reorgs); an origin block marks it retractable (re-derivable, deleted when its block is pruned). + * A single immutable fact about an entity. */ export class StoredFact { constructor( @@ -25,12 +24,12 @@ export class StoredFact { return this.originBlock !== undefined; } - /** Stable digest of the payload, used in the dedup fact key (keeps the LMDB key bounded for large payloads). */ + /** Stable digest of the payload, used to deduplicate. */ payloadHash(): Fr { return sha256ToField([this.payload.length, ...this.payload]); } - /** Returns the externally facing view of this fact, without the storage coordinates. */ + /** Returns the externally facing view of this fact. */ toFact(): Fact { return { factTypeId: this.factTypeId, payload: this.payload, originBlock: this.originBlock }; } @@ -74,28 +73,21 @@ export class StoredFact { } /** - * Serialized key that identifies and dedups a fact (`entityKeyStr:factTypeId:payloadHash:originBlock`). The payload - * hash (rather than the raw payload) bounds key size for large payloads. The origin block (height and hash, or `none` - * when non-retractable) is part of the identity, so the same payload derived at different blocks is a distinct fact. + * Builds the serialized key that identifies a fact in the store. */ -export type FactKeyStr = string; - -/** Builds the {@link FactKeyStr} for the given fact. */ -export function factKeyStrOf(fact: StoredFact): FactKeyStr { +export function factKeyStrOf(fact: StoredFact): string { const origin = fact.originBlock ? `${fact.originBlock.blockNumber}:${fact.originBlock.blockHash}` : 'none'; return `${fact.entityKey}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; } /** * Serializes a fact for storage, prefixed with the monotonic sequence number assigned when it was first committed. - * Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB), so reads sort by - * `seq` to return facts in creation order. */ export function serializeFact(seq: number, fact: StoredFact): Buffer { return serializeToBuffer(seq, fact); } -/** Deserializes a fact and its sequence number from storage. */ +/** Deserializes a fact. */ export function deserializeFact(buffer: Buffer): { seq: number; fact: StoredFact } { const reader = BufferReader.asReader(buffer); const seq = reader.readNumber(); From e3843bcbbc54e816ec6263b0ca4b221ab9bedb25 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:38:04 +0000 Subject: [PATCH 058/197] comment cleanup --- .../pxe/src/block_synchronizer/block_synchronizer.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index f67f31c724a4..374ad0029bab 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -317,7 +317,7 @@ describe('BlockSynchronizer', () => { entityId: survivingEntityId, }); - // A retractable entity originating on the abandoned fork: the prune must delete it wholesale, taking even its + // A retractable entity originating on the abandoned fork: the prune must delete it, taking even its // non-retractable fact with it. await entityStore.createEntity(prunedKey, [Fr.random()], orphanedOriginBlock, jobId); await entityStore.recordFact(prunedKey, nonRetractableFactType, [Fr.random()], undefined, jobId); From cd75caa7f3a738de80806735a72f60b32fbf2ff8 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 16:39:36 +0000 Subject: [PATCH 059/197] use random values instead of hand-picked ones in tests --- .../storage/entity_store/entity_store.test.ts | 359 ++++++++++-------- 1 file changed, 208 insertions(+), 151 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 55868ee9828d..3c3ce776ee70 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -7,22 +7,33 @@ import { EntityStore } from './entity_store.js'; import { EntityKey, EntityTypeKey } from './entity_store_keys.js'; describe('EntityStore', () => { - const contract = AztecAddress.fromBigInt(100n); - const scope = AztecAddress.fromBigInt(1n); - const ENTITY = new Fr(7n); - const RECEIVED = new Fr(1n); - const PROCESSED = new Fr(2n); - const corrA = new Fr(0xaan); - const corrB = new Fr(0xbbn); - const keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }); - const keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }); - const entityTypeKey = EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY }); + let contract: AztecAddress; + let scope: AztecAddress; + let ENTITY: Fr; + let RECEIVED: Fr; + let PROCESSED: Fr; + let corrA: Fr; + let corrB: Fr; + let keyA: EntityKey; + let keyB: EntityKey; + let entityTypeKey: EntityTypeKey; const JOB = 'fact-store-test-job'; let kv: AztecAsyncKVStore; let store: EntityStore; beforeEach(async () => { + contract = await AztecAddress.random(); + scope = await AztecAddress.random(); + ENTITY = Fr.random(); + RECEIVED = Fr.random(); + PROCESSED = Fr.random(); + corrA = Fr.random(); + corrB = Fr.random(); + keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }); + keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }); + entityTypeKey = EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY }); + kv = await openTmpStore('fact-store-test'); store = new EntityStore(kv); }); @@ -34,8 +45,8 @@ describe('EntityStore', () => { it('records facts and loads an entity fact set after commit', async () => { await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); const { facts } = (await store.getEntity(keyA, JOB))!; @@ -43,43 +54,46 @@ describe('EntityStore', () => { }); it('returns facts in creation order', async () => { - // Payload values chosen so that creation order differs from the dedup row key (payload hash) order. - const payloads = [9n, 3n, 7n, 1n, 8n, 2n, 6n, 4n]; + // Random payloads make the dedup row key (payload hash) order almost surely differ from creation order, so this + // asserts facts come back in creation order rather than in storage order. + const payloads = Array.from({ length: 8 }, () => Fr.random()); await store.createEntity(keyA, [], undefined, JOB); - for (const value of payloads.slice(0, 5)) { - await store.recordFact(keyA, RECEIVED, [new Fr(value)], undefined, JOB); + for (const payload of payloads.slice(0, 5)) { + await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB); } await kv.transactionAsync(() => store.commit(JOB)); // Later facts, committed by a second job, follow the earlier ones. const JOB2 = 'later-job'; - for (const value of payloads.slice(5)) { - await store.recordFact(keyA, RECEIVED, [new Fr(value)], undefined, JOB2); + for (const payload of payloads.slice(5)) { + await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB2); } await kv.transactionAsync(() => store.commit(JOB2)); const { facts } = (await store.getEntity(keyA, JOB))!; - expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads); + expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads.map(f => f.toBigInt())); }); it('staged facts follow committed facts in creation order (read-your-writes)', async () => { + const payloads = Array.from({ length: 4 }, () => Fr.random()); await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payloads[0]], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'staged-job'; - await store.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [payloads[2]], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [payloads[3]], undefined, JOB2); const { facts } = (await store.getEntity(keyA, JOB2))!; - expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); + expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads.map(f => f.toBigInt())); }); it('dedups identical (entity, factType, payload, originBlock) records idempotently', async () => { + const payload = Fr.random(); await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const { facts } = (await store.getEntity(keyA, JOB))!; @@ -87,25 +101,29 @@ describe('EntityStore', () => { }); it('re-recording an identical fact (same origin block) is a no-op keeping its creation position', async () => { + const blockFiveFact = Fr.random(); + const plainFact = Fr.random(); + const origin5 = { blockNumber: 5, blockHash: Fr.random() }; await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [blockFiveFact], origin5, JOB); + await store.recordFact(keyA, RECEIVED, [plainFact], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-recording the block-5 fact verbatim in a later job is a no-op. const JOB2 = 'rerecord-job'; - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB2); + await store.recordFact(keyA, RECEIVED, [blockFiveFact], origin5, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); const { facts } = (await store.getEntity(keyA, JOB))!; - expect(facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect(facts.map(f => f.payload[0].toBigInt())).toEqual([blockFiveFact, plainFact].map(f => f.toBigInt())); expect(facts[0].originBlock?.blockNumber).toBe(5); }); it('the same payload at a different origin block is a distinct fact', async () => { + const payload = Fr.random(); await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }, JOB); + await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); const { facts } = (await store.getEntity(keyA, JOB))!; @@ -113,9 +131,10 @@ describe('EntityStore', () => { }); it('the same payload at two origin blocks yields independent facts pruned per block', async () => { + const payload = Fr.random(); await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 10, blockHash: new Fr(2n) }, JOB); + await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Prune above block 7: the block-10 derivation is deleted, the block-5 one survives. @@ -131,8 +150,8 @@ describe('EntityStore', () => { it('enumerates active entities (created and not terminated) for a scope', async () => { await store.createEntity(keyA, [], undefined, JOB); await store.createEntity(keyB, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyB, RECEIVED, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const entities = await store.getEntities(entityTypeKey, JOB); @@ -140,19 +159,20 @@ describe('EntityStore', () => { }); it('getEntities returns each entity complete with body and facts in creation order', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB); + const entityBody = [Fr.random()]; + await store.createEntity(keyA, entityBody, undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const entities = await store.getEntities(entityTypeKey, JOB); expect(entities).toHaveLength(1); - expect(entities[0].body.map(f => f.toBigInt())).toEqual([5n]); + expect(entities[0].body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(entities[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); it('lists an entity as active even when it has zero facts', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const entities = await store.getEntities(entityTypeKey, JOB); @@ -161,22 +181,22 @@ describe('EntityStore', () => { }); it('createEntity rejects an entity already staged for creation in the same job', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await expect(store.createEntity(keyA, [new Fr(2n)], undefined, JOB)).rejects.toThrow('already existing entity'); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await expect(store.createEntity(keyA, [Fr.random()], undefined, JOB)).rejects.toThrow('already existing entity'); }); it('createEntity rejects an entity already committed to disk', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - await expect(store.createEntity(keyA, [new Fr(2n)], undefined, 'recreate-job')).rejects.toThrow( + await expect(store.createEntity(keyA, [Fr.random()], undefined, 'recreate-job')).rejects.toThrow( 'already existing entity', ); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); // Same job, before commit: the staged entity is active and its fact is visible. const { facts } = (await store.getEntity(keyA, JOB))!; @@ -189,22 +209,24 @@ describe('EntityStore', () => { }); it('getEntity returns the body and both facts of an entity with facts', async () => { - await store.createEntity(keyA, [new Fr(5n), new Fr(6n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + const entityBody = [Fr.random(), Fr.random()]; + await store.createEntity(keyA, entityBody, undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([5n, 6n]); + expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); }); it('getEntity returns the body and empty facts for an entity with zero facts', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + const entityBody = [Fr.random()]; + await store.createEntity(keyA, entityBody, undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(facts).toHaveLength(0); }); @@ -213,11 +235,12 @@ describe('EntityStore', () => { }); it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + const entityBody = [Fr.random()]; + await store.createEntity(keyA, entityBody, undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // A different job does not see the uncommitted write. @@ -225,8 +248,8 @@ describe('EntityStore', () => { }); it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A later job stages a terminate; within that job the entity reads as gone, while other jobs still see it @@ -244,7 +267,7 @@ describe('EntityStore', () => { }); it('terminateEntity rejects an entity already terminated earlier in the same job', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const TERM = 'terminate-job'; @@ -253,11 +276,11 @@ describe('EntityStore', () => { }); it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await store.createEntity(keyB, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(keyB, RECEIVED, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const TERM = 'terminate-job'; @@ -272,9 +295,9 @@ describe('EntityStore', () => { it('rollback deletes a retractable entity wholesale (body + every fact) above the target block', async () => { // Retractable entity originating at block 6, owning one fact without an origin block and one with. - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); @@ -285,48 +308,51 @@ describe('EntityStore', () => { it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { // Non-retractable entity (no origin block) with a non-retractable fact + a fact originating at block 6. - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + const entityBody = [Fr.random()]; + await store.createEntity(keyA, entityBody, undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept // Entity stays active because the entity record survives. expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('rollback above all origin blocks is a no-op', async () => { - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + const entityBody = [Fr.random()]; + await store.createEntity(keyA, entityBody, { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(10)); const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); it('replacing an entity requires an explicit terminate-then-create', async () => { - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); + const replacementBody = [Fr.random()]; + await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A plain re-create now rejects; terminate-then-create is the supported way to replace the entity. const JOB2 = 'replace-job'; await store.terminateEntity(keyA, JOB2); - await store.createEntity(keyA, [new Fr(7n)], undefined, JOB2); + await store.createEntity(keyA, replacementBody, undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); await kv.transactionAsync(() => store.rollback(5)); // Survived: the replacement entity is non-retractable. const { body } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([7n]); + expect(body.map(f => f.toBigInt())).toEqual(replacementBody.map(f => f.toBigInt())); expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); }); @@ -341,47 +367,48 @@ describe('EntityStore', () => { describe('staged op ordering', () => { it('a terminate-then-create sequence resolves to the re-created entity', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + const recreatedBody = [Fr.random()]; + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'replace-job'; await store.terminateEntity(keyA, JOB2); - await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); + await store.createEntity(keyA, recreatedBody, undefined, JOB2); // Staged view: the re-created entity, with the terminate having wiped the committed fact. const staged = (await store.getEntity(keyA, JOB2))!; - expect(staged.body.map(f => f.toBigInt())).toEqual([2n]); + expect(staged.body.map(f => f.toBigInt())).toEqual(recreatedBody.map(f => f.toBigInt())); expect(staged.facts).toHaveLength(0); const stagedEntities = await store.getEntities(entityTypeKey, JOB2); expect(stagedEntities).toHaveLength(1); - expect(stagedEntities[0].body.map(f => f.toBigInt())).toEqual([2n]); + expect(stagedEntities[0].body.map(f => f.toBigInt())).toEqual(recreatedBody.map(f => f.toBigInt())); expect(stagedEntities[0].facts).toHaveLength(0); // The committed view matches the staged view. await kv.transactionAsync(() => store.commit(JOB2)); const committed = (await store.getEntity(keyA, 'reader'))!; - expect(committed.body.map(f => f.toBigInt())).toEqual([2n]); + expect(committed.body.map(f => f.toBigInt())).toEqual(recreatedBody.map(f => f.toBigInt())); expect(committed.facts).toHaveLength(0); }); it('a terminate-then-record sequence rejects the record: the entity no longer exists', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // The staged terminate removes the entity from the job's view, so recording against it is rejected. Replaying a // re-recorded fact onto a re-created entity is covered by 'facts re-recorded after a terminate ...'. const JOB2 = 'rerecord-job'; await store.terminateEntity(keyA, JOB2); - await expect(store.recordFact(keyA, PROCESSED, [new Fr(3n)], undefined, JOB2)).rejects.toThrow( + await expect(store.recordFact(keyA, PROCESSED, [Fr.random()], undefined, JOB2)).rejects.toThrow( 'non-existent entity', ); }); it('a create-then-terminate sequence leaves the entity deleted', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); await store.terminateEntity(keyA, JOB); // Staged view: gone. @@ -397,13 +424,13 @@ describe('EntityStore', () => { }); it('recording a fact before its entity is created in the same job is rejected', async () => { - await expect(store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB)).rejects.toThrow( + await expect(store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB)).rejects.toThrow( 'non-existent entity', ); // Creating the entity first, then recording, is the supported order. - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); const staged = await store.getEntities(entityTypeKey, JOB); expect(staged).toHaveLength(1); expect(staged[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); @@ -412,20 +439,27 @@ describe('EntityStore', () => { describe('cross-job behavior', () => { it("commit persists only the given job's ops", async () => { + const payloads = [Fr.random(), Fr.random()]; await store.createEntity(keyA, [], undefined, 'setup-job'); await kv.transactionAsync(() => store.commit('setup-job')); const JOB2 = 'second-job'; - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [payloads[0]], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payloads[1]], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); // Only job 1's fact is committed; job 2 still layers its staged fact on top. - expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n]); - expect((await store.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual([ + payloads[0].toBigInt(), + ]); + expect((await store.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + payloads.map(f => f.toBigInt()), + ); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 1n]); + expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + payloads.map(f => f.toBigInt()), + ); }); it('a job that has only read still blocks rollback until it is discarded', async () => { @@ -444,20 +478,20 @@ describe('EntityStore', () => { // The write-time guard only inspects the calling job's staged ops plus committed state, so two jobs can // both stage a create for the same key without seeing each other. The second to commit must be rejected. const JOB2 = 'racing-job'; - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.createEntity(keyA, [new Fr(2n)], undefined, JOB2); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); await expect(kv.transactionAsync(() => store.commit(JOB2))).rejects.toThrow('already existing entity'); }); it('discardStaged drops staged writes without touching committed state', async () => { - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'discarded-job'; - await store.createEntity(keyB, [new Fr(2n)], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await store.createEntity(keyB, [Fr.random()], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB2); await store.discardStaged(JOB2); // The discarded writes are gone from the job's own view, and committing the job persists nothing. @@ -470,16 +504,20 @@ describe('EntityStore', () => { describe('isolation', () => { it('entities under different scopes are isolated', async () => { - const scope2 = AztecAddress.fromBigInt(2n); + const scope2 = await AztecAddress.random(); const keyScope2 = EntityKey.from({ ...keyA, scope: scope2 }); - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.createEntity(keyScope2, [new Fr(2n)], undefined, JOB); + const bodyA = [Fr.random()]; + const bodyScope2 = [Fr.random()]; + await store.createEntity(keyA, bodyA, undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(keyScope2, bodyScope2, undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Same contract, type and entity id, but each scope only sees its own entity. - expect((await store.getEntity(keyA, JOB))!.body.map(f => f.toBigInt())).toEqual([1n]); - expect((await store.getEntity(keyScope2, JOB))!.body.map(f => f.toBigInt())).toEqual([2n]); + expect((await store.getEntity(keyA, JOB))!.body.map(f => f.toBigInt())).toEqual(bodyA.map(f => f.toBigInt())); + expect((await store.getEntity(keyScope2, JOB))!.body.map(f => f.toBigInt())).toEqual( + bodyScope2.map(f => f.toBigInt()), + ); expect((await store.getEntity(keyScope2, JOB))!.facts).toHaveLength(0); expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); @@ -492,16 +530,17 @@ describe('EntityStore', () => { }); it('entities under different contracts and entity types are isolated', async () => { - const contract2 = AztecAddress.fromBigInt(200n); - const ENTITY2 = new Fr(8n); - await store.createEntity(keyA, [new Fr(1n)], undefined, JOB); - await store.createEntity(EntityKey.from({ ...keyA, contractAddress: contract2 }), [new Fr(2n)], undefined, JOB); - await store.createEntity(EntityKey.from({ ...keyA, entityTypeId: ENTITY2 }), [new Fr(3n)], undefined, JOB); + const contract2 = await AztecAddress.random(); + const ENTITY2 = Fr.random(); + const bodyInScope = [Fr.random()]; + await store.createEntity(keyA, bodyInScope, undefined, JOB); + await store.createEntity(EntityKey.from({ ...keyA, contractAddress: contract2 }), [Fr.random()], undefined, JOB); + await store.createEntity(EntityKey.from({ ...keyA, entityTypeId: ENTITY2 }), [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const inScope = await store.getEntities(entityTypeKey, JOB); expect(inScope).toHaveLength(1); - expect(inScope[0].body.map(f => f.toBigInt())).toEqual([1n]); + expect(inScope[0].body.map(f => f.toBigInt())).toEqual(bodyInScope.map(f => f.toBigInt())); expect( await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, contractAddress: contract2 }), JOB), ).toHaveLength(1); @@ -513,79 +552,97 @@ describe('EntityStore', () => { describe('creation order', () => { it('per-entity creation order is preserved when recording interleaves entities', async () => { + const aPayloads = [Fr.random(), Fr.random()]; + const bPayloads = [Fr.random(), Fr.random()]; await store.createEntity(keyA, [], undefined, JOB); await store.createEntity(keyB, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyB, RECEIVED, [new Fr(8n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); - await store.recordFact(keyB, RECEIVED, [new Fr(2n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [aPayloads[0]], undefined, JOB); + await store.recordFact(keyB, RECEIVED, [bPayloads[0]], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [aPayloads[1]], undefined, JOB); + await store.recordFact(keyB, RECEIVED, [bPayloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); - expect((await store.getEntity(keyB, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + aPayloads.map(f => f.toBigInt()), + ); + expect((await store.getEntity(keyB, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + bPayloads.map(f => f.toBigInt()), + ); // getEntities returns the same per-entity order. const entities = await store.getEntities(entityTypeKey, JOB); const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); - expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n]); - expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual([8n, 2n]); + expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual(aPayloads.map(f => f.toBigInt())); + expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual(bPayloads.map(f => f.toBigInt())); }); it('creation order is preserved after a prune removes facts from the middle', async () => { + const first = Fr.random(); + const middle = Fr.random(); + const last = Fr.random(); await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(3n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [first], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [middle], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [last], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 7n]); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + [first, last].map(f => f.toBigInt()), + ); }); it('facts re-recorded after a terminate take fresh creation positions', async () => { + const [p1, p2] = [Fr.random(), Fr.random()]; await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [p1], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [p2], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Terminate wipes the facts; re-recording them in reverse order is a new creation order. const JOB2 = 'replay-job'; await store.terminateEntity(keyA, JOB2); await store.createEntity(keyA, [], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [p2], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [p1], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual([1n, 9n]); + expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + [p2, p1].map(f => f.toBigInt()), + ); }); it('creation order continues across store reopens', async () => { + const payloads = Array.from({ length: 4 }, () => Fr.random()); await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(3n)], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payloads[0]], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [payloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A fresh EntityStore over the same kv store continues the persisted sequence instead of restarting it. const reopened = new EntityStore(kv); const JOB2 = 'reopened-job'; - await reopened.recordFact(keyA, RECEIVED, [new Fr(7n)], undefined, JOB2); - await reopened.recordFact(keyA, RECEIVED, [new Fr(1n)], undefined, JOB2); + await reopened.recordFact(keyA, RECEIVED, [payloads[2]], undefined, JOB2); + await reopened.recordFact(keyA, RECEIVED, [payloads[3]], undefined, JOB2); await kv.transactionAsync(() => reopened.commit(JOB2)); - expect((await reopened.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual([9n, 3n, 7n, 1n]); + expect((await reopened.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual( + payloads.map(f => f.toBigInt()), + ); }); }); describe('rollback boundaries and index hygiene', () => { it('records originating exactly at the target block survive a rollback', async () => { - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 5, blockHash: new Fr(1n) }, JOB); + const entityBody = [Fr.random()]; + await store.createEntity(keyA, entityBody, { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Only records strictly above the target block are pruned. await kv.transactionAsync(() => store.rollback(5)); const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual([5n]); + expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); expect(facts).toHaveLength(1); await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked @@ -596,8 +653,8 @@ describe('EntityStore', () => { it('pruning an entity clears the by-block entries of facts below the prune point', async () => { // Entity originating at block 6 owning a fact originating at block 4: pruning above 5 deletes the entity // wholesale, including the block-4 fact and its index entry. - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 4, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 4, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); @@ -609,8 +666,8 @@ describe('EntityStore', () => { }); it('rollback is idempotent', async () => { - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(1n) }, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 7, blockHash: new Fr(2n) }, JOB); + await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 7, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); @@ -622,33 +679,33 @@ describe('EntityStore', () => { describe('recordFact requires an existing entity', () => { it('rejects when the entity exists only as a staged creation on another job', async () => { const OTHER = 'other-job'; - await store.createEntity(keyA, [new Fr(5n)], undefined, OTHER); + await store.createEntity(keyA, [Fr.random()], undefined, OTHER); // keyA is staged on OTHER, neither visible to this job nor committed, so the record is rejected. - await expect(store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB)).rejects.toThrow( + await expect(store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB)).rejects.toThrow( 'non-existent entity', ); }); it('accepts a fact for an entity staged for creation earlier in the same job', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); expect((await store.getEntity(keyA, JOB))!.facts).toHaveLength(1); }); it('accepts a fact for an entity already committed to disk', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'record-job'; - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], undefined, JOB2); + await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB2); expect((await store.getEntity(keyA, JOB2))!.facts).toHaveLength(1); }); }); describe('index inconsistency handling', () => { it('getEntity fails loudly when the fact index references a missing row', async () => { - await store.createEntity(keyA, [new Fr(5n)], undefined, JOB); + await store.createEntity(keyA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.openMultiMap('facts_by_entity').set(keyA.toString(), 'bogus-fact-key'); @@ -657,11 +714,11 @@ describe('EntityStore', () => { it('rollback tolerates a dangling entity by-block index entry and still prunes real entities', async () => { // A real retractable entity above the prune point, alongside a by-block entry pointing at a missing entity. - await store.createEntity(keyA, [new Fr(5n)], { blockNumber: 8, blockHash: new Fr(1n) }, JOB); + await store.createEntity(keyA, [Fr.random()], { blockNumber: 8, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv .openMultiMap('entities_by_block') - .set(7, EntityKey.from({ ...keyA, entityId: new Fr(0xdeadn) }).toString()); + .set(7, EntityKey.from({ ...keyA, entityId: Fr.random() }).toString()); // The dangling entry is skipped rather than aborting the rollback, and the real entity is still pruned. await kv.transactionAsync(() => store.rollback(5)); @@ -670,7 +727,7 @@ describe('EntityStore', () => { it('rollback tolerates a dangling fact by-block index entry and still prunes real facts', async () => { await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [new Fr(9n)], { blockNumber: 8, blockHash: new Fr(1n) }, JOB); + await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 8, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.openMultiMap('facts_by_block').set(7, 'bogus-fact-key'); From 476272f1a2ac48f9d93c53201c58a66e3a5a0f83 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 17:05:24 +0000 Subject: [PATCH 060/197] sanitize tests --- .../storage/entity_store/entity_store.test.ts | 532 ++++++++---------- 1 file changed, 242 insertions(+), 290 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 3c3ce776ee70..48e1e1223c02 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -9,13 +9,13 @@ import { EntityKey, EntityTypeKey } from './entity_store_keys.js'; describe('EntityStore', () => { let contract: AztecAddress; let scope: AztecAddress; - let ENTITY: Fr; - let RECEIVED: Fr; - let PROCESSED: Fr; - let corrA: Fr; - let corrB: Fr; - let keyA: EntityKey; - let keyB: EntityKey; + let entityTypeId: Fr; + let factTypeA: Fr; + let factTypeB: Fr; + let entityId1: Fr; + let entityId2: Fr; + let entityKey1: EntityKey; + let entityKey2: EntityKey; let entityTypeKey: EntityTypeKey; const JOB = 'fact-store-test-job'; @@ -25,14 +25,14 @@ describe('EntityStore', () => { beforeEach(async () => { contract = await AztecAddress.random(); scope = await AztecAddress.random(); - ENTITY = Fr.random(); - RECEIVED = Fr.random(); - PROCESSED = Fr.random(); - corrA = Fr.random(); - corrB = Fr.random(); - keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrA }); - keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY, entityId: corrB }); - entityTypeKey = EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId: ENTITY }); + entityTypeId = Fr.random(); + factTypeA = Fr.random(); + factTypeB = Fr.random(); + entityId1 = Fr.random(); + entityId2 = Fr.random(); + entityKey1 = EntityKey.from({ contractAddress: contract, scope, entityTypeId: entityTypeId, entityId: entityId1 }); + entityKey2 = EntityKey.from({ contractAddress: contract, scope, entityTypeId: entityTypeId, entityId: entityId2 }); + entityTypeKey = EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId: entityTypeId }); kv = await openTmpStore('fact-store-test'); store = new EntityStore(kv); @@ -41,323 +41,323 @@ describe('EntityStore', () => { await kv.close(); }); - const entityIdsOf = (entities: { key: EntityKey }[]) => entities.map(e => e.key.entityId.toBigInt()); + const entityIdsOf = (entities: { key: EntityKey }[]) => entities.map(e => e.key.entityId); it('records facts and loads an entity fact set after commit', async () => { - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = (await store.getEntity(keyA, JOB))!; - expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); + const { facts } = (await store.getEntity(entityKey1, JOB))!; + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA, factTypeB]); }); it('returns facts in creation order', async () => { - // Random payloads make the dedup row key (payload hash) order almost surely differ from creation order, so this - // asserts facts come back in creation order rather than in storage order. const payloads = Array.from({ length: 8 }, () => Fr.random()); - await store.createEntity(keyA, [], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); for (const payload of payloads.slice(0, 5)) { - await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB); } await kv.transactionAsync(() => store.commit(JOB)); // Later facts, committed by a second job, follow the earlier ones. const JOB2 = 'later-job'; for (const payload of payloads.slice(5)) { - await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB2); } await kv.transactionAsync(() => store.commit(JOB2)); - const { facts } = (await store.getEntity(keyA, JOB))!; - expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads.map(f => f.toBigInt())); + const { facts } = (await store.getEntity(entityKey1, JOB))!; + expect(facts.map(f => f.payload[0])).toEqual(payloads); }); it('staged facts follow committed facts in creation order (read-your-writes)', async () => { const payloads = Array.from({ length: 4 }, () => Fr.random()); - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payloads[0]], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payloads[1]], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'staged-job'; - await store.recordFact(keyA, RECEIVED, [payloads[2]], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [payloads[3]], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [payloads[2]], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [payloads[3]], undefined, JOB2); - const { facts } = (await store.getEntity(keyA, JOB2))!; - expect(facts.map(f => f.payload[0].toBigInt())).toEqual(payloads.map(f => f.toBigInt())); + const { facts } = (await store.getEntity(entityKey1, JOB2))!; + expect(facts.map(f => f.payload[0])).toEqual(payloads); }); - it('dedups identical (entity, factType, payload, originBlock) records idempotently', async () => { + it('dedups identical (entity, factType, payload, originBlock) fact records idempotently', async () => { const payload = Fr.random(); - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payload], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = (await store.getEntity(keyA, JOB))!; + const { facts } = (await store.getEntity(entityKey1, JOB))!; expect(facts).toHaveLength(1); }); - it('re-recording an identical fact (same origin block) is a no-op keeping its creation position', async () => { + it('re-recording an identical fact (same origin block) is a no-op keeping its original fact position', async () => { const blockFiveFact = Fr.random(); const plainFact = Fr.random(); const origin5 = { blockNumber: 5, blockHash: Fr.random() }; - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [blockFiveFact], origin5, JOB); - await store.recordFact(keyA, RECEIVED, [plainFact], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [blockFiveFact], origin5, JOB); + await store.recordFact(entityKey1, factTypeA, [plainFact], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Re-recording the block-5 fact verbatim in a later job is a no-op. const JOB2 = 'rerecord-job'; - await store.recordFact(keyA, RECEIVED, [blockFiveFact], origin5, JOB2); + await store.recordFact(entityKey1, factTypeA, [blockFiveFact], origin5, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - const { facts } = (await store.getEntity(keyA, JOB))!; - expect(facts.map(f => f.payload[0].toBigInt())).toEqual([blockFiveFact, plainFact].map(f => f.toBigInt())); + const { facts } = (await store.getEntity(entityKey1, JOB))!; + expect(facts.map(f => f.payload[0])).toEqual([blockFiveFact, plainFact]); expect(facts[0].originBlock?.blockNumber).toBe(5); }); it('the same payload at a different origin block is a distinct fact', async () => { const payload = Fr.random(); - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = (await store.getEntity(keyA, JOB))!; + const { facts } = (await store.getEntity(entityKey1, JOB))!; expect(facts.map(f => f.originBlock?.blockNumber)).toEqual([5, 10]); }); it('the same payload at two origin blocks yields independent facts pruned per block', async () => { const payload = Fr.random(); - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Prune above block 7: the block-10 derivation is deleted, the block-5 one survives. await kv.transactionAsync(() => store.rollback(7)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.originBlock?.blockNumber)).toEqual([5]); - await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked + expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.originBlock?.blockNumber)).toEqual([5]); + await store.discardStaged(JOB); // discard job so the next rollback isn't blocked // Prune above block 4: the block-5 derivation is deleted too. await kv.transactionAsync(() => store.rollback(4)); - expect((await store.getEntity(keyA, JOB))!.facts).toHaveLength(0); + expect((await store.getEntity(entityKey1, JOB))!.facts).toHaveLength(0); }); it('enumerates active entities (created and not terminated) for a scope', async () => { - await store.createEntity(keyA, [], undefined, JOB); - await store.createEntity(keyB, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyB, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.createEntity(entityKey2, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey2, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const entities = await store.getEntities(entityTypeKey, JOB); - expect(entityIdsOf(entities).sort()).toEqual([corrA.toBigInt(), corrB.toBigInt()].sort()); + expect(entityIdsOf(entities).sort()).toEqual([entityId1, entityId2].sort()); }); it('getEntities returns each entity complete with body and facts in creation order', async () => { const entityBody = [Fr.random()]; - await store.createEntity(keyA, entityBody, undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, entityBody, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeB, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const entities = await store.getEntities(entityTypeKey, JOB); expect(entities).toHaveLength(1); - expect(entities[0].body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); - expect(entities[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); + expect(entities[0].body).toEqual(entityBody); + expect(entities[0].facts.map(f => f.factTypeId)).toEqual([factTypeA, factTypeB]); }); it('lists an entity as active even when it has zero facts', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const entities = await store.getEntities(entityTypeKey, JOB); - expect(entityIdsOf(entities)).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(entities)).toEqual([entityId1]); expect(entities[0].facts).toHaveLength(0); }); it('createEntity rejects an entity already staged for creation in the same job', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await expect(store.createEntity(keyA, [Fr.random()], undefined, JOB)).rejects.toThrow('already existing entity'); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await expect(store.createEntity(entityKey1, [Fr.random()], undefined, JOB)).rejects.toThrow( + 'already existing entity', + ); }); it('createEntity rejects an entity already committed to disk', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - await expect(store.createEntity(keyA, [Fr.random()], undefined, 'recreate-job')).rejects.toThrow( + await expect(store.createEntity(entityKey1, [Fr.random()], undefined, 'recreate-job')).rejects.toThrow( 'already existing entity', ); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); // Same job, before commit: the staged entity is active and its fact is visible. - const { facts } = (await store.getEntity(keyA, JOB))!; - expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); + const { facts } = (await store.getEntity(entityKey1, JOB))!; + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); // A different job does not see the uncommitted write. - expect(await store.getEntity(keyA, 'other-job')).toBeUndefined(); + expect(await store.getEntity(entityKey1, 'other-job')).toBeUndefined(); expect(await store.getEntities(entityTypeKey, 'other-job')).toHaveLength(0); }); it('getEntity returns the body and both facts of an entity with facts', async () => { const entityBody = [Fr.random(), Fr.random()]; - await store.createEntity(keyA, entityBody, undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, entityBody, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); - expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt(), PROCESSED.toBigInt()]); + const { body, facts } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(entityBody); + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA, factTypeB]); }); it('getEntity returns the body and empty facts for an entity with zero facts', async () => { const entityBody = [Fr.random()]; - await store.createEntity(keyA, entityBody, undefined, JOB); + await store.createEntity(entityKey1, entityBody, undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); + const { body, facts } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(entityBody); expect(facts).toHaveLength(0); }); it('getEntity returns undefined when no entity record exists', async () => { - expect(await store.getEntity(keyA, JOB)).toBeUndefined(); + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); }); it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { const entityBody = [Fr.random()]; - await store.createEntity(keyA, entityBody, undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, entityBody, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); - expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); + const { body, facts } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(entityBody); + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); // A different job does not see the uncommitted write. - expect(await store.getEntity(keyA, 'other-job')).toBeUndefined(); + expect(await store.getEntity(entityKey1, 'other-job')).toBeUndefined(); }); it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A later job stages a terminate; within that job the entity reads as gone, while other jobs still see it // committed until the terminate commits. const TERM = 'terminate-job'; - await store.terminateEntity(keyA, TERM); + await store.terminateEntity(entityKey1, TERM); - expect(await store.getEntity(keyA, TERM)).toBeUndefined(); + expect(await store.getEntity(entityKey1, TERM)).toBeUndefined(); expect(await store.getEntities(entityTypeKey, TERM)).toHaveLength(0); - expect((await store.getEntity(keyA, 'reader'))!.facts).toHaveLength(1); + expect((await store.getEntity(entityKey1, 'reader'))!.facts).toHaveLength(1); }); it('terminateEntity rejects a non-existent entity', async () => { - await expect(store.terminateEntity(keyA, JOB)).rejects.toThrow('non-existent entity'); + await expect(store.terminateEntity(entityKey1, JOB)).rejects.toThrow('non-existent entity'); }); it('terminateEntity rejects an entity already terminated earlier in the same job', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const TERM = 'terminate-job'; - await store.terminateEntity(keyA, TERM); - await expect(store.terminateEntity(keyA, TERM)).rejects.toThrow('non-existent entity'); + await store.terminateEntity(entityKey1, TERM); + await expect(store.terminateEntity(entityKey1, TERM)).rejects.toThrow('non-existent entity'); }); it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.createEntity(keyB, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(keyB, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey2, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey2, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const TERM = 'terminate-job'; - await store.terminateEntity(keyA, TERM); + await store.terminateEntity(entityKey1, TERM); await kv.transactionAsync(() => store.commit(TERM)); - expect(await store.getEntity(keyA, JOB)).toBeUndefined(); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrB.toBigInt()]); + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId2]); // The neighbouring entity is untouched. - expect((await store.getEntity(keyB, JOB))!.facts).toHaveLength(1); + expect((await store.getEntity(entityKey2, JOB))!.facts).toHaveLength(1); }); - it('rollback deletes a retractable entity wholesale (body + every fact) above the target block', async () => { + it('rollback deletes a retractable entity completely (body + every fact) above the target block', async () => { // Retractable entity originating at block 6, owning one fact without an origin block and one with. - await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect(await store.getEntity(keyA, JOB)).toBeUndefined(); + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); }); it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { // Non-retractable entity (no origin block) with a non-retractable fact + a fact originating at block 6. const entityBody = [Fr.random()]; - await store.createEntity(keyA, entityBody, undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, entityBody, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); - expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); // Processed pruned, Received kept + const { body, facts } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(entityBody); + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); // Entity stays active because the entity record survives. - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); }); it('rollback above all origin blocks is a no-op', async () => { const entityBody = [Fr.random()]; - await store.createEntity(keyA, entityBody, { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, PROCESSED, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, entityBody, { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(10)); - const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); - expect(facts.map(f => f.factTypeId.toBigInt())).toEqual([PROCESSED.toBigInt()]); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); + const { body, facts } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(entityBody); + expect(facts.map(f => f.factTypeId)).toEqual([factTypeB]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); }); it('replacing an entity requires an explicit terminate-then-create', async () => { const replacementBody = [Fr.random()]; - await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A plain re-create now rejects; terminate-then-create is the supported way to replace the entity. const JOB2 = 'replace-job'; - await store.terminateEntity(keyA, JOB2); - await store.createEntity(keyA, replacementBody, undefined, JOB2); + await store.terminateEntity(entityKey1, JOB2); + await store.createEntity(entityKey1, replacementBody, undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); await kv.transactionAsync(() => store.rollback(5)); // Survived: the replacement entity is non-retractable. - const { body } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(replacementBody.map(f => f.toBigInt())); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([corrA.toBigInt()]); + const { body } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(replacementBody); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); }); it('rollback throws while a job has staged writes', async () => { - await store.createEntity(keyA, [], undefined, 'uncommitted-job'); + await store.createEntity(entityKey1, [], undefined, 'uncommitted-job'); await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( 'PXE entity store rollback is not allowed while jobs are running', ); @@ -368,104 +368,97 @@ describe('EntityStore', () => { describe('staged op ordering', () => { it('a terminate-then-create sequence resolves to the re-created entity', async () => { const recreatedBody = [Fr.random()]; - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'replace-job'; - await store.terminateEntity(keyA, JOB2); - await store.createEntity(keyA, recreatedBody, undefined, JOB2); + await store.terminateEntity(entityKey1, JOB2); + await store.createEntity(entityKey1, recreatedBody, undefined, JOB2); // Staged view: the re-created entity, with the terminate having wiped the committed fact. - const staged = (await store.getEntity(keyA, JOB2))!; - expect(staged.body.map(f => f.toBigInt())).toEqual(recreatedBody.map(f => f.toBigInt())); + const staged = (await store.getEntity(entityKey1, JOB2))!; + expect(staged.body).toEqual(recreatedBody); expect(staged.facts).toHaveLength(0); const stagedEntities = await store.getEntities(entityTypeKey, JOB2); expect(stagedEntities).toHaveLength(1); - expect(stagedEntities[0].body.map(f => f.toBigInt())).toEqual(recreatedBody.map(f => f.toBigInt())); + expect(stagedEntities[0].body).toEqual(recreatedBody); expect(stagedEntities[0].facts).toHaveLength(0); // The committed view matches the staged view. await kv.transactionAsync(() => store.commit(JOB2)); - const committed = (await store.getEntity(keyA, 'reader'))!; - expect(committed.body.map(f => f.toBigInt())).toEqual(recreatedBody.map(f => f.toBigInt())); + const committed = (await store.getEntity(entityKey1, 'reader'))!; + expect(committed.body).toEqual(recreatedBody); expect(committed.facts).toHaveLength(0); }); it('a terminate-then-record sequence rejects the record: the entity no longer exists', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // The staged terminate removes the entity from the job's view, so recording against it is rejected. Replaying a // re-recorded fact onto a re-created entity is covered by 'facts re-recorded after a terminate ...'. const JOB2 = 'rerecord-job'; - await store.terminateEntity(keyA, JOB2); - await expect(store.recordFact(keyA, PROCESSED, [Fr.random()], undefined, JOB2)).rejects.toThrow( + await store.terminateEntity(entityKey1, JOB2); + await expect(store.recordFact(entityKey1, factTypeB, [Fr.random()], undefined, JOB2)).rejects.toThrow( 'non-existent entity', ); }); it('a create-then-terminate sequence leaves the entity deleted', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - await store.terminateEntity(keyA, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.terminateEntity(entityKey1, JOB); // Staged view: gone. - expect(await store.getEntity(keyA, JOB)).toBeUndefined(); + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); // Committed view: gone too, and no index residue blocks a later rollback. await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getEntity(keyA, 'reader')).toBeUndefined(); + expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); - await store.discardStaged('reader'); // reads pin the job; release it so the rollback isn't blocked + await store.discardStaged('reader'); // discard job so the rollback isn't blocked await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); it('recording a fact before its entity is created in the same job is rejected', async () => { - await expect(store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB)).rejects.toThrow( + await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( 'non-existent entity', ); - // Creating the entity first, then recording, is the supported order. - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); const staged = await store.getEntities(entityTypeKey, JOB); expect(staged).toHaveLength(1); - expect(staged[0].facts.map(f => f.factTypeId.toBigInt())).toEqual([RECEIVED.toBigInt()]); + expect(staged[0].facts.map(f => f.factTypeId)).toEqual([factTypeA]); }); }); describe('cross-job behavior', () => { it("commit persists only the given job's ops", async () => { const payloads = [Fr.random(), Fr.random()]; - await store.createEntity(keyA, [], undefined, 'setup-job'); + await store.createEntity(entityKey1, [], undefined, 'setup-job'); await kv.transactionAsync(() => store.commit('setup-job')); const JOB2 = 'second-job'; - await store.recordFact(keyA, RECEIVED, [payloads[0]], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payloads[1]], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payloads[1]], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); // Only job 1's fact is committed; job 2 still layers its staged fact on top. - expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual([ - payloads[0].toBigInt(), - ]); - expect((await store.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - payloads.map(f => f.toBigInt()), - ); + expect((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0])).toEqual([payloads[0]]); + expect((await store.getEntity(entityKey1, JOB2))!.facts.map(f => f.payload[0])).toEqual(payloads); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, 'reader'))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - payloads.map(f => f.toBigInt()), - ); + expect((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0])).toEqual(payloads); }); it('a job that has only read still blocks rollback until it is discarded', async () => { - await store.getEntity(keyA, 'reader-job'); + await store.getEntity(entityKey1, 'reader-job'); await store.getEntities(entityTypeKey, 'reader-job'); - // Reads pin the job as in flight, so a rollback is refused until the job releases it. + // A rollback is refused until the job finishes. await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( 'PXE entity store rollback is not allowed while jobs are running', ); @@ -478,52 +471,50 @@ describe('EntityStore', () => { // The write-time guard only inspects the calling job's staged ops plus committed state, so two jobs can // both stage a create for the same key without seeing each other. The second to commit must be rejected. const JOB2 = 'racing-job'; - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.createEntity(keyA, [Fr.random()], undefined, JOB2); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); await expect(kv.transactionAsync(() => store.commit(JOB2))).rejects.toThrow('already existing entity'); }); it('discardStaged drops staged writes without touching committed state', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'discarded-job'; - await store.createEntity(keyB, [Fr.random()], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB2); + await store.createEntity(entityKey2, [Fr.random()], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2); await store.discardStaged(JOB2); // The discarded writes are gone from the job's own view, and committing the job persists nothing. - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB2))).toEqual([corrA.toBigInt()]); + expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB2))).toEqual([entityId1]); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, 'reader'))!.facts).toHaveLength(0); - expect(await store.getEntity(keyB, 'reader')).toBeUndefined(); + expect((await store.getEntity(entityKey1, 'reader'))!.facts).toHaveLength(0); + expect(await store.getEntity(entityKey2, 'reader')).toBeUndefined(); }); }); describe('isolation', () => { it('entities under different scopes are isolated', async () => { const scope2 = await AztecAddress.random(); - const keyScope2 = EntityKey.from({ ...keyA, scope: scope2 }); + const keyScope2 = EntityKey.from({ ...entityKey1, scope: scope2 }); const bodyA = [Fr.random()]; const bodyScope2 = [Fr.random()]; - await store.createEntity(keyA, bodyA, undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, bodyA, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); await store.createEntity(keyScope2, bodyScope2, undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Same contract, type and entity id, but each scope only sees its own entity. - expect((await store.getEntity(keyA, JOB))!.body.map(f => f.toBigInt())).toEqual(bodyA.map(f => f.toBigInt())); - expect((await store.getEntity(keyScope2, JOB))!.body.map(f => f.toBigInt())).toEqual( - bodyScope2.map(f => f.toBigInt()), - ); + expect((await store.getEntity(entityKey1, JOB))!.body).toEqual(bodyA); + expect((await store.getEntity(keyScope2, JOB))!.body).toEqual(bodyScope2); expect((await store.getEntity(keyScope2, JOB))!.facts).toHaveLength(0); expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); // Terminating in one scope leaves the other untouched. const TERM = 'terminate-job'; - await store.terminateEntity(keyA, TERM); + await store.terminateEntity(entityKey1, TERM); await kv.transactionAsync(() => store.commit(TERM)); expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); @@ -533,14 +524,19 @@ describe('EntityStore', () => { const contract2 = await AztecAddress.random(); const ENTITY2 = Fr.random(); const bodyInScope = [Fr.random()]; - await store.createEntity(keyA, bodyInScope, undefined, JOB); - await store.createEntity(EntityKey.from({ ...keyA, contractAddress: contract2 }), [Fr.random()], undefined, JOB); - await store.createEntity(EntityKey.from({ ...keyA, entityTypeId: ENTITY2 }), [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, bodyInScope, undefined, JOB); + await store.createEntity( + EntityKey.from({ ...entityKey1, contractAddress: contract2 }), + [Fr.random()], + undefined, + JOB, + ); + await store.createEntity(EntityKey.from({ ...entityKey1, entityTypeId: ENTITY2 }), [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const inScope = await store.getEntities(entityTypeKey, JOB); expect(inScope).toHaveLength(1); - expect(inScope[0].body.map(f => f.toBigInt())).toEqual(bodyInScope.map(f => f.toBigInt())); + expect(inScope[0].body).toEqual(bodyInScope); expect( await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, contractAddress: contract2 }), JOB), ).toHaveLength(1); @@ -554,120 +550,110 @@ describe('EntityStore', () => { it('per-entity creation order is preserved when recording interleaves entities', async () => { const aPayloads = [Fr.random(), Fr.random()]; const bPayloads = [Fr.random(), Fr.random()]; - await store.createEntity(keyA, [], undefined, JOB); - await store.createEntity(keyB, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [aPayloads[0]], undefined, JOB); - await store.recordFact(keyB, RECEIVED, [bPayloads[0]], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [aPayloads[1]], undefined, JOB); - await store.recordFact(keyB, RECEIVED, [bPayloads[1]], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.createEntity(entityKey2, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [aPayloads[0]], undefined, JOB); + await store.recordFact(entityKey2, factTypeA, [bPayloads[0]], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [aPayloads[1]], undefined, JOB); + await store.recordFact(entityKey2, factTypeA, [bPayloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - aPayloads.map(f => f.toBigInt()), - ); - expect((await store.getEntity(keyB, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - bPayloads.map(f => f.toBigInt()), - ); - // getEntities returns the same per-entity order. + expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0])).toEqual(aPayloads); + expect((await store.getEntity(entityKey2, JOB))!.facts.map(f => f.payload[0])).toEqual(bPayloads); + // getEntities returns the same per-entity order. byId keys on bigint, not Fr: object keys compare by reference. const entities = await store.getEntities(entityTypeKey, JOB); const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); - expect(byId.get(corrA.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual(aPayloads.map(f => f.toBigInt())); - expect(byId.get(corrB.toBigInt())!.map(f => f.payload[0].toBigInt())).toEqual(bPayloads.map(f => f.toBigInt())); + expect(byId.get(entityId1.toBigInt())!.map(f => f.payload[0])).toEqual(aPayloads); + expect(byId.get(entityId2.toBigInt())!.map(f => f.payload[0])).toEqual(bPayloads); }); it('creation order is preserved after a prune removes facts from the middle', async () => { const first = Fr.random(); const middle = Fr.random(); const last = Fr.random(); - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [first], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [middle], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [last], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [first], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [middle], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [last], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - [first, last].map(f => f.toBigInt()), - ); + expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0])).toEqual([first, last]); }); it('facts re-recorded after a terminate take fresh creation positions', async () => { const [p1, p2] = [Fr.random(), Fr.random()]; - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [p1], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [p2], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [p1], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [p2], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Terminate wipes the facts; re-recording them in reverse order is a new creation order. const JOB2 = 'replay-job'; - await store.terminateEntity(keyA, JOB2); - await store.createEntity(keyA, [], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [p2], undefined, JOB2); - await store.recordFact(keyA, RECEIVED, [p1], undefined, JOB2); + await store.terminateEntity(entityKey1, JOB2); + await store.createEntity(entityKey1, [], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [p2], undefined, JOB2); + await store.recordFact(entityKey1, factTypeA, [p1], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(keyA, JOB))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - [p2, p1].map(f => f.toBigInt()), - ); + expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0])).toEqual([p2, p1]); }); it('creation order continues across store reopens', async () => { const payloads = Array.from({ length: 4 }, () => Fr.random()); - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payloads[0]], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [payloads[1]], undefined, JOB); + await store.createEntity(entityKey1, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [payloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); // A fresh EntityStore over the same kv store continues the persisted sequence instead of restarting it. const reopened = new EntityStore(kv); const JOB2 = 'reopened-job'; - await reopened.recordFact(keyA, RECEIVED, [payloads[2]], undefined, JOB2); - await reopened.recordFact(keyA, RECEIVED, [payloads[3]], undefined, JOB2); + await reopened.recordFact(entityKey1, factTypeA, [payloads[2]], undefined, JOB2); + await reopened.recordFact(entityKey1, factTypeA, [payloads[3]], undefined, JOB2); await kv.transactionAsync(() => reopened.commit(JOB2)); - expect((await reopened.getEntity(keyA, JOB2))!.facts.map(f => f.payload[0].toBigInt())).toEqual( - payloads.map(f => f.toBigInt()), - ); + expect((await reopened.getEntity(entityKey1, JOB2))!.facts.map(f => f.payload[0])).toEqual(payloads); }); }); describe('rollback boundaries and index hygiene', () => { it('records originating exactly at the target block survive a rollback', async () => { const entityBody = [Fr.random()]; - await store.createEntity(keyA, entityBody, { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, entityBody, { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); // Only records strictly above the target block are pruned. await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = (await store.getEntity(keyA, JOB))!; - expect(body.map(f => f.toBigInt())).toEqual(entityBody.map(f => f.toBigInt())); + const { body, facts } = (await store.getEntity(entityKey1, JOB))!; + expect(body).toEqual(entityBody); expect(facts).toHaveLength(1); - await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked + await store.discardStaged(JOB); // discard job so the next rollback isn't blocked await kv.transactionAsync(() => store.rollback(4)); - expect(await store.getEntity(keyA, JOB)).toBeUndefined(); + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); }); it('pruning an entity clears the by-block entries of facts below the prune point', async () => { // Entity originating at block 6 owning a fact originating at block 4: pruning above 5 deletes the entity // wholesale, including the block-4 fact and its index entry. - await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 4, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], { blockNumber: 4, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect(await store.getEntity(keyA, JOB)).toBeUndefined(); - await store.discardStaged(JOB); // reads pin the job; release it so the next rollback isn't blocked + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); + await store.discardStaged(JOB); // discard the job so the next rollback isn't blocked // A dangling block-4 fact index entry would make this second prune throw "Fact not found". await expect(kv.transactionAsync(() => store.rollback(3))).resolves.not.toThrow(); }); it('rollback is idempotent', async () => { - await store.createEntity(keyA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 7, blockHash: Fr.random() }, JOB); + await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], { blockNumber: 7, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); @@ -679,61 +665,27 @@ describe('EntityStore', () => { describe('recordFact requires an existing entity', () => { it('rejects when the entity exists only as a staged creation on another job', async () => { const OTHER = 'other-job'; - await store.createEntity(keyA, [Fr.random()], undefined, OTHER); + await store.createEntity(entityKey1, [Fr.random()], undefined, OTHER); // keyA is staged on OTHER, neither visible to this job nor committed, so the record is rejected. - await expect(store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB)).rejects.toThrow( + await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( 'non-existent entity', ); }); it('accepts a fact for an entity staged for creation earlier in the same job', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB); - expect((await store.getEntity(keyA, JOB))!.facts).toHaveLength(1); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); + expect((await store.getEntity(entityKey1, JOB))!.facts).toHaveLength(1); }); it('accepts a fact for an entity already committed to disk', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'record-job'; - await store.recordFact(keyA, RECEIVED, [Fr.random()], undefined, JOB2); - expect((await store.getEntity(keyA, JOB2))!.facts).toHaveLength(1); - }); - }); - - describe('index inconsistency handling', () => { - it('getEntity fails loudly when the fact index references a missing row', async () => { - await store.createEntity(keyA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.openMultiMap('facts_by_entity').set(keyA.toString(), 'bogus-fact-key'); - await expect(store.getEntity(keyA, JOB)).rejects.toThrow('Fact not found for factKey bogus-fact-key'); - }); - - it('rollback tolerates a dangling entity by-block index entry and still prunes real entities', async () => { - // A real retractable entity above the prune point, alongside a by-block entry pointing at a missing entity. - await store.createEntity(keyA, [Fr.random()], { blockNumber: 8, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - await kv - .openMultiMap('entities_by_block') - .set(7, EntityKey.from({ ...keyA, entityId: Fr.random() }).toString()); - - // The dangling entry is skipped rather than aborting the rollback, and the real entity is still pruned. - await kv.transactionAsync(() => store.rollback(5)); - expect(await store.getEntity(keyA, 'reader')).toBeUndefined(); - }); - - it('rollback tolerates a dangling fact by-block index entry and still prunes real facts', async () => { - await store.createEntity(keyA, [], undefined, JOB); - await store.recordFact(keyA, RECEIVED, [Fr.random()], { blockNumber: 8, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - await kv.openMultiMap('facts_by_block').set(7, 'bogus-fact-key'); - - // The dangling entry is skipped rather than aborting the rollback, and the real fact is still pruned. - await kv.transactionAsync(() => store.rollback(5)); - expect((await store.getEntity(keyA, 'reader'))!.facts).toHaveLength(0); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2); + expect((await store.getEntity(entityKey1, JOB2))!.facts).toHaveLength(1); }); }); }); From 9a2db88f6454facd2683f421e55fdf52e30488f4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 15 Jun 2026 17:29:39 +0000 Subject: [PATCH 061/197] fix ci --- .../src/block_synchronizer/block_synchronizer.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 374ad0029bab..520356ad2045 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -352,7 +352,14 @@ describe('BlockSynchronizer', () => { await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', block: block5, - checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), + checkpointed: { + block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), + checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), + }, + proven: { + block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), + checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), + }, }); // The retractable entity is gone wholesale; the non-retractable one keeps only its non-retractable fact. From bbf40f885d14e36b42184145b60909904a4da0d3 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 16 Jun 2026 13:13:14 +0000 Subject: [PATCH 062/197] refactor message context service -> tx resolver service --- .../aztec/src/messages/processing/offchain.nr | 23 +-- .../aztec/src/oracle/message_processing.nr | 16 +-- .../aztec-nr/aztec/src/oracle/mod.nr | 1 + noir-projects/aztec-nr/aztec/src/oracle/tx.nr | 121 ++++++++++++++++ .../contract_function_simulator.ts | 12 +- .../src/contract_function_simulator/index.ts | 3 +- .../noir-structs/resolved_tx.test.ts | 131 ++++++++++++++++++ .../noir-structs/resolved_tx.ts | 85 ++++++++++++ .../oracle/oracle_registry.ts | 10 ++ .../oracle/oracle_type_mappings.ts | 5 + .../oracle/oracle_version_is_checked.test.ts | 10 +- .../oracle/private_execution.test.ts | 10 +- .../oracle/private_execution_oracle.test.ts | 4 +- .../oracle/private_execution_oracle.ts | 2 +- .../oracle/utility_execution.test.ts | 20 +-- .../oracle/utility_execution_oracle.ts | 43 ++++-- ...ce.test.ts => tx_resolver_service.test.ts} | 58 +++++--- ...text_service.ts => tx_resolver_service.ts} | 25 ++-- yarn-project/pxe/src/pxe.ts | 10 +- .../oracle/txe_oracle_top_level_context.ts | 4 +- yarn-project/txe/src/rpc_translator.ts | 9 ++ yarn-project/txe/src/state_machine/index.ts | 8 +- yarn-project/txe/src/txe_session.ts | 6 +- 23 files changed, 509 insertions(+), 107 deletions(-) create mode 100644 noir-projects/aztec-nr/aztec/src/oracle/tx.nr create mode 100644 yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts create mode 100644 yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts rename yarn-project/pxe/src/messages/{message_context_service.test.ts => tx_resolver_service.test.ts} (74%) rename yarn-project/pxe/src/messages/{message_context_service.ts => tx_resolver_service.ts} (72%) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr index 059425fdaddc..97bf746932e3 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr @@ -2,7 +2,7 @@ use crate::{ capsules::CapsuleArray, context::UtilityContext, ephemeral::EphemeralArray, - messages::{encoding::MESSAGE_CIPHERTEXT_LEN, processing::OffchainMessageWithContext}, + messages::{encoding::MESSAGE_CIPHERTEXT_LEN, processing::{MessageContext, OffchainMessageWithContext}}, oracle::contract_sync::set_contract_sync_cache_invalid, protocol::{ address::AztecAddress, @@ -154,12 +154,10 @@ pub unconstrained fn sync_inbox( i += 1; } - // Ask PXE to resolve contexts for all requested tx hashes. The oracle returns responses in a new - // ephemeral array. - let resolved_contexts = - crate::oracle::message_processing::get_message_contexts_by_tx_hash(context_resolution_requests); + // Ask PXE to resolve all requested tx hashes. The oracle returns responses in a new ephemeral array. + let resolved_txs = crate::oracle::tx::get_resolved_txs(context_resolution_requests); - assert_eq(resolved_contexts.len(), inbox_len); + assert_eq(resolved_txs.len(), inbox_len); let now = UtilityContext::new().timestamp(); @@ -185,10 +183,10 @@ pub unconstrained fn sync_inbox( // from the inbox. // // Note: the loop runs backwards because it might call `inbox.remove(j)` to purge expired messages and we also - // need to align it with `resolved_contexts.get(j)`. Going from last to first simplifies the algorithm as + // need to align it with `resolved_txs.get(j)`. Going from last to first simplifies the algorithm as // not yet visited element indexes remain stable. j -= 1; - let maybe_ctx = resolved_contexts.get(j); + let maybe_resolved = resolved_txs.get(j); let msg = inbox.get(j); // Compute the message's effective expiration timestamp to determine if we can purge it from the inbox. @@ -202,7 +200,7 @@ pub unconstrained fn sync_inbox( // Scenario 1: associated TX not yet available. We keep the message in the inbox, as it might become // processable as new blocks get mined. // Scenario 2: no TX associated to message. The message will sit in the inbox until it expires. - if maybe_ctx.is_none() { + if maybe_resolved.is_none() { continue; } @@ -210,7 +208,12 @@ pub unconstrained fn sync_inbox( // consider it has expired: this is because we need to account for reorgs. If reorg occurs after we processed // a message, the effects of processing the message get rewind. However, the associated TX can be included in // a subsequent block. Should that happen, the message must be re-processed to ensure consistency. - let message_context = maybe_ctx.unwrap(); + let resolved = maybe_resolved.unwrap(); + let message_context = MessageContext { + tx_hash: resolved.tx_hash, + unique_note_hashes_in_tx: resolved.unique_note_hashes_in_tx, + first_nullifier_in_tx: resolved.first_nullifier_in_tx, + }; ready_to_process.push(OffchainMessageWithContext { message_ciphertext: msg.ciphertext, message_context }); } diff --git a/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr b/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr index 7a28b1f75793..b01d435afbd7 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr @@ -1,8 +1,8 @@ use crate::ephemeral::EphemeralArray; use crate::messages::processing::{ event_validation_request::EventValidationRequest, log_retrieval_request::LogRetrievalRequest, - log_retrieval_response::LogRetrievalResponse, MessageContext, NoteValidationRequest, - pending_tagged_log::PendingTaggedLog, provided_secret::ProvidedSecret, + log_retrieval_response::LogRetrievalResponse, NoteValidationRequest, pending_tagged_log::PendingTaggedLog, + provided_secret::ProvidedSecret, }; use crate::protocol::address::AztecAddress; use crate::protocol::blob_data::TxEffect; @@ -59,18 +59,6 @@ unconstrained fn get_logs_by_tag_oracle( requests: EphemeralArray, ) -> EphemeralArray> {} -/// Resolves message contexts for tx hashes in an ephemeral request array and returns a response ephemeral array. -pub(crate) unconstrained fn get_message_contexts_by_tx_hash( - requests: EphemeralArray, -) -> EphemeralArray> { - get_message_contexts_by_tx_hash_oracle(requests) -} - -#[oracle(aztec_utl_getMessageContextsByTxHash)] -unconstrained fn get_message_contexts_by_tx_hash_oracle( - requests: EphemeralArray, -) -> EphemeralArray> {} - /// Fetches all effects of a settled transaction by its hash. pub unconstrained fn get_tx_effect(tx_hash: Field) -> Option { get_tx_effect_oracle(tx_hash) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 6d677346a72f..2375b0a88764 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -11,6 +11,7 @@ pub(crate) mod ephemeral_oracles; pub(crate) mod transient_oracles; pub mod contract_sync; pub mod public_call; +pub mod tx; pub mod tx_phase; pub mod execution; pub mod execution_cache; diff --git a/noir-projects/aztec-nr/aztec/src/oracle/tx.nr b/noir-projects/aztec-nr/aztec/src/oracle/tx.nr new file mode 100644 index 000000000000..b069da2be740 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/oracle/tx.nr @@ -0,0 +1,121 @@ +use crate::ephemeral::EphemeralArray; +use crate::protocol::{constants::MAX_NOTE_HASHES_PER_TX, traits::{Deserialize, Serialize}}; + +/// The resolved on-chain context of a transaction. +#[derive(Serialize, Deserialize, Eq)] +pub struct ResolvedTx { + pub tx_hash: Field, + pub unique_note_hashes_in_tx: BoundedVec, + pub first_nullifier_in_tx: Field, + pub block_number: u32, + pub block_hash: Field, +} + +/// Resolves the on-chain context of each tx hash. +pub(crate) unconstrained fn get_resolved_txs(requests: EphemeralArray) -> EphemeralArray> { + get_resolved_txs_oracle(requests) +} + +#[oracle(aztec_utl_getResolvedTxs)] +unconstrained fn get_resolved_txs_oracle(requests: EphemeralArray) -> EphemeralArray> {} + +mod test { + use crate::oracle::tx::ResolvedTx; + use crate::protocol::traits::Deserialize; + + #[test] + unconstrained fn resolved_tx_serialization_matches_typescript() { + // Setup test data + let tx_hash = 123; + let unique_note_hashes = BoundedVec::from_array([4, 5]); + let first_nullifier = 6; + let block_number: u32 = 7; + let block_hash = 8; + + // Create a ResolvedTx instance + let resolved_tx = ResolvedTx { + tx_hash, + unique_note_hashes_in_tx: unique_note_hashes, + first_nullifier_in_tx: first_nullifier, + block_number, + block_hash, + }; + + // Expected output generated from TypeScript's `ResolvedTx.toFields()` + let serialized_resolved_tx_from_typescript = [ + 0x000000000000000000000000000000000000000000000000000000000000007b, + 0x0000000000000000000000000000000000000000000000000000000000000004, + 0x0000000000000000000000000000000000000000000000000000000000000005, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000000, + 0x0000000000000000000000000000000000000000000000000000000000000002, + 0x0000000000000000000000000000000000000000000000000000000000000006, + 0x0000000000000000000000000000000000000000000000000000000000000007, + 0x0000000000000000000000000000000000000000000000000000000000000008, + ]; + + let deserialized = ResolvedTx::deserialize(serialized_resolved_tx_from_typescript); + + assert_eq(deserialized, resolved_tx); + } +} diff --git a/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts b/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts index cc66eb135e6f..9656525ae4a2 100644 --- a/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts +++ b/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts @@ -92,7 +92,7 @@ import { import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import type { ExecutionHooks } from '../hooks/index.js'; -import type { MessageContextService } from '../messages/message_context_service.js'; +import type { TxResolverService } from '../messages/tx_resolver_service.js'; import type { AddressStore } from '../storage/address_store/address_store.js'; import { CapsuleService } from '../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../storage/capsule_store/capsule_store.js'; @@ -145,7 +145,7 @@ export type ContractFunctionSimulatorArgs = { privateEventStore: PrivateEventStore; simulator: CircuitSimulator; contractSyncService: ContractSyncService; - messageContextService: MessageContextService; + txResolver: TxResolverService; hooks?: ExecutionHooks; }; @@ -167,7 +167,7 @@ export class ContractFunctionSimulator { private readonly privateEventStore: PrivateEventStore; private readonly simulator: CircuitSimulator; private readonly contractSyncService: ContractSyncService; - private readonly messageContextService: MessageContextService; + private readonly txResolver: TxResolverService; private readonly hooks: ExecutionHooks | undefined; constructor(args: ContractFunctionSimulatorArgs) { @@ -184,7 +184,7 @@ export class ContractFunctionSimulator { this.privateEventStore = args.privateEventStore; this.simulator = args.simulator; this.contractSyncService = args.contractSyncService; - this.messageContextService = args.messageContextService; + this.txResolver = args.txResolver; this.hooks = args.hooks; this.log = createLogger('simulator'); } @@ -261,7 +261,7 @@ export class ContractFunctionSimulator { senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), privateEventStore: this.privateEventStore, - messageContextService: this.messageContextService, + txResolver: this.txResolver, contractSyncService: this.contractSyncService, jobId, totalPublicCalldataCount: 0, @@ -362,7 +362,7 @@ export class ContractFunctionSimulator { senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), privateEventStore: this.privateEventStore, - messageContextService: this.messageContextService, + txResolver: this.txResolver, contractSyncService: this.contractSyncService, l2TipsStore: this.l2TipsStore, jobId, diff --git a/yarn-project/pxe/src/contract_function_simulator/index.ts b/yarn-project/pxe/src/contract_function_simulator/index.ts index 0e4bea0a9899..39bdef9da00d 100644 --- a/yarn-project/pxe/src/contract_function_simulator/index.ts +++ b/yarn-project/pxe/src/contract_function_simulator/index.ts @@ -44,7 +44,7 @@ export { pickNotes } from './pick_notes.js'; export type { IMiscOracle, IUtilityExecutionOracle, IPrivateExecutionOracle } from './oracle/interfaces.js'; export type { NoteData } from './noir-structs/note_data.js'; export { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js'; -export { MessageContextService } from '../messages/message_context_service.js'; +export { TxResolverService } from '../messages/tx_resolver_service.js'; export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js'; export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js'; export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js'; @@ -60,4 +60,5 @@ export { LogRetrievalRequest } from './noir-structs/log_retrieval_request.js'; export { LogRetrievalResponse } from './noir-structs/log_retrieval_response.js'; export { NoteValidationRequest } from './noir-structs/note_validation_request.js'; export { ProvidedSecret } from './noir-structs/provided_secret.js'; +export { ResolvedTx } from './noir-structs/resolved_tx.js'; export { TransientArrayService } from './transient_array_service.js'; diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts new file mode 100644 index 000000000000..657d58204953 --- /dev/null +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts @@ -0,0 +1,131 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { updateInlineTestData } from '@aztec/foundation/testing/files'; +import { TxHash } from '@aztec/stdlib/tx'; + +import { ResolvedTx } from './resolved_tx.js'; + +describe('ResolvedTx', () => { + it('serialization matches snapshots and output of Noir serialization', () => { + // Setup test data + const txHash = new TxHash(new Fr(123n)); + const uniqueNoteHashes = [new Fr(4n), new Fr(5n)]; + const firstNullifier = new Fr(6n); + const blockNumber = 7; + const blockHash = new Fr(8n); + + // Create a ResolvedTx instance + const resolvedTx = new ResolvedTx(txHash, uniqueNoteHashes, firstNullifier, blockNumber, blockHash); + + // Serialize the resolved tx + const serialized = resolvedTx.toFields(); + + // Compare with snapshot + expect(serialized.map(f => f.toString())).toMatchInlineSnapshot(` + [ + "0x000000000000000000000000000000000000000000000000000000000000007b", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008", + ] + `); + + // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data + const fieldArrayStr = `[${serialized.map(f => f.toString()).join(',')}]`; + updateInlineTestData( + 'noir-projects/aztec-nr/aztec/src/oracle/tx.nr', + 'serialized_resolved_tx_from_typescript', + fieldArrayStr, + ); + }); + + it('serialization of some option matches snapshot', () => { + const txHash = new TxHash(new Fr(123)); + const uniqueNoteHashes = [new Fr(4n), new Fr(5n)]; + const firstNullifier = new Fr(6n); + const resolved = new ResolvedTx(txHash, uniqueNoteHashes, firstNullifier, 7, new Fr(8n)); + const serialized = ResolvedTx.toSerializedOption(resolved); + // is_some flag + fields + expect(serialized[0]).toEqual(new Fr(1)); + expect(serialized.length).toEqual(1 + resolved.toFields().length); + }); + + it('serialization of none option matches snapshot', () => { + const serialized = ResolvedTx.toSerializedOption(null); + expect(serialized[0]).toEqual(new Fr(0)); + // All fields should be zero + for (const f of serialized) { + expect(f).toEqual(Fr.zero()); + } + }); + + it('serialization length of empty matches some', () => { + const txHash = new TxHash(new Fr(123)); + const resolved = new ResolvedTx(txHash, [new Fr(4n), new Fr(5n)], new Fr(6n), 7, new Fr(8n)); + expect(resolved.toFields().length).toEqual(ResolvedTx.toEmptyFields().length); + }); +}); diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts new file mode 100644 index 000000000000..d0c3ccdae85f --- /dev/null +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts @@ -0,0 +1,85 @@ +import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants'; +import { range } from '@aztec/foundation/array'; +import { Fr } from '@aztec/foundation/curves/bn254'; +import { TxHash } from '@aztec/stdlib/tx'; + +/** + * The resolved on-chain context of a transaction. + * + * Carries the note hashes and first nullifier needed to discover notes that originated from the transaction, plus the + * number and hash of the block in which it was mined. + * + * A TS version of the `ResolvedTx` struct in `oracle/tx.nr`. + */ +export class ResolvedTx { + constructor( + public txHash: TxHash, + public uniqueNoteHashesInTx: Fr[], + public firstNullifierInTx: Fr, + public blockNumber: number, + public blockHash: Fr, + ) {} + + toFields(): Fr[] { + return [ + this.txHash.hash, + ...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX), + this.firstNullifierInTx, + new Fr(this.blockNumber), + this.blockHash, + ]; + } + + toNoirStruct() { + /* eslint-disable camelcase */ + return { + tx_hash: this.txHash.hash, + unique_note_hashes_in_tx: this.uniqueNoteHashesInTx, + first_nullifier_in_tx: this.firstNullifierInTx, + block_number: this.blockNumber, + block_hash: this.blockHash, + }; + /* eslint-enable camelcase */ + } + + static empty(): ResolvedTx { + return new ResolvedTx(TxHash.zero(), [], Fr.ZERO, 0, Fr.ZERO); + } + + static toEmptyFields(): Fr[] { + const serializationLen = + 1 /* txHash */ + + MAX_NOTE_HASHES_PER_TX + + 1 /* uniqueNoteHashesInTx BVec */ + + 1 /* firstNullifierInTx */ + + 1 /* blockNumber */ + + 1; /* blockHash */ + return range(serializationLen).map(_ => Fr.zero()); + } + + static toSerializedOption(resolved: ResolvedTx | null): Fr[] { + if (resolved) { + return [new Fr(1), ...resolved.toFields()]; + } else { + return [new Fr(0), ...ResolvedTx.toEmptyFields()]; + } + } +} + +/** + * Helper function to serialize a bounded vector according to Noir's BoundedVec format + * @param values - The values to serialize + * @param maxLength - The maximum length of the bounded vector + * @returns The serialized bounded vector as Fr[] + * @dev Copied over from message_context.ts. + */ +function serializeBoundedVec(values: Fr[], maxLength: number): Fr[] { + if (values.length > maxLength) { + throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`); + } + + const lengthDiff = maxLength - values.length; + const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO); + const storage = values.concat(zeroPaddingArray); + return [...storage, new Fr(values.length)]; +} diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts index e35ada6facfb..23001a546d32 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts @@ -41,6 +41,7 @@ import { PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, + RESOLVED_TX, STR, TX_EFFECT, TX_HASH, @@ -73,6 +74,7 @@ export { PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, + RESOLVED_TX, STR, U32, type InputSlot, @@ -103,6 +105,7 @@ type OracleRegistryName = | 'aztec_utl_getPendingTaggedLogs' | 'aztec_utl_validateAndStoreEnqueuedNotesAndEvents' | 'aztec_utl_getLogsByTag' + | 'aztec_utl_getResolvedTxs' | 'aztec_utl_getMessageContextsByTxHash' | 'aztec_utl_getTxEffect' | 'aztec_utl_setCapsule' @@ -299,6 +302,13 @@ export const ORACLE_REGISTRY: OracleRegistry = { returnType: EPHEMERAL_ARRAY(EPHEMERAL_ARRAY(LOG_RETRIEVAL_RESPONSE)), }), + aztec_utl_getResolvedTxs: makeEntry({ + params: [{ name: 'requests', type: EPHEMERAL_ARRAY(FIELD) }], + returnType: EPHEMERAL_ARRAY(OPTION(RESOLVED_TX)), + }), + + // Backwards-compatibility shim for contract artifacts that predate `get_resolved_txs` (see the matching handler in + // utility_execution_oracle.ts). Remove once those artifacts are recompiled. aztec_utl_getMessageContextsByTxHash: makeEntry({ params: [{ name: 'requests', type: EPHEMERAL_ARRAY(FIELD) }], returnType: EPHEMERAL_ARRAY(OPTION(MESSAGE_CONTEXT)), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 9704cdd94497..8a9b400c2f77 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -46,6 +46,7 @@ import type { NoteData } from '../noir-structs/note_data.js'; import { NoteValidationRequest } from '../noir-structs/note_validation_request.js'; import { Option } from '../noir-structs/option.js'; import { ProvidedSecret } from '../noir-structs/provided_secret.js'; +import { ResolvedTx } from '../noir-structs/resolved_tx.js'; import { UtilityContext } from '../noir-structs/utility_context.js'; import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js'; import { packAsHintedNote } from './note_packing_utils.js'; @@ -374,6 +375,10 @@ export const MESSAGE_CONTEXT: TypeMapping = { serialization: { fn: mc => [mc.toFields()] }, }; +export const RESOLVED_TX: TypeMapping = { + serialization: { fn: resolved => [resolved.toFields()] }, +}; + export const PROVIDED_SECRET: TypeMapping = { deserialization: { fn: ([reader]) => ProvidedSecret.fromFields(reader), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts index c2f27d0c0e75..4cf6db5eb036 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts @@ -15,7 +15,7 @@ import { jest } from '@jest/globals'; import { mock } from 'jest-mock-extended'; import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js'; -import type { MessageContextService } from '../../messages/message_context_service.js'; +import type { TxResolverService } from '../../messages/tx_resolver_service.js'; import { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; @@ -45,7 +45,7 @@ describe('Oracle Version Check test suite', () => { let capsuleStore: ReturnType>; let privateEventStore: ReturnType>; let contractSyncService: ReturnType>; - let messageContextService: ReturnType>; + let txResolver: ReturnType>; let l2TipsStore: ReturnType>; let acirSimulator: ContractFunctionSimulator; let contractAddress: AztecAddress; @@ -66,7 +66,7 @@ describe('Oracle Version Check test suite', () => { capsuleStore = mock(); privateEventStore = mock(); contractSyncService = mock(); - messageContextService = mock(); + txResolver = mock(); l2TipsStore = mock(); assertCompatibleOracleVersionSpy = jest.spyOn(UtilityExecutionOracle.prototype, 'assertCompatibleOracleVersion'); assertCompatibleOracleVersionSpy.mockClear(); @@ -112,7 +112,7 @@ describe('Oracle Version Check test suite', () => { privateEventStore, simulator, contractSyncService, - messageContextService, + txResolver, }); }); @@ -213,7 +213,7 @@ describe('Oracle Version Check test suite', () => { senderAddressBookStore, capsuleService: new CapsuleService(capsuleStore, []), privateEventStore, - messageContextService, + txResolver, contractSyncService, jobId: 'test', scopes: [], diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts index 81595560fe6c..10b5febb69c1 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts @@ -54,7 +54,7 @@ import { toFunctionSelector } from 'viem'; import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js'; import { syncScope } from '../../contract_sync/helpers.js'; -import type { MessageContextService } from '../../messages/message_context_service.js'; +import type { TxResolverService } from '../../messages/tx_resolver_service.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; @@ -112,7 +112,7 @@ describe('Private Execution test suite', () => { let capsuleStore: MockProxy; let privateEventStore: MockProxy; let contractSyncService: MockProxy; - let messageContextService: MockProxy; + let txResolver: MockProxy; let l2TipsStore: MockProxy; let acirSimulator: ContractFunctionSimulator; let anchorBlockHeader = BlockHeader.empty(); @@ -292,8 +292,8 @@ describe('Private Execution test suite', () => { privateEventStore = mock(); senderAddressBookStore = mock(); contractSyncService = mock(); - messageContextService = mock(); - messageContextService.getMessageContextsByTxHash.mockResolvedValue([]); + txResolver = mock(); + txResolver.resolveTxs.mockResolvedValue([]); // Configure mock to actually perform sync_state calls (needed for nested call tests) contractSyncService.ensureContractSynced.mockImplementation( async (contractAddress, functionToInvokeAfterSync, utilityExecutor, _anchorBlockHeader, _jobId, scopes) => { @@ -462,7 +462,7 @@ describe('Private Execution test suite', () => { privateEventStore, simulator, contractSyncService, - messageContextService, + txResolver, }); }); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts index b5705dad2af8..ee4371cb26e1 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts @@ -13,7 +13,7 @@ import { type BlockHeader, CallContext, type Capsule, TxContext } from '@aztec/s import { mock } from 'jest-mock-extended'; import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js'; -import type { MessageContextService } from '../../messages/message_context_service.js'; +import type { TxResolverService } from '../../messages/tx_resolver_service.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; @@ -91,7 +91,7 @@ describe('PrivateExecutionOracle', () => { senderAddressBookStore: mock(), capsuleService: new CapsuleService(mock(), []), privateEventStore: mock(), - messageContextService: mock(), + txResolver: mock(), contractSyncService: mock(), l2TipsStore: mock(), jobId: 'test', diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts index a304231ae711..3b77aeb77188 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts @@ -566,7 +566,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP senderAddressBookStore: this.senderAddressBookStore, capsuleService: this.capsuleService, privateEventStore: this.privateEventStore, - messageContextService: this.messageContextService, + txResolver: this.txResolver, contractSyncService: this.contractSyncService, jobId: this.jobId, totalPublicCalldataCount: this.totalPublicCalldataCount, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index 0da9e4c736d4..a0f7be31cd03 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -33,7 +33,7 @@ import { mock } from 'jest-mock-extended'; import type { _MockProxy } from 'jest-mock-extended/lib/Mock.js'; import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js'; -import { MessageContextService } from '../../messages/message_context_service.js'; +import { TxResolverService } from '../../messages/tx_resolver_service.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; @@ -66,7 +66,7 @@ describe('Utility Execution test suite', () => { let privateEventStore: ReturnType>; let contractSyncService: ReturnType>; let l2TipsStore: ReturnType>; - let messageContextService: MessageContextService; + let txResolver: TxResolverService; let acirSimulator: ContractFunctionSimulator; let owner: AztecAddress; let ownerCompleteAddress: CompleteAddress; @@ -90,7 +90,7 @@ describe('Utility Execution test suite', () => { privateEventStore = mock(); contractSyncService = mock(); l2TipsStore = mock(); - messageContextService = new MessageContextService(aztecNode); + txResolver = new TxResolverService(aztecNode); const capsuleArrays = new Map(); anchorBlockHeader = BlockHeader.random(); senderTaggingStore.getLastFinalizedIndex.mockResolvedValue(undefined); @@ -123,7 +123,7 @@ describe('Utility Execution test suite', () => { privateEventStore, simulator, contractSyncService, - messageContextService, + txResolver, }); const ownerPartialAddress = Fr.random(); @@ -435,7 +435,9 @@ describe('Utility Execution test suite', () => { }); }); - describe('getMessageContextsByTxHash', () => { + // The `getMessageContextsByTxHash` oracle is a backwards-compatibility shim for contract artifacts that predate + // `get_resolved_txs`; it derives the lean `MessageContext` (without block fields) from the resolved tx. + describe('getMessageContextsByTxHash (compat shim)', () => { const service = new EphemeralArrayService(); it('sets null in response for zero tx hashes', async () => { @@ -451,6 +453,8 @@ describe('Utility Execution test suite', () => { const txHash = TxHash.random(); const noteHash = Fr.random(); const firstNullifier = Fr.random(); + const blockHash = BlockHash.random(); + const blockNumber = syncedBlockNumber - 1; aztecNode.getTxReceipt.mockResolvedValueOnce( new MinedTxReceipt( @@ -458,8 +462,8 @@ describe('Utility Execution test suite', () => { TxStatus.PROPOSED, TxExecutionResult.SUCCESS, 0n, - BlockHash.random(), - BlockNumber(syncedBlockNumber - 1), + blockHash, + BlockNumber(blockNumber), SlotNumber(0), 0, EpochNumber(1), @@ -607,7 +611,7 @@ describe('Utility Execution test suite', () => { senderAddressBookStore, capsuleService: new CapsuleService(capsuleStore, scopes), privateEventStore, - messageContextService, + txResolver, contractSyncService, jobId: 'test-job-id', scopes, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index b959ff8f0723..08c509970dec 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -49,7 +49,7 @@ import { EventService } from '../../events/event_service.js'; import type { UtilityCallAuthorizationRequest } from '../../hooks/authorize_utility_call.js'; import type { ExecutionHooks } from '../../hooks/index.js'; import { LogService } from '../../logs/log_service.js'; -import { MessageContextService } from '../../messages/message_context_service.js'; +import { TxResolverService } from '../../messages/tx_resolver_service.js'; import { NoteService } from '../../notes/note_service.js'; import { ORACLE_VERSION_MAJOR } from '../../oracle_version.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; @@ -69,6 +69,7 @@ import type { NoteData } from '../noir-structs/note_data.js'; import type { NoteValidationRequest } from '../noir-structs/note_validation_request.js'; import { Option } from '../noir-structs/option.js'; import type { ProvidedSecret } from '../noir-structs/provided_secret.js'; +import { ResolvedTx } from '../noir-structs/resolved_tx.js'; import { UtilityContext } from '../noir-structs/utility_context.js'; import { pickNotes } from '../pick_notes.js'; import type { TransientArrayService } from '../transient_array_service.js'; @@ -92,7 +93,7 @@ export type UtilityExecutionOracleArgs = { senderAddressBookStore: SenderAddressBookStore; capsuleService: CapsuleService; privateEventStore: PrivateEventStore; - messageContextService: MessageContextService; + txResolver: TxResolverService; contractSyncService: ContractSyncService; l2TipsStore: L2TipsProvider; jobId: string; @@ -134,7 +135,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra protected readonly senderAddressBookStore: SenderAddressBookStore; protected readonly capsuleService: CapsuleService; protected readonly privateEventStore: PrivateEventStore; - protected readonly messageContextService: MessageContextService; + protected readonly txResolver: TxResolverService; protected readonly contractSyncService: ContractSyncService; protected readonly l2TipsStore: L2TipsProvider; protected readonly jobId: string; @@ -158,7 +159,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra this.senderAddressBookStore = args.senderAddressBookStore; this.capsuleService = args.capsuleService; this.privateEventStore = args.privateEventStore; - this.messageContextService = args.messageContextService; + this.txResolver = args.txResolver; this.contractSyncService = args.contractSyncService; this.l2TipsStore = args.l2TipsStore; this.jobId = args.jobId; @@ -638,19 +639,37 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra return EphemeralArray.fromValues(this.ephemeralArrayService, innerArrays); } - /** Reads tx hash requests from an ephemeral array, resolves their contexts, and returns the response array. */ + /** Given an array of tx hashes, returns an aligned array of tx info if the tx is available. */ + public async getResolvedTxs(requests: EphemeralArray): Promise>> { + const txHashes = requests.readAll(this.ephemeralArrayService); + + const resolved = await this.txResolver.resolveTxs(txHashes, this.anchorBlockHeader.getBlockNumber()); + + const options = resolved.map(r => (r ? Option.some(r) : Option.none(ResolvedTx.empty()))); + return EphemeralArray.fromValues(this.ephemeralArrayService, options); + } + + /** + * Backwards-compatibility shim for the to-be-deprecated `aztec_utl_getMessageContextsByTxHash` oracle. + * + * Contract artifacts pinned or compiled against an aztec-nr version that predates `get_resolved_txs` still call this + * oracle and expect an `Option` (without block fields), so we derive the message context from the + * resolved tx. + * + * TODO: remove once all such artifacts (pinned standard contracts, committed account artifacts) have been recompiled + * against an aztec-nr version that uses `get_resolved_txs`. + */ public async getMessageContextsByTxHash( requests: EphemeralArray, ): Promise>> { const txHashes = requests.readAll(this.ephemeralArrayService); - const maybeMessageContexts = await this.messageContextService.getMessageContextsByTxHash( - txHashes, - this.anchorBlockHeader.getBlockNumber(), - ); + const resolved = await this.txResolver.resolveTxs(txHashes, this.anchorBlockHeader.getBlockNumber()); - const options = maybeMessageContexts.map(mc => - mc ? Option.some(mc) : Option.none(MessageContext.empty()), + const options = resolved.map(r => + r + ? Option.some(new MessageContext(r.txHash, r.uniqueNoteHashesInTx, r.firstNullifierInTx)) + : Option.none(MessageContext.empty()), ); return EphemeralArray.fromValues(this.ephemeralArrayService, options); } @@ -909,7 +928,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra senderAddressBookStore: this.senderAddressBookStore, capsuleService: this.capsuleService, privateEventStore: this.privateEventStore, - messageContextService: this.messageContextService, + txResolver: this.txResolver, contractSyncService: this.contractSyncService, l2TipsStore: this.l2TipsStore, jobId: this.jobId, diff --git a/yarn-project/pxe/src/messages/message_context_service.test.ts b/yarn-project/pxe/src/messages/tx_resolver_service.test.ts similarity index 74% rename from yarn-project/pxe/src/messages/message_context_service.test.ts rename to yarn-project/pxe/src/messages/tx_resolver_service.test.ts index 36e95e60bf34..26d7fdbf9020 100644 --- a/yarn-project/pxe/src/messages/message_context_service.test.ts +++ b/yarn-project/pxe/src/messages/tx_resolver_service.test.ts @@ -2,16 +2,16 @@ import { BlockNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded- import { Fr } from '@aztec/foundation/curves/bn254'; import { BlockHash } from '@aztec/stdlib/block'; import type { AztecNode } from '@aztec/stdlib/interfaces/server'; -import { MessageContext } from '@aztec/stdlib/logs'; import { DroppedTxReceipt, MinedTxReceipt, TxEffect, TxExecutionResult, TxHash, TxStatus } from '@aztec/stdlib/tx'; import { mock } from 'jest-mock-extended'; -import { MessageContextService } from './message_context_service.js'; +import { ResolvedTx } from '../contract_function_simulator/noir-structs/resolved_tx.js'; +import { TxResolverService } from './tx_resolver_service.js'; -describe('MessageContextService', () => { +describe('TxResolverService', () => { let aztecNode: ReturnType>; - let service: MessageContextService; + let service: TxResolverService; const anchorBlockNumber = 100; /** @@ -48,11 +48,11 @@ describe('MessageContextService', () => { beforeEach(() => { aztecNode = mock(); - service = new MessageContextService(aztecNode); + service = new TxResolverService(aztecNode); }); it('returns null for zero tx hash', async () => { - const results = await service.getMessageContextsByTxHash([Fr.ZERO], anchorBlockNumber); + const results = await service.resolveTxs([Fr.ZERO], anchorBlockNumber); expect(results).toEqual([null]); expect(aztecNode.getTxReceipt).not.toHaveBeenCalled(); @@ -62,7 +62,7 @@ describe('MessageContextService', () => { const txHash = TxHash.random(); aztecNode.getTxReceipt.mockResolvedValueOnce(new DroppedTxReceipt(txHash)); - const results = await service.getMessageContextsByTxHash([txHash.hash], anchorBlockNumber); + const results = await service.resolveTxs([txHash.hash], anchorBlockNumber); expect(results).toEqual([null]); }); @@ -78,7 +78,7 @@ describe('MessageContextService', () => { }), ); - const results = await service.getMessageContextsByTxHash([txHash.hash], anchorBlockNumber); + const results = await service.resolveTxs([txHash.hash], anchorBlockNumber); expect(results).toEqual([null]); }); @@ -94,34 +94,38 @@ describe('MessageContextService', () => { }), ); - await expect(service.getMessageContextsByTxHash([txHash.hash], anchorBlockNumber)).rejects.toThrow( + await expect(service.resolveTxs([txHash.hash], anchorBlockNumber)).rejects.toThrow( `Tx effect for ${txHash} has no nullifiers`, ); }); - it('resolves a valid tx hash into a MessageContext', async () => { + it('resolves a valid tx hash into a ResolvedTx', async () => { const txHash = TxHash.random(); const noteHashes = [Fr.random(), Fr.random()]; const firstNullifier = Fr.random(); + const blockHash = BlockHash.random(); + const blockNumber = anchorBlockNumber - 1; aztecNode.getTxReceipt.mockResolvedValueOnce( await minedReceipt({ txHash, noteHashes, nullifiers: [firstNullifier, Fr.random()], - blockNumber: anchorBlockNumber - 1, + blockNumber, + blockHash, }), ); - const results = await service.getMessageContextsByTxHash([txHash.hash], anchorBlockNumber); + const results = await service.resolveTxs([txHash.hash], anchorBlockNumber); - expect(results).toEqual([new MessageContext(txHash, noteHashes, firstNullifier)]); + expect(results).toEqual([new ResolvedTx(txHash, noteHashes, firstNullifier, blockNumber, blockHash.toFr())]); }); it('resolves tx hashes in different situations', async () => { const validTxHash = TxHash.random(); const validNoteHashes = [Fr.random()]; const validNullifier = Fr.random(); + const validBlockHash = BlockHash.random(); const notFoundTxHash = TxHash.random(); const futureTxHash = TxHash.random(); @@ -131,6 +135,7 @@ describe('MessageContextService', () => { noteHashes: validNoteHashes, nullifiers: [validNullifier], blockNumber: anchorBlockNumber, + blockHash: validBlockHash, }); const futureReceipt = await minedReceipt({ txHash: futureTxHash, @@ -149,17 +154,22 @@ describe('MessageContextService', () => { return Promise.resolve(new DroppedTxReceipt(hash)); // notFoundTxHash }); - const results = await service.getMessageContextsByTxHash( + const results = await service.resolveTxs( [ Fr.ZERO, // zero → null - validTxHash.hash, // valid → MessageContext + validTxHash.hash, // valid → ResolvedTx notFoundTxHash.hash, // not found → null futureTxHash.hash, // beyond anchor → null ], anchorBlockNumber, ); - expect(results).toEqual([null, new MessageContext(validTxHash, validNoteHashes, validNullifier), null, null]); + expect(results).toEqual([ + null, + new ResolvedTx(validTxHash, validNoteHashes, validNullifier, anchorBlockNumber, validBlockHash.toFr()), + null, + null, + ]); // Zero hash should not trigger getTxReceipt expect(aztecNode.getTxReceipt).toHaveBeenCalledTimes(3); @@ -169,6 +179,8 @@ describe('MessageContextService', () => { const txEffect = TxEffect.from({ ...(await TxEffect.random({ numNoteHashes: 1, numNullifiers: 1 })), }); + const blockHash = BlockHash.random(); + const blockNumber = anchorBlockNumber - 1; aztecNode.getTxReceipt.mockResolvedValue( new MinedTxReceipt( @@ -176,8 +188,8 @@ describe('MessageContextService', () => { TxStatus.PROPOSED, TxExecutionResult.SUCCESS, 0n, - BlockHash.random(), - BlockNumber(anchorBlockNumber - 1), + blockHash, + BlockNumber(blockNumber), SlotNumber(anchorBlockNumber - 1), 0, EpochNumber(1), @@ -185,12 +197,18 @@ describe('MessageContextService', () => { ), ); - const results = await service.getMessageContextsByTxHash( + const results = await service.resolveTxs( [txEffect.txHash.hash, txEffect.txHash.hash, txEffect.txHash.hash], anchorBlockNumber, ); - const expected = new MessageContext(txEffect.txHash, txEffect.noteHashes, txEffect.nullifiers[0]); + const expected = new ResolvedTx( + txEffect.txHash, + txEffect.noteHashes, + txEffect.nullifiers[0], + blockNumber, + blockHash.toFr(), + ); expect(results).toEqual([expected, expected, expected]); expect(aztecNode.getTxReceipt).toHaveBeenCalledTimes(1); }); diff --git a/yarn-project/pxe/src/messages/message_context_service.ts b/yarn-project/pxe/src/messages/tx_resolver_service.ts similarity index 72% rename from yarn-project/pxe/src/messages/message_context_service.ts rename to yarn-project/pxe/src/messages/tx_resolver_service.ts index 4768ee3fcf0d..bb733ddff4ff 100644 --- a/yarn-project/pxe/src/messages/message_context_service.ts +++ b/yarn-project/pxe/src/messages/tx_resolver_service.ts @@ -1,21 +1,22 @@ import { uniqueBy } from '@aztec/foundation/collection'; import { Fr } from '@aztec/foundation/curves/bn254'; import type { AztecNode } from '@aztec/stdlib/interfaces/server'; -import { MessageContext } from '@aztec/stdlib/logs'; import { type IndexedTxEffect, TxHash } from '@aztec/stdlib/tx'; -/** Resolves transaction hashes into the context needed to process messages. */ -export class MessageContextService { +import { ResolvedTx } from '../contract_function_simulator/noir-structs/resolved_tx.js'; + +/** Resolves transaction hashes into their on-chain context (note hashes, first nullifier, and mined block). */ +export class TxResolverService { constructor(private readonly aztecNode: AztecNode) {} /** - * Resolves a list of tx hashes into their message contexts. + * Resolves a list of tx hashes into their on-chain context. * - * For each tx hash, looks up the corresponding tx effect and extracts the note hashes and first nullifier needed to - * process messages that originated from that transaction. Returns `null` for tx hashes that are zero, not yet - * available, or in blocks beyond the anchor block. + * For each tx hash, looks up the corresponding tx effect and extracts the note hashes, first nullifier, and the + * number and hash of the block it was mined in. Returns `null` for tx hashes that are zero, not yet available, or in + * blocks beyond the anchor block. */ - async getMessageContextsByTxHash(txHashes: Fr[], anchorBlockNumber: number): Promise<(MessageContext | null)[]> { + async resolveTxs(txHashes: Fr[], anchorBlockNumber: number): Promise<(ResolvedTx | null)[]> { const nonZeroTxHashes = txHashes.filter(h => !h.isZero()).map(h => TxHash.fromField(h)); const uniqueTxHashes = uniqueBy(nonZeroTxHashes, h => h.toString()); const fetched = await Promise.all( @@ -56,7 +57,13 @@ export class MessageContextService { throw new Error(`Tx effect for ${txHash} has no nullifiers`); } - return new MessageContext(data.txHash, data.noteHashes, data.nullifiers[0]); + return new ResolvedTx( + data.txHash, + data.noteHashes, + data.nullifiers[0], + txEffect.l2BlockNumber, + txEffect.l2BlockHash.toFr(), + ); }); } } diff --git a/yarn-project/pxe/src/pxe.ts b/yarn-project/pxe/src/pxe.ts index 66d3950e7cc6..477f4e82819e 100644 --- a/yarn-project/pxe/src/pxe.ts +++ b/yarn-project/pxe/src/pxe.ts @@ -68,7 +68,7 @@ import { enrichPublicSimulationError, enrichSimulationError } from './error_enri import { PrivateEventFilterValidator } from './events/private_event_filter_validator.js'; import type { ExecutionHooks } from './hooks/index.js'; import { JobCoordinator } from './job_coordinator/job_coordinator.js'; -import { MessageContextService } from './messages/message_context_service.js'; +import { TxResolverService } from './messages/tx_resolver_service.js'; import { PrivateKernelExecutionProver, type PrivateKernelExecutionProverConfig, @@ -202,7 +202,7 @@ export class PXE { private addressStore: AddressStore, private privateEventStore: PrivateEventStore, private contractSyncService: ContractSyncService, - private messageContextService: MessageContextService, + private txResolver: TxResolverService, private l2TipsStore: L2TipsProvider, private simulator: CircuitSimulator, private proverEnabled: boolean, @@ -275,7 +275,7 @@ export class PXE { noteStore, createLogger('pxe:contract_sync', bindings), ); - const messageContextService = new MessageContextService(node); + const txResolver = new TxResolverService(node); const synchronizer = new BlockSynchronizer( node, @@ -320,7 +320,7 @@ export class PXE { addressStore, privateEventStore, contractSyncService, - messageContextService, + txResolver, l2TipsStore, simulator, proverEnabled, @@ -367,7 +367,7 @@ export class PXE { privateEventStore: this.privateEventStore, simulator: this.simulator, contractSyncService: this.contractSyncService, - messageContextService: this.messageContextService, + txResolver: this.txResolver, hooks: this.hooks, }); } diff --git a/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts b/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts index 8ecdf2eaffc9..97e47e90aaf1 100644 --- a/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts +++ b/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts @@ -467,7 +467,7 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl // contract would perform, including setting senderForTags. senderForTags: from, simulator, - messageContextService: this.stateMachine.messageContextService, + txResolver: this.stateMachine.txResolver, l2TipsStore: this.stateMachine.l2TipsProvider, hooks: composeHooks({ authorizeUtilityCall: this.buildAuthorizeUtilityCallHook( @@ -843,7 +843,7 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), privateEventStore: this.privateEventStore, - messageContextService: this.stateMachine.messageContextService, + txResolver: this.stateMachine.txResolver, contractSyncService: this.stateMachine.contractSyncService, l2TipsStore: this.stateMachine.l2TipsProvider, jobId, diff --git a/yarn-project/txe/src/rpc_translator.ts b/yarn-project/txe/src/rpc_translator.ts index d783117e06bf..acc02cfbea3d 100644 --- a/yarn-project/txe/src/rpc_translator.ts +++ b/yarn-project/txe/src/rpc_translator.ts @@ -584,6 +584,15 @@ export class RPCTranslator { }); } + // eslint-disable-next-line camelcase + aztec_utl_getResolvedTxs(...inputs: ForeignCallArgs) { + return callTxeHandler({ + oracle: 'aztec_utl_getResolvedTxs', + inputs, + handler: ([requestArrayBaseSlot]) => this.handlerAsUtility().getResolvedTxs(requestArrayBaseSlot), + }); + } + // eslint-disable-next-line camelcase aztec_utl_getMessageContextsByTxHash(...inputs: ForeignCallArgs) { return callTxeHandler({ diff --git a/yarn-project/txe/src/state_machine/index.ts b/yarn-project/txe/src/state_machine/index.ts index 7d3bd75e23c0..d631d1e5e985 100644 --- a/yarn-project/txe/src/state_machine/index.ts +++ b/yarn-project/txe/src/state_machine/index.ts @@ -4,7 +4,7 @@ import { CheckpointNumber } from '@aztec/foundation/branded-types'; import { Fr } from '@aztec/foundation/curves/bn254'; import { createLogger } from '@aztec/foundation/log'; import { type AnchorBlockStore, type ContractStore, ContractSyncService, type NoteStore } from '@aztec/pxe/server'; -import { MessageContextService } from '@aztec/pxe/simulator'; +import { TxResolverService } from '@aztec/pxe/simulator'; import { L2Block, type L2TipsProvider } from '@aztec/stdlib/block'; import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint'; import type { AztecNode } from '@aztec/stdlib/interfaces/client'; @@ -29,7 +29,7 @@ export class TXEStateMachine { public archiver: TXEArchiver, public anchorBlockStore: AnchorBlockStore, public contractSyncService: ContractSyncService, - public messageContextService: MessageContextService, + public txResolver: TxResolverService, ) {} public static async create( @@ -74,9 +74,9 @@ export class TXEStateMachine { createLogger('txe:contract_sync'), ); - const messageContextService = new MessageContextService(node); + const txResolver = new TxResolverService(node); - return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService, messageContextService); + return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService, txResolver); } /** Returns an {@link L2TipsProvider} backed by this node's chain tips. */ diff --git a/yarn-project/txe/src/txe_session.ts b/yarn-project/txe/src/txe_session.ts index 00eff064e091..3771244f2d8b 100644 --- a/yarn-project/txe/src/txe_session.ts +++ b/yarn-project/txe/src/txe_session.ts @@ -726,7 +726,7 @@ export class TXESession implements TXESessionStateHandler { l2TipsStore: this.stateMachine.l2TipsProvider, jobId: this.currentJobId, scopes: await this.keyStore.getAccounts(), - messageContextService: this.stateMachine.messageContextService, + txResolver: this.stateMachine.txResolver, simulator: new WASMSimulator(), transientArrayService, }); @@ -809,7 +809,7 @@ export class TXESession implements TXESessionStateHandler { senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()), privateEventStore: this.privateEventStore, - messageContextService: this.stateMachine.messageContextService, + txResolver: this.stateMachine.txResolver, contractSyncService: this.stateMachine.contractSyncService, l2TipsStore: this.stateMachine.l2TipsProvider, jobId: this.currentJobId, @@ -911,7 +911,7 @@ export class TXESession implements TXESessionStateHandler { senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), privateEventStore: this.privateEventStore, - messageContextService: this.stateMachine.messageContextService, + txResolver: this.stateMachine.txResolver, contractSyncService: this.stateMachine.contractSyncService, l2TipsStore: this.stateMachine.l2TipsProvider, jobId: this.currentJobId, From 373e512259edee9ed5c63a5889e63a4f4d4cd856 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 16 Jun 2026 17:07:02 +0000 Subject: [PATCH 063/197] aztec.nr side of entity store --- .../aztec-nr/aztec/src/entities/mod.nr | 339 ++++++++++++++++++ noir-projects/aztec-nr/aztec/src/lib.nr | 1 + .../aztec-nr/aztec/src/oracle/entity_store.nr | 49 +++ .../aztec-nr/aztec/src/oracle/mod.nr | 1 + .../contract_function_simulator.ts | 7 + .../oracle/oracle_registry.ts | 58 +++ .../oracle/oracle_type_mappings.ts | 46 +++ .../oracle/oracle_version_is_checked.test.ts | 6 + .../oracle/private_execution.test.ts | 4 + .../oracle/private_execution_oracle.test.ts | 3 + .../oracle/private_execution_oracle.ts | 1 + .../oracle/utility_execution.test.ts | 94 +++++ .../oracle/utility_execution_oracle.ts | 132 +++++++ yarn-project/pxe/src/pxe.ts | 4 + .../pxe/src/storage/allowed_scopes.ts | 18 + .../storage/capsule_store/capsule_service.ts | 12 +- .../entity_store/entity_service.test.ts | 56 +++ .../storage/entity_store/entity_service.ts | 49 +++ .../pxe/src/storage/entity_store/index.ts | 5 + .../oracle/txe_oracle_top_level_context.ts | 5 + yarn-project/txe/src/rpc_translator.ts | 58 +++ yarn-project/txe/src/txe_session.test.ts | 1 + yarn-project/txe/src/txe_session.ts | 11 + 23 files changed, 949 insertions(+), 11 deletions(-) create mode 100644 noir-projects/aztec-nr/aztec/src/entities/mod.nr create mode 100644 noir-projects/aztec-nr/aztec/src/oracle/entity_store.nr create mode 100644 yarn-project/pxe/src/storage/allowed_scopes.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/entity_service.test.ts create mode 100644 yarn-project/pxe/src/storage/entity_store/entity_service.ts diff --git a/noir-projects/aztec-nr/aztec/src/entities/mod.nr b/noir-projects/aztec-nr/aztec/src/entities/mod.nr new file mode 100644 index 000000000000..93fe7c4b1618 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/entities/mod.nr @@ -0,0 +1,339 @@ +//! Typed, per-contract storage of entities and the immutable facts recorded about them, backed by PXE's EntityStore. + +use crate::ephemeral::EphemeralArray; +use crate::oracle::entity_store::{ + create_entity_oracle, get_entities_oracle, get_entity_oracle, record_fact_oracle, terminate_entity_oracle, +}; +use crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}}; + +/// The block an entity or fact originates from. +#[derive(Deserialize, Eq, Serialize)] +pub struct OriginBlock { + pub block_number: u32, + pub block_hash: Field, +} + +/// A single fact about an entity. +#[derive(Serialize, Deserialize)] +pub struct Fact { + pub fact_type_id: Field, + pub payload: EphemeralArray, +} + +/// Raw entity as returned by the oracle: body + facts as slot-backed ephemeral arrays. +/// +/// Internal to the entity store. Consumers use the typed [`Entity`], built by [`get_entity`] / [`get_entities`]. +#[derive(Deserialize, Serialize)] +pub(crate) struct RawEntity { + body: EphemeralArray, + facts: EphemeralArray, +} + +impl RawEntity { + /// Deserializes the raw body field-array into `T` and wraps it, with its location, as a typed [`Entity`]. + unconstrained fn into_entity(self, contract_address: AztecAddress, scope: AztecAddress) -> Entity + where + T: Deserialize, + { + let n = ::N; + assert_eq(self.body.len(), n, "entity body length mismatch"); + let mut fields: [Field; ::N] = [0; ::N]; + for i in 0..n { + fields[i] = self.body.get(i); + } + Entity { contract_address, scope, body: Deserialize::deserialize(fields), facts: self.facts } + } +} + +/// The identity a value carries when stored as an entity body. +/// +/// Implementors supply the two ids the store needs to address an entity: a per-type `entity_type_id` shared by every +/// entity of the same kind, and a per-instance `entity_id` derived from the value's content. +pub trait EntityBody { + /// The type id shared by all entities of this kind. + fn entity_type_id() -> Field; + + /// The id that uniquely identifies this entity within its type, derived from its content. + fn entity_id(self) -> Field; +} + +/// A handle to an entity in the store: its location, typed body, and the facts recorded against it. +#[derive(Deserialize, Serialize)] +pub struct Entity { + pub contract_address: AztecAddress, + pub scope: AztecAddress, + pub body: T, + pub facts: EphemeralArray, +} + +impl Entity +where + T: EntityBody + Serialize + Deserialize, +{ + /// Creates a retractable entity for `body`, with the given block as origin, and returns a handle to it. + pub unconstrained fn create_retractable( + contract_address: AztecAddress, + scope: AztecAddress, + body: T, + block_number: u32, + block_hash: Field, + ) -> Self { + create_entity( + contract_address, + scope, + T::entity_type_id(), + body.entity_id(), + body, + Option::some(OriginBlock { block_number, block_hash }), + ); + Self { contract_address, scope, body, facts: EphemeralArray::empty() } + } + + /// Creates a non-retractable entity for `body` and returns a handle to it. + pub unconstrained fn create_non_retractable(contract_address: AztecAddress, scope: AztecAddress, body: T) -> Self { + create_entity( + contract_address, + scope, + T::entity_type_id(), + body.entity_id(), + body, + Option::none(), + ); + Self { contract_address, scope, body, facts: EphemeralArray::empty() } + } + + /// Returns a populated handle for every active entity of this kind, each carrying its `body` and `facts`. + pub unconstrained fn read_all(contract_address: AztecAddress, scope: AztecAddress) -> EphemeralArray> { + get_entities::(contract_address, scope, T::entity_type_id()) + } + + /// Records a retractable fact about this entity, originated at `(block_number, block_hash)`. + /// + /// The fact is pruned from the store if that block is reorg'd away. Note a fact's retractability is independent of + /// the entity's, so either kind of entity may carry retractable facts. + pub unconstrained fn log_retractable_fact( + self, + fact_type_id: Field, + payload: [Field; N], + block_number: u32, + block_hash: Field, + ) { + record_fact( + self.contract_address, + self.scope, + T::entity_type_id(), + self.body.entity_id(), + fact_type_id, + payload, + Option::some(OriginBlock { block_number, block_hash }), + ); + } + + /// Records a permanent (non-retractable) fact about this entity. + /// + /// This fact survives reorgs and is never pruned on its own, unless its entity is retracted as a whole. + pub unconstrained fn log_non_retractable_fact(self, fact_type_id: Field, payload: [Field; N]) { + record_fact( + self.contract_address, + self.scope, + T::entity_type_id(), + self.body.entity_id(), + fact_type_id, + payload, + Option::none(), + ); + } + + /// Terminates this entity, preventing new facts from being recorded for it. See [`terminate_entity`]. + pub unconstrained fn terminate(self) { + terminate_entity( + self.contract_address, + self.scope, + T::entity_type_id(), + self.body.entity_id(), + ); + } +} + +// Public wrappers around the entity store oracles. + +/// Creates an entity. +pub(crate) unconstrained fn create_entity( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, + body: T, + origin_block: Option, +) +where + T: Serialize, +{ + create_entity_oracle( + contract_address, + scope, + entity_type_id, + entity_id, + body.serialize(), + origin_block, + ); +} + +/// Records a fact for an entity. +pub(crate) unconstrained fn record_fact( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, + fact_type_id: Field, + payload: [Field; N], + origin_block: Option, +) { + record_fact_oracle( + contract_address, + scope, + entity_type_id, + entity_id, + fact_type_id, + payload, + origin_block, + ); +} + +/// Returns every active entity of kind `entity_type_id`: each one's deserialized body together with its fact set. +pub unconstrained fn get_entities( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, +) -> EphemeralArray> +where + T: Serialize + Deserialize, +{ + get_entities_oracle(contract_address, scope, entity_type_id).map(|raw: RawEntity| { + raw.into_entity(contract_address, scope) + }) +} + +/// Returns the given entity: its deserialized body together with its fact set. +pub unconstrained fn get_entity( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, +) -> Entity +where + T: Deserialize, +{ + get_entity_oracle(contract_address, scope, entity_type_id, entity_id).into_entity(contract_address, scope) +} + +/// Marks an entity as terminated, preventing new facts from being recorded for it. +pub unconstrained fn terminate_entity( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, +) { + terminate_entity_oracle(contract_address, scope, entity_type_id, entity_id); +} + +mod test { + use crate::entities::{Entity, EntityBody}; + use crate::protocol::address::AztecAddress; + use crate::protocol::traits::{Deserialize, FromField, Serialize, ToField}; + use crate::test::helpers::test_environment::TestEnvironment; + + global TYPE_ID: Field = 42; + + #[derive(Deserialize, Eq, Serialize)] + struct MockBody { + id: Field, + value: Field, + } + + impl EntityBody for MockBody { + fn entity_type_id() -> Field { + TYPE_ID + } + + fn entity_id(self) -> Field { + self.id + } + } + + unconstrained fn setup() -> (TestEnvironment, AztecAddress) { + let mut env = TestEnvironment::new(); + let scope = env.create_light_account(); + (env, scope) + } + + #[test] + unconstrained fn creates_and_reads_non_retractable_entity() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + let body = MockBody { id: 1, value: 7 }; + let _ = Entity::create_non_retractable(contract_address, scope, body); + + let active = Entity::::read_all(contract_address, scope); + assert_eq(active.len(), 1); + assert_eq(active.get(0).body, body); + }); + } + + #[test] + unconstrained fn records_fact_on_entity() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + let entity = Entity::create_non_retractable(contract_address, scope, MockBody { id: 1, value: 7 }); + entity.log_non_retractable_fact(99, [123]); + + let active = Entity::::read_all(contract_address, scope); + let facts = active.get(0).facts; + assert_eq(facts.len(), 1); + assert_eq(facts.get(0).fact_type_id, 99); + }); + } + + #[test] + unconstrained fn terminates_entity() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + let entity = Entity::create_non_retractable(contract_address, scope, MockBody { id: 1, value: 7 }); + entity.terminate(); + + let active = Entity::::read_all(contract_address, scope); + assert_eq(active.len(), 0); + }); + } + + #[test] + unconstrained fn creates_retractable_entity() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + let _ = Entity::create_retractable( + contract_address, + scope, + MockBody { id: 2, value: 9 }, + 5, + 0xabc, + ); + + let active = Entity::::read_all(contract_address, scope); + assert_eq(active.len(), 1); + assert_eq(active.get(0).body.value, 9); + }); + } + + #[test(should_fail_with = "not allowed to access")] + unconstrained fn cannot_create_for_other_contract() { + let (env, scope) = setup(); + env.private_context(|context| { + let other = AztecAddress::from_field(context.this_address().to_field() + 1); + let _ = Entity::create_non_retractable(other, scope, MockBody { id: 1, value: 7 }); + }); + } +} diff --git a/noir-projects/aztec-nr/aztec/src/lib.nr b/noir-projects/aztec-nr/aztec/src/lib.nr index 387f820d22da..0498bd06604b 100644 --- a/noir-projects/aztec-nr/aztec/src/lib.nr +++ b/noir-projects/aztec-nr/aztec/src/lib.nr @@ -43,6 +43,7 @@ pub mod unconstrained_array; pub mod ephemeral; pub mod transient; pub mod event; +pub mod entities; pub mod messages; pub use protocol_types as protocol; pub(crate) mod logging; diff --git a/noir-projects/aztec-nr/aztec/src/oracle/entity_store.nr b/noir-projects/aztec-nr/aztec/src/oracle/entity_store.nr new file mode 100644 index 000000000000..1e29350ca884 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/oracle/entity_store.nr @@ -0,0 +1,49 @@ +//! `#[oracle(...)]` declarations for the entity store. + +use crate::entities::{OriginBlock, RawEntity}; +use crate::ephemeral::EphemeralArray; +use crate::protocol::address::AztecAddress; + +#[oracle(aztec_utl_createEntity)] +pub(crate) unconstrained fn create_entity_oracle( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, + body: [Field; N], + origin_block: Option, +) {} + +#[oracle(aztec_utl_recordFact)] +pub(crate) unconstrained fn record_fact_oracle( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, + fact_type_id: Field, + payload: [Field; N], + origin_block: Option, +) {} + +#[oracle(aztec_utl_getEntities)] +pub(crate) unconstrained fn get_entities_oracle( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, +) -> EphemeralArray {} + +#[oracle(aztec_utl_getEntity)] +pub(crate) unconstrained fn get_entity_oracle( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, +) -> RawEntity {} + +#[oracle(aztec_utl_terminateEntity)] +pub(crate) unconstrained fn terminate_entity_oracle( + contract_address: AztecAddress, + scope: AztecAddress, + entity_type_id: Field, + entity_id: Field, +) {} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 2375b0a88764..013faf72d371 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -10,6 +10,7 @@ pub mod capsules; pub(crate) mod ephemeral_oracles; pub(crate) mod transient_oracles; pub mod contract_sync; +pub mod entity_store; pub mod public_call; pub mod tx; pub mod tx_phase; diff --git a/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts b/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts index 9656525ae4a2..f74dcbdfdaad 100644 --- a/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts +++ b/yarn-project/pxe/src/contract_function_simulator/contract_function_simulator.ts @@ -97,6 +97,8 @@ import type { AddressStore } from '../storage/address_store/address_store.js'; import { CapsuleService } from '../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../storage/capsule_store/capsule_store.js'; import type { ContractStore } from '../storage/contract_store/contract_store.js'; +import { EntityService } from '../storage/entity_store/index.js'; +import type { EntityStore } from '../storage/entity_store/index.js'; import type { NoteStore } from '../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../storage/tagging_store/recipient_tagging_store.js'; @@ -142,6 +144,7 @@ export type ContractFunctionSimulatorArgs = { recipientTaggingStore: RecipientTaggingStore; senderAddressBookStore: SenderAddressBookStore; capsuleStore: CapsuleStore; + entityStore: EntityStore; privateEventStore: PrivateEventStore; simulator: CircuitSimulator; contractSyncService: ContractSyncService; @@ -164,6 +167,7 @@ export class ContractFunctionSimulator { private readonly recipientTaggingStore: RecipientTaggingStore; private readonly senderAddressBookStore: SenderAddressBookStore; private readonly capsuleStore: CapsuleStore; + private readonly entityStore: EntityStore; private readonly privateEventStore: PrivateEventStore; private readonly simulator: CircuitSimulator; private readonly contractSyncService: ContractSyncService; @@ -181,6 +185,7 @@ export class ContractFunctionSimulator { this.recipientTaggingStore = args.recipientTaggingStore; this.senderAddressBookStore = args.senderAddressBookStore; this.capsuleStore = args.capsuleStore; + this.entityStore = args.entityStore; this.privateEventStore = args.privateEventStore; this.simulator = args.simulator; this.contractSyncService = args.contractSyncService; @@ -260,6 +265,7 @@ export class ContractFunctionSimulator { recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), + entityService: new EntityService(this.entityStore, scopes), privateEventStore: this.privateEventStore, txResolver: this.txResolver, contractSyncService: this.contractSyncService, @@ -361,6 +367,7 @@ export class ContractFunctionSimulator { recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), + entityService: new EntityService(this.entityStore, scopes), privateEventStore: this.privateEventStore, txResolver: this.txResolver, contractSyncService: this.contractSyncService, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts index 23001a546d32..f2e29607fe5a 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts @@ -18,6 +18,7 @@ import { CONTRACT_CLASS_LOG_INPUT, CONTRACT_INSTANCE, DELIVERY_MODE, + ENTITY, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, @@ -35,6 +36,7 @@ import { NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, + ORIGIN_BLOCK, type OutputSlot, PENDING_TAGGED_LOG, POINT, @@ -116,6 +118,11 @@ type OracleRegistryName = | 'aztec_utl_getSharedSecrets' | 'aztec_utl_setContractSyncCacheInvalid' | 'aztec_utl_emitOffchainEffect' + | 'aztec_utl_createEntity' + | 'aztec_utl_recordFact' + | 'aztec_utl_getEntities' + | 'aztec_utl_getEntity' + | 'aztec_utl_terminateEntity' | 'aztec_utl_callUtilityFunction' | 'aztec_utl_pushEphemeral' | 'aztec_utl_popEphemeral' @@ -385,6 +392,57 @@ export const ORACLE_REGISTRY: OracleRegistry = { params: [{ name: 'data', type: ARRAY(FIELD) }], }), + aztec_utl_createEntity: makeEntry({ + params: [ + { name: 'contractAddress', type: AZTEC_ADDRESS }, + { name: 'scope', type: AZTEC_ADDRESS }, + { name: 'entityTypeId', type: FIELD }, + { name: 'entityId', type: FIELD }, + { name: 'body', type: ARRAY(FIELD) }, + { name: 'originBlock', type: OPTION(ORIGIN_BLOCK) }, + ], + }), + + aztec_utl_recordFact: makeEntry({ + params: [ + { name: 'contractAddress', type: AZTEC_ADDRESS }, + { name: 'scope', type: AZTEC_ADDRESS }, + { name: 'entityTypeId', type: FIELD }, + { name: 'entityId', type: FIELD }, + { name: 'factTypeId', type: FIELD }, + { name: 'payload', type: ARRAY(FIELD) }, + { name: 'originBlock', type: OPTION(ORIGIN_BLOCK) }, + ], + }), + + aztec_utl_getEntities: makeEntry({ + params: [ + { name: 'contractAddress', type: AZTEC_ADDRESS }, + { name: 'scope', type: AZTEC_ADDRESS }, + { name: 'entityTypeId', type: FIELD }, + ], + returnType: EPHEMERAL_ARRAY(ENTITY), + }), + + aztec_utl_getEntity: makeEntry({ + params: [ + { name: 'contractAddress', type: AZTEC_ADDRESS }, + { name: 'scope', type: AZTEC_ADDRESS }, + { name: 'entityTypeId', type: FIELD }, + { name: 'entityId', type: FIELD }, + ], + returnType: ENTITY, + }), + + aztec_utl_terminateEntity: makeEntry({ + params: [ + { name: 'contractAddress', type: AZTEC_ADDRESS }, + { name: 'scope', type: AZTEC_ADDRESS }, + { name: 'entityTypeId', type: FIELD }, + { name: 'entityId', type: FIELD }, + ], + }), + aztec_utl_callUtilityFunction: makeEntry({ params: [ { name: 'contractAddress', type: AZTEC_ADDRESS }, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 8a9b400c2f77..907098b6d55e 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -37,6 +37,7 @@ import { import { NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees'; import { BlockHeader, TxEffect, TxHash } from '@aztec/stdlib/tx'; +import type { OriginBlock } from '../../storage/entity_store/index.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import { EventValidationRequest } from '../noir-structs/event_validation_request.js'; @@ -379,6 +380,51 @@ export const RESOLVED_TX: TypeMapping = { serialization: { fn: resolved => [resolved.toFields()] }, }; +/** + * A single fact returned within an entity by `getEntity` + **/ +export type FactOutput = { factTypeId: Fr; payload: EphemeralArray }; + +/** + * Output mapping for a fact. Serializes to `[factTypeId, payloadSlot]`, where `payloadSlot` is the slot of the + * fact's payload (its own ephemeral array of fields). Output-only: facts are returned to Noir, never received. + */ +export const FACT: TypeMapping = { + serialization: { + fn: f => [f.factTypeId, f.payload.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[])], + }, +}; + +/** + * Input mapping for an optional entity/fact origin block. Reads two ACVM slots `blockNumber` (u32) and `blockHash` + * (a field) into the store's `OriginBlock` shape. Used inside `OPTION(ORIGIN_BLOCK)`. + */ +export const ORIGIN_BLOCK: TypeMapping = { + deserialization: { + fn: ([blockNumberReader, blockHashReader]) => ({ + blockNumber: blockNumberReader.readField().toNumber(), + blockHash: blockHashReader.readField(), + }), + slots: 2, + }, +}; + +/** Returned by `getEntity`/`getEntities`: the entity body plus its facts. */ +export type EntityOutput = { body: EphemeralArray; facts: EphemeralArray }; + +/** + * Output mapping for an entity. Serializes to `[bodySlot, factsSlot]`: the body as a slot of fields, and the facts as + * a slot of `[factTypeId, payloadSlot]` rows. Output-only: entities are returned to Noir, never received. + */ +export const ENTITY: TypeMapping = { + serialization: { + fn: e => [ + e.body.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[]), + e.facts.materializeSlot(v => FACT.serialization!.fn(v).flat() as Fr[]), + ], + }, +}; + export const PROVIDED_SECRET: TypeMapping = { deserialization: { fn: ([reader]) => ProvidedSecret.fromFields(reader), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts index 4cf6db5eb036..153b6a7871e4 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_version_is_checked.test.ts @@ -21,6 +21,8 @@ import type { AddressStore } from '../../storage/address_store/address_store.js' import { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; +import { EntityService } from '../../storage/entity_store/index.js'; +import type { EntityStore } from '../../storage/entity_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; @@ -43,6 +45,7 @@ describe('Oracle Version Check test suite', () => { let recipientTaggingStore: ReturnType>; let senderAddressBookStore: ReturnType>; let capsuleStore: ReturnType>; + let entityStore: ReturnType>; let privateEventStore: ReturnType>; let contractSyncService: ReturnType>; let txResolver: ReturnType>; @@ -64,6 +67,7 @@ describe('Oracle Version Check test suite', () => { recipientTaggingStore = mock(); senderAddressBookStore = mock(); capsuleStore = mock(); + entityStore = mock(); privateEventStore = mock(); contractSyncService = mock(); txResolver = mock(); @@ -109,6 +113,7 @@ describe('Oracle Version Check test suite', () => { recipientTaggingStore, senderAddressBookStore, capsuleStore, + entityStore, privateEventStore, simulator, contractSyncService, @@ -212,6 +217,7 @@ describe('Oracle Version Check test suite', () => { recipientTaggingStore, senderAddressBookStore, capsuleService: new CapsuleService(capsuleStore, []), + entityService: new EntityService(entityStore, []), privateEventStore, txResolver, contractSyncService, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts index 10b5febb69c1..8ffc95b42825 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts @@ -58,6 +58,7 @@ import type { TxResolverService } from '../../messages/tx_resolver_service.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; +import type { EntityStore } from '../../storage/entity_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; @@ -110,6 +111,7 @@ describe('Private Execution test suite', () => { let senderAddressBookStore: MockProxy; let aztecNode: MockProxy; let capsuleStore: MockProxy; + let entityStore: MockProxy; let privateEventStore: MockProxy; let contractSyncService: MockProxy; let txResolver: MockProxy; @@ -288,6 +290,7 @@ describe('Private Execution test suite', () => { aztecNode = mock(); keyStore = mock(); capsuleStore = mock(); + entityStore = mock(); l2TipsStore = mock(); privateEventStore = mock(); senderAddressBookStore = mock(); @@ -459,6 +462,7 @@ describe('Private Execution test suite', () => { recipientTaggingStore, senderAddressBookStore, capsuleStore, + entityStore, privateEventStore, simulator, contractSyncService, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts index ee4371cb26e1..116931cc21fd 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.test.ts @@ -18,6 +18,8 @@ import type { AddressStore } from '../../storage/address_store/address_store.js' import { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; +import { EntityService } from '../../storage/entity_store/index.js'; +import type { EntityStore } from '../../storage/entity_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; @@ -90,6 +92,7 @@ describe('PrivateExecutionOracle', () => { recipientTaggingStore: mock(), senderAddressBookStore: mock(), capsuleService: new CapsuleService(mock(), []), + entityService: new EntityService(mock(), []), privateEventStore: mock(), txResolver: mock(), contractSyncService: mock(), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts index 3b77aeb77188..77a7e9920ea7 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution_oracle.ts @@ -565,6 +565,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: this.capsuleService, + entityService: this.entityService, privateEventStore: this.privateEventStore, txResolver: this.txResolver, contractSyncService: this.contractSyncService, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index a0f7be31cd03..c965480a3770 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -3,6 +3,7 @@ import { Grumpkin } from '@aztec/foundation/crypto/grumpkin'; import { Fr } from '@aztec/foundation/curves/bn254'; import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin'; import type { KeyStore } from '@aztec/key-store'; +import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { StatefulTestContractArtifact } from '@aztec/noir-test-contracts.js/StatefulTest'; import { WASMSimulator } from '@aztec/simulator/client'; import { FunctionCall, FunctionSelector, FunctionType, encodeArguments } from '@aztec/stdlib/abi'; @@ -38,6 +39,8 @@ import type { AddressStore } from '../../storage/address_store/address_store.js' import { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; +import { EntityService, EntityStore } from '../../storage/entity_store/index.js'; +import type { OriginBlock } from '../../storage/entity_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; @@ -47,6 +50,7 @@ import { ContractFunctionSimulator } from '../contract_function_simulator.js'; import { EphemeralArrayService } from '../ephemeral_array_service.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; +import { Option } from '../noir-structs/option.js'; import { ProvidedSecret } from '../noir-structs/provided_secret.js'; import { TransientArrayService } from '../transient_array_service.js'; import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utility_execution_oracle.js'; @@ -63,6 +67,7 @@ describe('Utility Execution test suite', () => { let recipientTaggingStore: ReturnType>; let senderAddressBookStore: ReturnType>; let capsuleStore: ReturnType>; + let entityStore: EntityStore; let privateEventStore: ReturnType>; let contractSyncService: ReturnType>; let l2TipsStore: ReturnType>; @@ -87,6 +92,7 @@ describe('Utility Execution test suite', () => { recipientTaggingStore = mock(); senderAddressBookStore = mock(); capsuleStore = mock(); + entityStore = new EntityStore(await openTmpStore('utility-exec-entity-test')); privateEventStore = mock(); contractSyncService = mock(); l2TipsStore = mock(); @@ -120,6 +126,7 @@ describe('Utility Execution test suite', () => { recipientTaggingStore, senderAddressBookStore, capsuleStore, + entityStore, privateEventStore, simulator, contractSyncService, @@ -595,6 +602,92 @@ describe('Utility Execution test suite', () => { }); }); + describe('entity store', () => { + const service = new EphemeralArrayService(); + const typeId = new Fr(10); + const entityId = new Fr(20); + const factTypeId = new Fr(30); + const noBlock = Option.none(); + + it('creates an entity and reads it back via getEntity', async () => { + const oracle = makeOracle({ scopes: [scope] }); + await oracle.createEntity(contractAddress, scope, typeId, entityId, [new Fr(99)], noBlock); + + const entity = await oracle.getEntity(contractAddress, scope, typeId, entityId); + expect(entity.body.readAll(service)).toEqual([new Fr(99)]); + expect(entity.facts.readAll(service)).toEqual([]); + }); + + it('records a fact and returns it within the entity', async () => { + const oracle = makeOracle({ scopes: [scope] }); + await oracle.createEntity(contractAddress, scope, typeId, entityId, [new Fr(99)], noBlock); + await oracle.recordFact(contractAddress, scope, typeId, entityId, factTypeId, [new Fr(7)], noBlock); + + const entity = await oracle.getEntity(contractAddress, scope, typeId, entityId); + const facts = entity.facts.readAll(service); + expect(facts).toHaveLength(1); + expect(facts[0].factTypeId).toEqual(factTypeId); + expect(facts[0].payload.readAll(service)).toEqual([new Fr(7)]); + }); + + it('returns only the surviving entities of a type after some are terminated', async () => { + const oracle = makeOracle({ scopes: [scope] }); + + // Create a handful of entities of the same type, each with a distinct id and a body that encodes that id, so + // we can tell which ones come back. + const ids = [1, 2, 3, 4, 5]; + for (const id of ids) { + await oracle.createEntity(contractAddress, scope, typeId, new Fr(id), [new Fr(100 + id)], noBlock); + } + + // Terminate two of them; the rest must remain active. + await oracle.terminateEntity(contractAddress, scope, typeId, new Fr(2)); + await oracle.terminateEntity(contractAddress, scope, typeId, new Fr(4)); + + const entities = (await oracle.getEntities(contractAddress, scope, typeId)).readAll(service); + + // Exactly the survivors come back, with their bodies intact (order is not guaranteed, so compare as a set). + const bodies = entities.map(entity => entity.body.readAll(service)); + expect(bodies.every(body => body.length === 1)).toBe(true); + const survivingValues = bodies.map(([value]) => value.toNumber()).sort((a, b) => a - b); + expect(survivingValues).toEqual([101, 103, 105]); + }); + + it('stores a retractable entity when given an origin block', async () => { + const oracle = makeOracle({ scopes: [scope] }); + const originBlock = Option.some({ blockNumber: 5, blockHash: new Fr(0xabc) }); + await oracle.createEntity(contractAddress, scope, typeId, entityId, [new Fr(42)], originBlock); + + const entity = await oracle.getEntity(contractAddress, scope, typeId, entityId); + expect(entity.body.readAll(service)).toEqual([new Fr(42)]); + }); + + it('terminates an entity', async () => { + const oracle = makeOracle({ scopes: [scope] }); + await oracle.createEntity(contractAddress, scope, typeId, entityId, [new Fr(1)], noBlock); + await oracle.terminateEntity(contractAddress, scope, typeId, entityId); + + const entities = (await oracle.getEntities(contractAddress, scope, typeId)).readAll(service); + expect(entities).toEqual([]); + }); + + it('rejects access to another contract', async () => { + const oracle = makeOracle({ scopes: [scope] }); + const otherContract = await AztecAddress.random(); + expect(() => oracle.createEntity(otherContract, scope, typeId, entityId, [new Fr(1)], noBlock)).toThrow( + /not allowed to access/, + ); + }); + + it('rejects a scope outside the allowed list', async () => { + const oracle = makeOracle({ scopes: [scope] }); + const otherScope = await AztecAddress.random(); + expect(() => oracle.createEntity(contractAddress, otherScope, typeId, entityId, [new Fr(1)], noBlock)).toThrow( + /not in the allowed scopes/, + ); + }); + }); + const makeOracle = (overrides?: Partial) => { const scopes = overrides?.scopes ?? []; return new UtilityExecutionOracle({ @@ -610,6 +703,7 @@ describe('Utility Execution test suite', () => { recipientTaggingStore, senderAddressBookStore, capsuleService: new CapsuleService(capsuleStore, scopes), + entityService: new EntityService(entityStore, scopes), privateEventStore, txResolver, contractSyncService, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 08c509970dec..521982f84ebb 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -55,6 +55,8 @@ import { ORACLE_VERSION_MAJOR } from '../../oracle_version.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import type { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; +import { EntityKey, EntityTypeKey } from '../../storage/entity_store/index.js'; +import type { Entity, EntityService, OriginBlock } from '../../storage/entity_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; @@ -76,6 +78,7 @@ import type { TransientArrayService } from '../transient_array_service.js'; import { buildACIRCallback } from './acir_callback.js'; import type { IMiscOracle, IUtilityExecutionOracle } from './interfaces.js'; import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js'; +import type { EntityOutput, FactOutput } from './oracle_type_mappings.js'; /** Args for UtilityExecutionOracle constructor. */ export type UtilityExecutionOracleArgs = { @@ -92,6 +95,7 @@ export type UtilityExecutionOracleArgs = { recipientTaggingStore: RecipientTaggingStore; senderAddressBookStore: SenderAddressBookStore; capsuleService: CapsuleService; + entityService: EntityService; privateEventStore: PrivateEventStore; txResolver: TxResolverService; contractSyncService: ContractSyncService; @@ -134,6 +138,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra protected readonly recipientTaggingStore: RecipientTaggingStore; protected readonly senderAddressBookStore: SenderAddressBookStore; protected readonly capsuleService: CapsuleService; + protected readonly entityService: EntityService; protected readonly privateEventStore: PrivateEventStore; protected readonly txResolver: TxResolverService; protected readonly contractSyncService: ContractSyncService; @@ -158,6 +163,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra this.recipientTaggingStore = args.recipientTaggingStore; this.senderAddressBookStore = args.senderAddressBookStore; this.capsuleService = args.capsuleService; + this.entityService = args.entityService; this.privateEventStore = args.privateEventStore; this.txResolver = args.txResolver; this.contractSyncService = args.contractSyncService; @@ -735,6 +741,131 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra return this.capsuleService.copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, this.jobId, scope); } + /** + * Asserts the executing contract may access `contractAddress`'s entity store. Entities are isolated per contract, so + * a contract may only operate on its own entities. + */ + private assertOwnContract(contractAddress: AztecAddress): void { + if (!contractAddress.equals(this.contractAddress)) { + // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB + throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`); + } + } + + /** Builds the Noir-facing ENTITY output (body + facts as nested ephemeral arrays) from a stored entity. */ + private toEntityOutput(entity: Entity): EntityOutput { + return { + body: EphemeralArray.fromValues(this.ephemeralArrayService, entity.body), + facts: EphemeralArray.fromValues( + this.ephemeralArrayService, + entity.facts.map( + (fact): FactOutput => ({ + factTypeId: fact.factTypeId, + payload: EphemeralArray.fromValues(this.ephemeralArrayService, fact.payload), + }), + ), + ), + }; + } + + /** + * Creates an entity. A `Some` origin block makes it retractable (pruned, with all its facts, if that block is + * reorg'd away); a `None` origin block makes it non-retractable, surviving reorgs. + */ + public createEntity( + contractAddress: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + body: Fr[], + originBlock: Option, + ): Promise { + this.assertOwnContract(contractAddress); + return this.entityService.createEntity( + new EntityKey(contractAddress, scope, entityTypeId, entityId), + body, + originBlock.isSome() ? originBlock.value : undefined, + this.jobId, + ); + } + + /** + * Records a fact about an entity. A `Some` origin block makes the fact retractable (pruned on reorg of that block); + * a `None` origin block makes it a permanent fact that survives reorgs. + */ + public recordFact( + contractAddress: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + factTypeId: Fr, + payload: Fr[], + originBlock: Option, + ): Promise { + this.assertOwnContract(contractAddress); + return this.entityService.recordFact( + new EntityKey(contractAddress, scope, entityTypeId, entityId), + factTypeId, + payload, + originBlock.isSome() ? originBlock.value : undefined, + this.jobId, + ); + } + + /** + * Returns every active entity under (contract, scope, entityTypeId). + */ + public async getEntities( + contractAddress: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + ): Promise> { + this.assertOwnContract(contractAddress); + const entities = await this.entityService.getEntities( + new EntityTypeKey(contractAddress, scope, entityTypeId), + this.jobId, + ); + return EphemeralArray.fromValues( + this.ephemeralArrayService, + entities.map(entity => this.toEntityOutput(entity)), + ); + } + + /** Returns an entity's payload and facts. Throws if the entity does not exist. */ + public async getEntity( + contractAddress: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + ): Promise { + this.assertOwnContract(contractAddress); + const entity = await this.entityService.getEntity( + new EntityKey(contractAddress, scope, entityTypeId, entityId), + this.jobId, + ); + if (entity === undefined) { + throw new Error( + `Entity not found: contract=${contractAddress.toString()} scope=${scope.toString()} ` + + `typeId=${entityTypeId.toString()} id=${entityId.toString()}`, + ); + } + return this.toEntityOutput(entity); + } + + /** Permanently deletes an entity and all of its facts. */ + public terminateEntity( + contractAddress: AztecAddress, + scope: AztecAddress, + entityTypeId: Fr, + entityId: Fr, + ): Promise { + this.assertOwnContract(contractAddress); + return this.entityService.terminateEntity( + new EntityKey(contractAddress, scope, entityTypeId, entityId), + this.jobId, + ); + } + /** * Clears cached sync state for a contract for a set of scopes, forcing re-sync on the next query so that newly * stored notes or events are discovered. @@ -927,6 +1058,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: this.capsuleService, + entityService: this.entityService, privateEventStore: this.privateEventStore, txResolver: this.txResolver, contractSyncService: this.contractSyncService, diff --git a/yarn-project/pxe/src/pxe.ts b/yarn-project/pxe/src/pxe.ts index 477f4e82819e..208b92131bf2 100644 --- a/yarn-project/pxe/src/pxe.ts +++ b/yarn-project/pxe/src/pxe.ts @@ -78,6 +78,7 @@ import { AddressStore } from './storage/address_store/address_store.js'; import { AnchorBlockStore } from './storage/anchor_block_store/anchor_block_store.js'; import { CapsuleStore } from './storage/capsule_store/capsule_store.js'; import { ContractStore } from './storage/contract_store/contract_store.js'; +import { EntityStore } from './storage/entity_store/index.js'; import { NoteStore } from './storage/note_store/note_store.js'; import { openPxeStores } from './storage/open_pxe_stores.js'; import { PrivateEventStore } from './storage/private_event_store/private_event_store.js'; @@ -195,6 +196,7 @@ export class PXE { private contractStore: ContractStore, private noteStore: NoteStore, private capsuleStore: CapsuleStore, + private entityStore: EntityStore, private anchorBlockStore: AnchorBlockStore, private senderTaggingStore: SenderTaggingStore, private senderAddressBookStore: SenderAddressBookStore, @@ -313,6 +315,7 @@ export class PXE { contractStore, noteStore, capsuleStore, + entityStore, anchorBlockStore, senderTaggingStore, senderAddressBookStore, @@ -364,6 +367,7 @@ export class PXE { recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleStore: this.capsuleStore, + entityStore: this.entityStore, privateEventStore: this.privateEventStore, simulator: this.simulator, contractSyncService: this.contractSyncService, diff --git a/yarn-project/pxe/src/storage/allowed_scopes.ts b/yarn-project/pxe/src/storage/allowed_scopes.ts new file mode 100644 index 000000000000..04d7d1f0d0f2 --- /dev/null +++ b/yarn-project/pxe/src/storage/allowed_scopes.ts @@ -0,0 +1,18 @@ +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +/** + * Asserts that `scope` is permitted by `allowedScopes`. The zero address is always permitted (it denotes the global + * scope). Throws otherwise. + */ +export function assertAllowedScope(scope: AztecAddress, allowedScopes: AztecAddress[]): void { + if (scope.equals(AztecAddress.ZERO)) { + return; + } + if (!allowedScopes.some((allowed: AztecAddress) => allowed.equals(scope))) { + throw new Error( + `Scope ${scope.toString()} is not in the allowed scopes list: [${allowedScopes + .map((s: AztecAddress) => s.toString()) + .join(', ')}]. See https://docs.aztec.network/errors/10`, + ); + } +} diff --git a/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts b/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts index cdb61859cb13..a75b657448f4 100644 --- a/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts +++ b/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts @@ -2,6 +2,7 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { Capsule } from '@aztec/stdlib/tx'; +import { assertAllowedScope } from '../allowed_scopes.js'; import type { CapsuleStore } from './capsule_store.js'; /** @@ -77,14 +78,3 @@ export class CapsuleService { return this.capsuleStore.setCapsuleArray(contractAddress, baseSlot, content, jobId, scope); } } - -function assertAllowedScope(scope: AztecAddress, allowedScopes: AztecAddress[]) { - if (scope.equals(AztecAddress.ZERO)) { - return; - } - if (!allowedScopes.some((allowed: AztecAddress) => allowed.equals(scope))) { - throw new Error( - `Scope ${scope.toString()} is not in the allowed scopes list: [${allowedScopes.map((s: AztecAddress) => s.toString()).join(', ')}]. See https://docs.aztec.network/errors/10`, - ); - } -} diff --git a/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts new file mode 100644 index 000000000000..19feb764fb5d --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts @@ -0,0 +1,56 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import type { AztecAsyncKVStore } from '@aztec/kv-store'; +import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { EntityService } from './entity_service.js'; +import { EntityStore } from './entity_store.js'; +import { EntityKey, EntityTypeKey } from './entity_store_keys.js'; + +describe('EntityService', () => { + let kv: AztecAsyncKVStore; + let store: EntityStore; + + const jobId = 'job-1'; + const contract = AztecAddress.fromField(new Fr(1)); + const allowedScope = AztecAddress.fromField(new Fr(2)); + const disallowedScope = AztecAddress.fromField(new Fr(3)); + const typeId = new Fr(10); + const entityId = new Fr(20); + + const keyFor = (scope: AztecAddress) => new EntityKey(contract, scope, typeId, entityId); + const typeKeyFor = (scope: AztecAddress) => new EntityTypeKey(contract, scope, typeId); + + beforeEach(async () => { + kv = await openTmpStore('entity-service-test'); + store = new EntityStore(kv); + }); + + it('delegates create+get for an allowed scope', async () => { + const service = new EntityService(store, [allowedScope]); + await service.createEntity(keyFor(allowedScope), [new Fr(99)], undefined, jobId); + + const entity = await service.getEntity(keyFor(allowedScope), jobId); + expect(entity?.body).toEqual([new Fr(99)]); + }); + + it('rejects a disallowed scope on create', () => { + const service = new EntityService(store, [allowedScope]); + expect(() => service.createEntity(keyFor(disallowedScope), [new Fr(99)], undefined, jobId)).toThrow( + /not in the allowed scopes/, + ); + }); + + it('rejects a disallowed scope on getEntities', () => { + const service = new EntityService(store, [allowedScope]); + expect(() => service.getEntities(typeKeyFor(disallowedScope), jobId)).toThrow(/not in the allowed scopes/); + }); + + it('always allows the zero (global) scope', async () => { + const service = new EntityService(store, []); + await service.createEntity(keyFor(AztecAddress.ZERO), [new Fr(7)], undefined, jobId); + + const entity = await service.getEntity(keyFor(AztecAddress.ZERO), jobId); + expect(entity?.body).toEqual([new Fr(7)]); + }); +}); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_service.ts b/yarn-project/pxe/src/storage/entity_store/entity_service.ts new file mode 100644 index 000000000000..e96a4c06c8ac --- /dev/null +++ b/yarn-project/pxe/src/storage/entity_store/entity_service.ts @@ -0,0 +1,49 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { assertAllowedScope } from '../allowed_scopes.js'; +import type { Entity, EntityStore } from './entity_store.js'; +import type { EntityKey, EntityTypeKey, OriginBlock } from './entity_store_keys.js'; + +/** + * Wraps an {@link EntityStore} with scope-based access control. Each operation asserts the scope embedded in the entity + * key (or entity-type key) is in the allowed scopes list before delegating to the store, mirroring the role + * `CapsuleService` plays for `CapsuleStore`. Per-contract isolation is enforced by the oracle handler. + */ +export class EntityService { + constructor( + private readonly entityStore: EntityStore, + private readonly allowedScopes: AztecAddress[], + ) {} + + createEntity(key: EntityKey, body: Fr[], originBlock: OriginBlock | undefined, jobId: string): Promise { + assertAllowedScope(key.scope, this.allowedScopes); + return this.entityStore.createEntity(key, body, originBlock, jobId); + } + + recordFact( + key: EntityKey, + factTypeId: Fr, + payload: Fr[], + originBlock: OriginBlock | undefined, + jobId: string, + ): Promise { + assertAllowedScope(key.scope, this.allowedScopes); + return this.entityStore.recordFact(key, factTypeId, payload, originBlock, jobId); + } + + terminateEntity(key: EntityKey, jobId: string): Promise { + assertAllowedScope(key.scope, this.allowedScopes); + return this.entityStore.terminateEntity(key, jobId); + } + + getEntity(key: EntityKey, jobId: string): Promise { + assertAllowedScope(key.scope, this.allowedScopes); + return this.entityStore.getEntity(key, jobId); + } + + getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { + assertAllowedScope(entityTypeKey.scope, this.allowedScopes); + return this.entityStore.getEntities(entityTypeKey, jobId); + } +} diff --git a/yarn-project/pxe/src/storage/entity_store/index.ts b/yarn-project/pxe/src/storage/entity_store/index.ts index 8c58301b3bcc..95dcd32e82cf 100644 --- a/yarn-project/pxe/src/storage/entity_store/index.ts +++ b/yarn-project/pxe/src/storage/entity_store/index.ts @@ -1 +1,6 @@ export { EntityStore } from './entity_store.js'; +export type { Entity } from './entity_store.js'; +export { EntityService } from './entity_service.js'; +export { EntityKey, EntityTypeKey } from './entity_store_keys.js'; +export type { OriginBlock } from './entity_store_keys.js'; +export type { Fact } from './stored_fact.js'; diff --git a/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts b/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts index 97e47e90aaf1..1693826e47ba 100644 --- a/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts +++ b/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts @@ -14,6 +14,8 @@ import { CapsuleService, CapsuleStore, type ContractStore, + EntityService, + EntityStore, type ExecutionHooks, NoteStore, ORACLE_VERSION_MAJOR, @@ -108,6 +110,7 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl private recipientTaggingStore: RecipientTaggingStore, private senderAddressBookStore: SenderAddressBookStore, private capsuleStore: CapsuleStore, + private entityStore: EntityStore, private privateEventStore: PrivateEventStore, private nextBlockTimestamp: bigint, private version: Fr, @@ -457,6 +460,7 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), + entityService: new EntityService(this.entityStore, scopes), privateEventStore: this.privateEventStore, contractSyncService: this.stateMachine.contractSyncService, jobId, @@ -842,6 +846,7 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), + entityService: new EntityService(this.entityStore, scopes), privateEventStore: this.privateEventStore, txResolver: this.stateMachine.txResolver, contractSyncService: this.stateMachine.contractSyncService, diff --git a/yarn-project/txe/src/rpc_translator.ts b/yarn-project/txe/src/rpc_translator.ts index acc02cfbea3d..b325325f9d26 100644 --- a/yarn-project/txe/src/rpc_translator.ts +++ b/yarn-project/txe/src/rpc_translator.ts @@ -815,6 +815,64 @@ export class RPCTranslator { }); } + // eslint-disable-next-line camelcase + aztec_utl_createEntity(...inputs: ForeignCallArgs) { + return callTxeHandler({ + oracle: 'aztec_utl_createEntity', + inputs, + handler: ([contractAddress, scope, entityTypeId, entityId, body, originBlock]) => + this.handlerAsUtility().createEntity(contractAddress, scope, entityTypeId, entityId, body, originBlock), + }); + } + + // eslint-disable-next-line camelcase + aztec_utl_recordFact(...inputs: ForeignCallArgs) { + return callTxeHandler({ + oracle: 'aztec_utl_recordFact', + inputs, + handler: ([contractAddress, scope, entityTypeId, entityId, factTypeId, payload, originBlock]) => + this.handlerAsUtility().recordFact( + contractAddress, + scope, + entityTypeId, + entityId, + factTypeId, + payload, + originBlock, + ), + }); + } + + // eslint-disable-next-line camelcase + aztec_utl_getEntities(...inputs: ForeignCallArgs) { + return callTxeHandler({ + oracle: 'aztec_utl_getEntities', + inputs, + handler: ([contractAddress, scope, entityTypeId]) => + this.handlerAsUtility().getEntities(contractAddress, scope, entityTypeId), + }); + } + + // eslint-disable-next-line camelcase + aztec_utl_getEntity(...inputs: ForeignCallArgs) { + return callTxeHandler({ + oracle: 'aztec_utl_getEntity', + inputs, + handler: ([contractAddress, scope, entityTypeId, entityId]) => + this.handlerAsUtility().getEntity(contractAddress, scope, entityTypeId, entityId), + }); + } + + // eslint-disable-next-line camelcase + aztec_utl_terminateEntity(...inputs: ForeignCallArgs) { + return callTxeHandler({ + oracle: 'aztec_utl_terminateEntity', + inputs, + handler: ([contractAddress, scope, entityTypeId, entityId]) => + this.handlerAsUtility().terminateEntity(contractAddress, scope, entityTypeId, entityId), + }); + } + // AVM opcodes // eslint-disable-next-line camelcase diff --git a/yarn-project/txe/src/txe_session.test.ts b/yarn-project/txe/src/txe_session.test.ts index dc8205576a3b..b12d8b1eb7fd 100644 --- a/yarn-project/txe/src/txe_session.test.ts +++ b/yarn-project/txe/src/txe_session.test.ts @@ -21,6 +21,7 @@ describe('TXESession.processFunction', () => { {} as any, // recipientTaggingStore {} as any, // senderAddressBook {} as any, // capsuleStore + {} as any, // entityStore {} as any, // privateEventStore {} as any, // jobCoordinator {} as any, // initialJobId diff --git a/yarn-project/txe/src/txe_session.ts b/yarn-project/txe/src/txe_session.ts index 3771244f2d8b..5dc66544ed05 100644 --- a/yarn-project/txe/src/txe_session.ts +++ b/yarn-project/txe/src/txe_session.ts @@ -10,6 +10,8 @@ import { CapsuleService, CapsuleStore, ContractStore, + EntityService, + EntityStore, JobCoordinator, NoteService, NoteStore, @@ -253,6 +255,7 @@ export class TXESession implements TXESessionStateHandler { private recipientTaggingStore: RecipientTaggingStore, private senderAddressBookStore: SenderAddressBookStore, private capsuleStore: CapsuleStore, + private entityStore: EntityStore, private privateEventStore: PrivateEventStore, private jobCoordinator: JobCoordinator, private currentJobId: string, @@ -304,12 +307,14 @@ export class TXESession implements TXESessionStateHandler { const recipientTaggingStore = new RecipientTaggingStore(store); const senderAddressBookStore = new SenderAddressBookStore(store); const capsuleStore = new CapsuleStore(store); + const entityStore = new EntityStore(store); const keyStore = new KeyStore(store); const accountStore = new TXEAccountStore(store); const jobCoordinator = new JobCoordinator(store); jobCoordinator.registerStores([ capsuleStore, + entityStore, senderTaggingStore, recipientTaggingStore, privateEventStore, @@ -339,6 +344,7 @@ export class TXESession implements TXESessionStateHandler { recipientTaggingStore, senderAddressBookStore, capsuleStore, + entityStore, privateEventStore, nextBlockTimestamp, version, @@ -365,6 +371,7 @@ export class TXESession implements TXESessionStateHandler { recipientTaggingStore, senderAddressBookStore, capsuleStore, + entityStore, privateEventStore, jobCoordinator, initialJobId, @@ -652,6 +659,7 @@ export class TXESession implements TXESessionStateHandler { this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, + this.entityStore, this.privateEventStore, this.nextBlockTimestamp, this.version, @@ -721,6 +729,7 @@ export class TXESession implements TXESessionStateHandler { recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()), + entityService: new EntityService(this.entityStore, await this.keyStore.getAccounts()), privateEventStore: this.privateEventStore, contractSyncService: this.stateMachine.contractSyncService, l2TipsStore: this.stateMachine.l2TipsProvider, @@ -808,6 +817,7 @@ export class TXESession implements TXESessionStateHandler { recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()), + entityService: new EntityService(this.entityStore, await this.keyStore.getAccounts()), privateEventStore: this.privateEventStore, txResolver: this.stateMachine.txResolver, contractSyncService: this.stateMachine.contractSyncService, @@ -910,6 +920,7 @@ export class TXESession implements TXESessionStateHandler { recipientTaggingStore: this.recipientTaggingStore, senderAddressBookStore: this.senderAddressBookStore, capsuleService: new CapsuleService(this.capsuleStore, scopes), + entityService: new EntityService(this.entityStore, scopes), privateEventStore: this.privateEventStore, txResolver: this.stateMachine.txResolver, contractSyncService: this.stateMachine.contractSyncService, From feb4d7bb83904e99ba90f86aef2e02ad3a25a372 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 16 Jun 2026 19:40:04 +0000 Subject: [PATCH 064/197] reimplement offchain reception on entity framework --- .../aztec/src/messages/processing/offchain.nr | 430 -------------- .../messages/processing/offchain/message.nr | 50 ++ .../src/messages/processing/offchain/mod.nr | 547 ++++++++++++++++++ .../storage/entity_store/entity_store.test.ts | 41 +- .../src/storage/entity_store/entity_store.ts | 38 +- 5 files changed, 652 insertions(+), 454 deletions(-) delete mode 100644 noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr create mode 100644 noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr create mode 100644 noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr deleted file mode 100644 index 97bf746932e3..000000000000 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr +++ /dev/null @@ -1,430 +0,0 @@ -use crate::{ - capsules::CapsuleArray, - context::UtilityContext, - ephemeral::EphemeralArray, - messages::{encoding::MESSAGE_CIPHERTEXT_LEN, processing::{MessageContext, OffchainMessageWithContext}}, - oracle::contract_sync::set_contract_sync_cache_invalid, - protocol::{ - address::AztecAddress, - constants::MAX_TX_LIFETIME, - hash::sha256_to_field, - traits::{Deserialize, Serialize}, - }, -}; - -/// Base capsule slot for the persistent inbox of [`PendingOffchainMsg`] entries. -/// -/// This is the slot where we accumulate messages received through [`receive`]. -global OFFCHAIN_INBOX_SLOT: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_INBOX_SLOT".as_bytes()); - -/// Ephemeral array slot used by [`sync_inbox`] to pass tx hash resolution requests to PXE. -global OFFCHAIN_CONTEXT_REQUESTS_SLOT: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_CONTEXT_REQUESTS_SLOT".as_bytes()); - -/// Ephemeral array slot used by [`sync_inbox`] to collect messages ready for processing. -global OFFCHAIN_READY_MESSAGES_SLOT: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_READY_MESSAGES_SLOT".as_bytes()); - -/// Maximum number of offchain messages accepted by `offchain_receive` in a single call. -pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; - -/// Tolerance added to the `MAX_TX_LIFETIME` cap for message expiration. -global TX_EXPIRATION_TOLERANCE: u64 = 7200; // 2 hours - -/// Maximum time-to-live for a tx-bound offchain message. -/// -/// After `anchor_block_timestamp + MAX_MSG_TTL`, the message is evicted from the inbox. -global MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + TX_EXPIRATION_TOLERANCE; - -/// A function that manages offchain-delivered messages for processing during sync. -/// -/// Offchain messages are messages that are not broadcasted via onchain logs. They are instead delivered to the -/// recipient by calling the `offchain_receive` utility function (injected by the `#[aztec]` macro). Message transport -/// is the app's responsibility. Typical examples of transport methods are: messaging apps, email, QR codes, etc. -/// -/// Once offchain messages are delivered to the recipient's private environment via `offchain_receive`, messages are -/// locally stored in a persistent inbox. -/// -/// This function determines when each message in said inbox is ready for processing, when it can be safely disposed -/// of, etc. -/// -/// The only current implementation of an `OffchainInboxSync` is [`sync_inbox`], which manages an inbox with expiration -/// based eviction and automatic transaction context resolution. -pub type OffchainInboxSync = unconstrained fn( -/* contract_address */AztecAddress, /* scope */ AztecAddress) -> EphemeralArray; - -/// A message delivered via the `offchain_receive` utility function. -#[derive(Serialize, Deserialize)] -pub struct OffchainMessage { - /// The encrypted message payload. - pub ciphertext: BoundedVec, - /// The intended recipient of the message. - pub recipient: AztecAddress, - /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message. - pub tx_hash: Option, - /// Anchor block timestamp at message emission. - pub anchor_block_timestamp: u64, -} - -/// An offchain message awaiting processing (or re-processing) in the inbox. -/// -/// Messages remain in the inbox until they expire, even if they have already been processed. This is necessary to -/// handle reorgs: a processed message may need to be re-processed if the transaction that provided its context is -/// reverted. On each sync, resolved messages are promoted to [`OffchainMessageWithContext`] for processing. -#[derive(Serialize, Deserialize)] -struct PendingOffchainMsg { - /// The encrypted message payload. - ciphertext: BoundedVec, - /// The intended recipient of the message. - recipient: AztecAddress, - /// The hash of the transaction that produced this message. A value of 0 indicates a tx-less message. - tx_hash: Field, - /// Anchor block timestamp at message emission. Used to compute the effective expiration: messages are evicted - /// after `anchor_block_timestamp + MAX_MSG_TTL`. - anchor_block_timestamp: u64, -} - -/// Delivers offchain messages to the given contract's offchain inbox for subsequent processing. -/// -/// Offchain messages are transaction effects that are not broadcasted via onchain logs. Instead, the sender shares the -/// message to the recipient through an external channel (e.g. a URL accessible by the recipient). The recipient then -/// calls this function to hand the messages to the contract so they can be processed through the same mechanisms as -/// onchain messages. -/// -/// Each message is routed to the inbox scoped to its `recipient` field, so messages for different accounts are -/// automatically isolated. -/// -/// Messages are processed when their originating transaction is found onchain (providing the context needed to -/// validate resulting notes and events). -/// -/// Messages are kept in the inbox until they expire. The effective expiration is -/// `anchor_block_timestamp + MAX_MSG_TTL`. -/// -/// Processing order is not guaranteed. -pub unconstrained fn receive( - contract_address: AztecAddress, - messages: BoundedVec, -) { - // May contain duplicates if multiple messages target the same recipient. This is harmless since - // cache invalidation on the TS side is idempotent (deleting an already-deleted key is a no-op). - let mut scopes: BoundedVec = BoundedVec::new(); - let mut i = 0; - let messages_len = messages.len(); - while i < messages_len { - let msg = messages.get(i); - let tx_hash = if msg.tx_hash.is_some() { - msg.tx_hash.unwrap() - } else { - 0 - }; - let inbox: CapsuleArray = - CapsuleArray::at(contract_address, OFFCHAIN_INBOX_SLOT, msg.recipient); - inbox.push( - PendingOffchainMsg { - ciphertext: msg.ciphertext, - recipient: msg.recipient, - tx_hash, - anchor_block_timestamp: msg.anchor_block_timestamp, - }, - ); - scopes.push(msg.recipient); - i += 1; - } - - set_contract_sync_cache_invalid(contract_address, scopes); -} - -/// Returns offchain-delivered messages to process during sync. -/// -/// Messages remain in the inbox and are reprocessed on each sync until their originating transaction is no longer at -/// risk of being dropped by a reorg. -pub unconstrained fn sync_inbox( - contract_address: AztecAddress, - scope: AztecAddress, -) -> EphemeralArray { - let inbox: CapsuleArray = CapsuleArray::at(contract_address, OFFCHAIN_INBOX_SLOT, scope); - let context_resolution_requests: EphemeralArray = EphemeralArray::empty_at(OFFCHAIN_CONTEXT_REQUESTS_SLOT); - let ready_to_process: EphemeralArray = - EphemeralArray::empty_at(OFFCHAIN_READY_MESSAGES_SLOT); - - // Build a request list aligned with the inbox indices. - let mut i = 0; - let inbox_len = inbox.len(); - while i < inbox_len { - let msg = inbox.get(i); - context_resolution_requests.push(msg.tx_hash); - i += 1; - } - - // Ask PXE to resolve all requested tx hashes. The oracle returns responses in a new ephemeral array. - let resolved_txs = crate::oracle::tx::get_resolved_txs(context_resolution_requests); - - assert_eq(resolved_txs.len(), inbox_len); - - let now = UtilityContext::new().timestamp(); - - let mut j = inbox_len; - while j > 0 { - // This loop decides what to do with each message in the offchain message inbox. We need to handle 3 - // different scenarios for each message. - // - // 1. The TX that emitted this message is still not known to PXE: in this case we can't yet process this - // message, as any notes or events discovered will fail to be validated. So we leave the message in the inbox, - // awaiting for future syncs to detect that the TX became available. - // - // 2. The message is not associated to a TX to begin with. The current version of offchain message processing - // does not support this case, but in the future it will. Right now, a message without an associated TX will - // sit in the inbox until it expires. - // - // 3. The TX that emitted this message has been found by PXE. That gives us all the information needed to - // process the message. We add the message to the `ready_to_process` EphemeralArray so that the `sync_state` - // loop - // processes it. - // - // In all cases, if the message has expired (i.e. `now > anchor_block_timestamp + MAX_MSG_TTL`), we remove it - // from the inbox. - // - // Note: the loop runs backwards because it might call `inbox.remove(j)` to purge expired messages and we also - // need to align it with `resolved_txs.get(j)`. Going from last to first simplifies the algorithm as - // not yet visited element indexes remain stable. - j -= 1; - let maybe_resolved = resolved_txs.get(j); - let msg = inbox.get(j); - - // Compute the message's effective expiration timestamp to determine if we can purge it from the inbox. - let effective_expiration = msg.anchor_block_timestamp + MAX_MSG_TTL; - - // Message expired. We remove it from the inbox. - if now > effective_expiration { - inbox.remove(j); - } - - // Scenario 1: associated TX not yet available. We keep the message in the inbox, as it might become - // processable as new blocks get mined. - // Scenario 2: no TX associated to message. The message will sit in the inbox until it expires. - if maybe_resolved.is_none() { - continue; - } - - // Scenario 3: Message is ready to process, add to result array. Note we still keep it in the inbox unless we - // consider it has expired: this is because we need to account for reorgs. If reorg occurs after we processed - // a message, the effects of processing the message get rewind. However, the associated TX can be included in - // a subsequent block. Should that happen, the message must be re-processed to ensure consistency. - let resolved = maybe_resolved.unwrap(); - let message_context = MessageContext { - tx_hash: resolved.tx_hash, - unique_note_hashes_in_tx: resolved.unique_note_hashes_in_tx, - first_nullifier_in_tx: resolved.first_nullifier_in_tx, - }; - ready_to_process.push(OffchainMessageWithContext { message_ciphertext: msg.ciphertext, message_context }); - } - - ready_to_process -} - -mod test { - use crate::{ - capsules::CapsuleArray, oracle::random::random, protocol::address::AztecAddress, - test::helpers::test_environment::TestEnvironment, - }; - use super::{ - MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_INBOX_SLOT, OffchainMessage, PendingOffchainMsg, - receive, sync_inbox, - }; - - unconstrained fn setup() -> (TestEnvironment, AztecAddress) { - let mut env = TestEnvironment::new(); - let scope = env.create_light_account(); - (env, scope) - } - - /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. - fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { - OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } - } - - /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. - unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { - env.advance_next_block_timestamp_by(offset); - env.mine_block(); - env.last_block_timestamp() - } - - #[test] - unconstrained fn empty_inbox_returns_empty_result() { - let (env, scope) = setup(); - env.utility_context(|context| { - let result = sync_inbox(context.this_address(), scope); - let inbox: CapsuleArray = - CapsuleArray::at(context.this_address(), OFFCHAIN_INBOX_SLOT, scope); - - assert_eq(result.len(), 0); - assert_eq(inbox.len(), 0); - }); - } - - #[test] - unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - - env.utility_context(|context| { - let mut msgs: BoundedVec = BoundedVec::new(); - msgs.push(make_msg(scope, Option::some(random()), anchor_ts)); - receive(context.this_address(), msgs); - }); - - // Advance past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, MAX_MSG_TTL + 1); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - let inbox: CapsuleArray = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert_eq(inbox.len(), 0); // expired, removed - }); - } - - #[test] - unconstrained fn tx_bound_msg_not_expired_before_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - - env.utility_context(|context| { - let mut msgs: BoundedVec = BoundedVec::new(); - msgs.push(make_msg(scope, Option::some(random()), anchor_ts)); - receive(context.this_address(), msgs); - }); - - // Advance, but not past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - let inbox: CapsuleArray = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert_eq(inbox.len(), 1); // not expired, stays - }); - } - - #[test] - unconstrained fn tx_less_msg_expires_after_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - - env.utility_context(|context| { - let mut msgs: BoundedVec = BoundedVec::new(); - msgs.push(make_msg(scope, Option::none(), anchor_ts)); - receive(context.this_address(), msgs); - }); - - // Advance past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, MAX_MSG_TTL + 1); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - let inbox: CapsuleArray = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert_eq(inbox.len(), 0); // expired, removed - }); - } - - #[test] - unconstrained fn unresolved_tx_stays_in_inbox() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - - env.utility_context(|context| { - let mut msgs: BoundedVec = BoundedVec::new(); - msgs.push(make_msg(scope, Option::some(random()), anchor_ts)); - receive(context.this_address(), msgs); - }); - - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - let inbox: CapsuleArray = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, scope); - - assert_eq(result.len(), 0); // not resolved, not ready - assert_eq(inbox.len(), 1); // not expired, stays - }); - } - - #[test] - unconstrained fn multiple_messages_mixed_expiration() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - - let survivor_tx_hash = random(); - - env.utility_context(|context| { - let address = context.this_address(); - let mut msgs: BoundedVec = BoundedVec::new(); - // Message 0: tx-bound, anchor_ts in the past so it expires at - // anchor_ts + MAX_MSG_TTL. We set anchor to 0 so it expires quickly. - msgs.push(make_msg(scope, Option::some(random()), 0)); - // Message 1: tx-bound, anchor_ts is recent so it survives. - msgs.push(make_msg(scope, Option::some(survivor_tx_hash), anchor_ts)); - // Message 2: tx-less, anchor_ts=0 so it also expires. - msgs.push(make_msg(scope, Option::none(), 0)); - receive(address, msgs); - }); - - // Advance past MAX_MSG_TTL for anchor_ts=0, but not for anchor_ts=anchor_ts. - let _now = advance_by(env, MAX_MSG_TTL); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - let inbox: CapsuleArray = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, scope); - - assert_eq(result.len(), 0); // all contexts are None - // Message 0 expired (anchor=0), message 1 survived (anchor=anchor_ts), - // Message 2 expired (anchor=0). - assert_eq(inbox.len(), 1); - assert_eq(inbox.get(0).tx_hash, survivor_tx_hash); - }); - } - - // -- Resolved context (ready to process) ------------------------------ - - #[test] - unconstrained fn resolved_msg_is_ready_to_process() { - let (env, scope) = setup(); - // TestEnvironment::new() deploys protocol contracts, creating blocks with tx effects. - // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1. - // We use this as a "known resolvable" tx hash. - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - - env.utility_context(|context| { - let mut msgs: BoundedVec = BoundedVec::new(); - msgs.push(make_msg(scope, Option::some(known_tx_hash), anchor_ts)); - receive(context.this_address(), msgs); - }); - - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - let inbox: CapsuleArray = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, scope); - - // The message should be ready to process since its tx context was resolved. - assert_eq(result.len(), 1); - - let ctx = result.get(0).message_context; - assert_eq(ctx.tx_hash, known_tx_hash); - assert(ctx.first_nullifier_in_tx != 0, "resolved context must have a first nullifier"); - - // Message stays in inbox (not expired) for potential reorg reprocessing. - assert_eq(inbox.len(), 1); - }); - } -} diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr new file mode 100644 index 000000000000..36950a2a4a74 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr @@ -0,0 +1,50 @@ +use crate::{ + entities::EntityBody, + messages::encoding::MESSAGE_CIPHERTEXT_LEN, + protocol::{address::AztecAddress, hash::{poseidon2_hash, sha256_to_field}, traits::{Deserialize, Serialize}}, +}; + +/// Entity type id shared by every offchain message reception entity in the entity store. +pub(crate) global OFFCHAIN_RECEPTION_ENTITY: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_ENTITY".as_bytes()); + +/// A message delivered via the `offchain_receive` utility function. +#[derive(Serialize, Deserialize)] +pub struct OffchainMessage { + /// The encrypted message payload. + pub ciphertext: BoundedVec, + /// The intended recipient of the message. + pub recipient: AztecAddress, + /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message. + pub tx_hash: Option, + /// Anchor block timestamp at message emission. + pub anchor_block_timestamp: u64, +} + +/// Number of fields produced by serializing a `BoundedVec`. +/// +/// A `BoundedVec` serializes as its storage fields followed by a trailing length field, so the total is +/// `MESSAGE_CIPHERTEXT_LEN + 1`. +global SERIALIZED_CIPHERTEXT_LEN: u32 = MESSAGE_CIPHERTEXT_LEN + 1; + +impl EntityBody for OffchainMessage { + /// All offchain messages share the reception state-machine entity type. + fn entity_type_id() -> Field { + OFFCHAIN_RECEPTION_ENTITY + } + + /// Computes the entity id that identifies this message's reception entity in the entity store. + /// + /// The id is a poseidon2 hash over the serialized ciphertext fields and the normalized tx hash (0 when absent). + /// Re-delivering the same `(ciphertext, tx_hash)` pair therefore maps to the same entity, making `receive` + /// idempotent. The `recipient` and `anchor_block_timestamp` fields are intentionally excluded, so identity depends + /// only on the message content and its originating transaction. + fn entity_id(self) -> Field { + let serialized_ciphertext: [Field; SERIALIZED_CIPHERTEXT_LEN] = self.ciphertext.serialize(); + let mut inputs: [Field; SERIALIZED_CIPHERTEXT_LEN + 1] = [0; SERIALIZED_CIPHERTEXT_LEN + 1]; + for i in 0..SERIALIZED_CIPHERTEXT_LEN { + inputs[i] = serialized_ciphertext[i]; + } + inputs[SERIALIZED_CIPHERTEXT_LEN] = self.tx_hash.unwrap_or(0); + poseidon2_hash(inputs) + } +} diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr new file mode 100644 index 000000000000..2d6fdf8cba5b --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -0,0 +1,547 @@ +pub mod message; + +pub use message::OffchainMessage; + +use crate::{ + context::UtilityContext, + entities::{Entity, Fact}, + ephemeral::EphemeralArray, + messages::processing::{MessageContext, OffchainMessageWithContext}, + oracle::{contract_sync::set_contract_sync_cache_invalid, tx::{get_resolved_txs, ResolvedTx}}, + protocol::{address::AztecAddress, constants::MAX_TX_LIFETIME, hash::sha256_to_field}, +}; + +/// Maximum number of offchain messages accepted by `offchain_receive` in a single call. +pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; + +/// Maximum time-to-live for a tx-bound offchain message. +/// +/// After `anchor_block_timestamp + MAX_MSG_TTL`, the message is evicted from the inbox. +/// (7200 == 2 hours) +global MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + 7200; + +/// Fact type id to mark an offchain message as processed. +/// +/// A reception is in "processed state" exactly when it carries a fact of this type. +global OFFCHAIN_MESSAGE_PROCESSED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_PROCESSED".as_bytes()); + +/// A function that manages offchain-delivered messages for processing during sync. +/// +/// Offchain messages are messages that are not broadcasted via onchain logs. They are instead delivered to the +/// recipient by calling the `offchain_receive` utility function (injected by the `#[aztec]` macro). Message transport +/// is the app's responsibility. Typical examples of transport methods are: messaging apps, email, QR codes, etc. +/// +/// Once offchain messages are delivered to the recipient's private environment via `offchain_receive`, messages are +/// locally stored in a persistent inbox. +/// +/// This function determines when each message in said inbox is ready for processing, when it can be safely disposed +/// of, etc. +/// +/// The only current implementation of an `OffchainInboxSync` is [`sync_inbox`], which manages an inbox with expiration +/// based eviction and automatic transaction context resolution. +pub type OffchainInboxSync = unconstrained fn( +/* contract_address */AztecAddress, /* scope */ AztecAddress) -> EphemeralArray; + +/// Delivers offchain messages to the given contract's offchain inbox for subsequent processing. +/// +/// Offchain messages are transaction effects that are not broadcasted via onchain logs. Instead, the sender shares the +/// message to the recipient through an external channel (e.g. a URL accessible by the recipient). The recipient then +/// calls this function to hand the messages to the contract so they can be processed through the same mechanisms as +/// onchain messages. +/// +/// Messages are processed when their originating transaction is found onchain (providing the context needed to +/// validate resulting notes and events). +/// +/// Messages are kept in the inbox until they expire. The expiration is set to `anchor_block_timestamp + MAX_MSG_TTL` +/// +/// Processing order is not guaranteed. +pub unconstrained fn receive( + contract_address: AztecAddress, + messages: BoundedVec, +) { + messages.for_each(|msg| { let _ = Entity::create_non_retractable(contract_address, msg.recipient, msg); }); + + // Clear cache for message recipients so the next sync runs. + set_contract_sync_cache_invalid(contract_address, messages.map(|msg| msg.recipient)); +} + +/// Step function to advance the reception workflow of an offchain message. +/// +/// The reception workflow can be in one of the following states: +/// +/// - Received and resolved: the TX that originated the message has been found by PXE, giving the context needed to +/// process the message. The message then gets processed, but the workflow remains active because a re-org might undo +// its effects. +/// +/// - Expired: the message's effective expiration (`anchor_block_timestamp + MAX_MSG_TTL`) has passed and it is not +/// being handed off now, so we terminate the reception to stop tracking it. +/// +/// - Received-but-unresolved (or tx-less, which never resolves), or already processed: the TX that originated this +/// message is not yet available but might be in the future, so the message stays in the inbox for a future sync. +unconstrained fn process_reception( + reception: Entity, + maybe_resolved: Option, + now: u64, +) -> Option { + // TODO(@mverzilli): we could annotate retractable entities and facts as "final" when their corresponding blocks + // are below the final tip. Then we could use that as termination condition instead of relying on timestamp + // arithmetics. + // + // Alternatively, we could accept a block on `terminate`, which would make the termination itself retractable. + // The "problem" with that is that we would need some sort of heuristic to cleanup. Maybe the whole + // retractable/non-retractable distinction is useless at the entity level. We can simply handle entities and + // if they are started with a block, they are retracted with a block; if they are terminated with a block, they + // are "unterminated" with a block, but also are removed when a block is final. + // This, in offchain reception's particular case, would make facts entirely unnecessary (at least at its present + // functionality). + let expired = now > reception.body.anchor_block_timestamp + MAX_MSG_TTL; + let already_processed = reception.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED); + + if !already_processed & maybe_resolved.is_some() { + let resolved = maybe_resolved.unwrap(); + reception.log_retractable_fact(OFFCHAIN_MESSAGE_PROCESSED, [], resolved.block_number, resolved.block_hash); + let message_context = MessageContext { + tx_hash: resolved.tx_hash, + unique_note_hashes_in_tx: resolved.unique_note_hashes_in_tx, + first_nullifier_in_tx: resolved.first_nullifier_in_tx, + }; + Option::some( + OffchainMessageWithContext { message_ciphertext: reception.body.ciphertext, message_context }, + ) + } else if expired { + reception.terminate(); + Option::none() + } else { + Option::none() + } +} + +/// Returns offchain-delivered messages to process during sync. +pub unconstrained fn sync_inbox( + contract_address: AztecAddress, + scope: AztecAddress, +) -> EphemeralArray { + let active_receptions = Entity::::read_all(contract_address, scope); + + // Ask PXE to resolve each message's originating tx. We pass the tx hashes in active-reception order, so the + // resolved txs come back aligned with the reception indices and can be matched back positionally. + let resolved_txs = get_resolved_txs(active_receptions.map(|reception: Entity| { + reception.body.tx_hash.unwrap_or(0) + })); + + assert_eq(resolved_txs.len(), active_receptions.len()); + + let processable_messages: EphemeralArray = EphemeralArray::empty(); + let now = UtilityContext::new().timestamp(); + + active_receptions.for_each(|i, reception| { + let maybe_message = process_reception(reception, resolved_txs.get(i), now); + if maybe_message.is_some() { + processable_messages.push(maybe_message.unwrap()); + } + }); + + processable_messages +} + +mod test { + use crate::{ + entities::{Entity, EntityBody, Fact, get_entity}, + ephemeral::EphemeralArray, + messages::encoding::MESSAGE_CIPHERTEXT_LEN, + oracle::random::random, + protocol::{address::AztecAddress, traits::{Deserialize, FromField, Serialize}}, + test::helpers::test_environment::TestEnvironment, + }; + use super::{ + MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_MESSAGE_PROCESSED, OffchainMessage, receive, + sync_inbox, + }; + + unconstrained fn setup() -> (TestEnvironment, AztecAddress) { + let mut env = TestEnvironment::new(); + let scope = env.create_light_account(); + (env, scope) + } + + /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. + fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { + OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } + } + + /// Wraps a single message in the bounded vec `receive` expects. + fn one(msg: OffchainMessage) -> BoundedVec { + let mut msgs: BoundedVec = BoundedVec::new(); + msgs.push(msg); + msgs + } + + /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. + unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { + env.advance_next_block_timestamp_by(offset); + env.mine_block(); + env.last_block_timestamp() + } + + /// Returns the entity ids of the reception entities currently active for the given scope. + unconstrained fn active_keys(c: AztecAddress, s: AztecAddress) -> EphemeralArray { + Entity::::read_all(c, s).map(|e: Entity| e.body.entity_id()) + } + + /// Returns `true` if a reception entity with the given entity id is currently active. + unconstrained fn is_active(c: AztecAddress, s: AztecAddress, key: Field) -> bool { + active_keys(c, s).any(|k: Field| k == key) + } + + /// Returns `true` if the reception entity with the given id has been marked processed. + unconstrained fn is_processed(c: AztecAddress, s: AztecAddress, key: Field) -> bool { + let facts = get_entity::(c, s, OffchainMessage::entity_type_id(), key).facts; + facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + } + + #[test] + unconstrained fn empty_inbox_returns_empty_result() { + let (env, scope) = setup(); + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); + assert_eq(active_keys(address, scope).len(), 0); + }); + } + + #[test] + unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let tx_hash = random(); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::some(tx_hash), anchor_ts)), + ); + }); + + let key = make_msg(scope, Option::some(tx_hash), anchor_ts).entity_id(); + + // Advance past anchor_ts + MAX_MSG_TTL. + let _now = advance_by(env, MAX_MSG_TTL + 1); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // context is None, not ready + assert(!is_active(address, scope, key), "expired entity should be terminated"); + }); + } + + #[test] + unconstrained fn tx_bound_msg_not_expired_before_max_msg_ttl() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let tx_hash = random(); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::some(tx_hash), anchor_ts)), + ); + }); + + let key = make_msg(scope, Option::some(tx_hash), anchor_ts).entity_id(); + + // Advance, but not past anchor_ts + MAX_MSG_TTL. + let _now = advance_by(env, 100); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // context is None, not ready + assert(is_active(address, scope, key), "not expired entity should stay active"); + assert(!is_processed(address, scope, key), "should still be unprocessed"); + }); + } + + #[test] + unconstrained fn tx_less_msg_expires_after_max_msg_ttl() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::none(), anchor_ts)), + ); + }); + + // A tx-less message normalizes to tx_hash 0. + let key = make_msg(scope, Option::none(), anchor_ts).entity_id(); + + // Advance past anchor_ts + MAX_MSG_TTL. + let _now = advance_by(env, MAX_MSG_TTL + 1); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // context is None, not ready + assert(!is_active(address, scope, key), "expired entity should be terminated"); + }); + } + + #[test] + unconstrained fn unresolved_tx_stays_in_inbox() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let tx_hash = random(); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::some(tx_hash), anchor_ts)), + ); + }); + + let key = make_msg(scope, Option::some(tx_hash), anchor_ts).entity_id(); + + let _now = advance_by(env, 100); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // not resolved, not ready + assert(is_active(address, scope, key), "unresolved entity should stay active"); + assert(!is_processed(address, scope, key), "should still be unprocessed"); + }); + } + + #[test] + unconstrained fn multiple_messages_mixed_expiration() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + + let expired_a_tx_hash = random(); + let survivor_tx_hash = random(); + + env.utility_context(|context| { + let address = context.this_address(); + let mut msgs: BoundedVec = BoundedVec::new(); + // Message 0: tx-bound, anchor=0 so it expires quickly. + msgs.push(make_msg(scope, Option::some(expired_a_tx_hash), 0)); + // Message 1: tx-bound, anchor_ts is recent so it survives. + msgs.push(make_msg(scope, Option::some(survivor_tx_hash), anchor_ts)); + // Message 2: tx-less, anchor=0 so it also expires. + msgs.push(make_msg(scope, Option::none(), 0)); + receive(address, msgs); + }); + + let expired_a_key = make_msg(scope, Option::some(expired_a_tx_hash), 0).entity_id(); + let survivor_key = make_msg(scope, Option::some(survivor_tx_hash), anchor_ts).entity_id(); + let expired_b_key = make_msg(scope, Option::none(), 0).entity_id(); + + // Advance past MAX_MSG_TTL for anchor=0, but not for anchor_ts. + let _now = advance_by(env, MAX_MSG_TTL); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // all contexts are None + assert(!is_active(address, scope, expired_a_key), "expired tx-bound entity should be terminated"); + assert(!is_active(address, scope, expired_b_key), "expired tx-less entity should be terminated"); + assert(is_active(address, scope, survivor_key), "survivor entity should stay active"); + assert_eq(active_keys(address, scope).len(), 1); + }); + } + + // -- Resolved context (ready to process) ------------------------------ + + #[test] + unconstrained fn resolved_msg_is_ready_to_process() { + let (env, scope) = setup(); + // TestEnvironment::new() deploys protocol contracts, creating blocks with tx effects. + // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1. + // We use this as a "known resolvable" tx hash. + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::some(known_tx_hash), anchor_ts)), + ); + }); + + let key = make_msg(scope, Option::some(known_tx_hash), anchor_ts).entity_id(); + + let _now = advance_by(env, 100); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + // The message should be ready to process since its tx context was resolved. + assert_eq(result.len(), 1); + + let ctx = result.get(0).message_context; + assert_eq(ctx.tx_hash, known_tx_hash); + assert(ctx.first_nullifier_in_tx != 0, "resolved context must have a first nullifier"); + + // Entity stays active (not expired) and is now marked processed, with a Processed fact recorded. + assert(is_active(address, scope, key), "processed entity should stay active for reorg safety"); + assert(is_processed(address, scope, key), "should be processed"); + }); + } + + #[test] + unconstrained fn already_processed_is_not_re_pushed() { + let (env, scope) = setup(); + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::some(known_tx_hash), anchor_ts)), + ); + }); + + let key = make_msg(scope, Option::some(known_tx_hash), anchor_ts).entity_id(); + + let _now = advance_by(env, 100); + + // First sync: the message resolves, is pushed for processing, and a Processed fact is recorded. + env.utility_context(|context| { + let address = context.this_address(); + let first = sync_inbox(address, scope); + assert_eq(first.len(), 1); + assert(is_processed(address, scope, key), "should be processed"); + }); + + // Second sync with the same resolvable context: the Processed guard skips the message (idempotency) while the + // entity remains active (not expired). + env.utility_context(|context| { + let address = context.this_address(); + let second = sync_inbox(address, scope); + + assert_eq(second.len(), 0); // already processed, not re-pushed + assert(is_active(address, scope, key), "processed entity should still be active"); + assert(is_processed(address, scope, key), "should remain processed"); + }); + } + + #[test] + unconstrained fn expired_resolved_msg_is_processed_before_termination() { + let (env, scope) = setup(); + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + + env.utility_context(|context| { + receive( + context.this_address(), + one(make_msg(scope, Option::some(known_tx_hash), anchor_ts)), + ); + }); + + let key = make_msg(scope, Option::some(known_tx_hash), anchor_ts).entity_id(); + + // Advance past anchor_ts + MAX_MSG_TTL so the message is expired on the next sync. + let _now = advance_by(env, MAX_MSG_TTL + 1); + + // First sync: even though the message is expired, its context resolves, so it is handed off for processing + // rather than silently evicted. The entity stays active this sync (now marked processed). + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 1); + assert(is_active(address, scope, key), "expired-but-resolved entity is processed, not terminated yet"); + assert(is_processed(address, scope, key), "should be processed"); + }); + + // Second sync: still expired and now processed, so the entity is terminated. + env.utility_context(|context| { + let address = context.this_address(); + let second = sync_inbox(address, scope); + + assert_eq(second.len(), 0); // already processed, not re-pushed + assert(!is_active(address, scope, key), "expired processed entity is terminated on the next sync"); + }); + } + + // -- Idempotent re-delivery (first-write-wins entity creation) --------- + + #[test] + unconstrained fn redelivery_is_idempotent() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let msg = make_msg(scope, Option::some(random()), anchor_ts); + let key = msg.entity_id(); + + // First delivery, committed as its own job. + env.utility_context(|context| { receive(context.this_address(), one(msg)); }); + + // Re-delivering the same content-addressed message must not panic and must not create a second reception. + env.utility_context(|context| { + let address = context.this_address(); + receive(address, one(msg)); + + assert(is_active(address, scope, key), "reception should be active"); + assert_eq(active_keys(address, scope).len(), 1); + }); + } + + #[test] + unconstrained fn redelivery_after_processing_keeps_processed_guard() { + let (env, scope) = setup(); + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); + let key = msg.entity_id(); + + env.utility_context(|context| { receive(context.this_address(), one(msg)); }); + + let _now = advance_by(env, 100); + + // First sync resolves the message and records its Processed guard fact. + env.utility_context(|context| { + let address = context.this_address(); + assert_eq(sync_inbox(address, scope).len(), 1); + assert(is_processed(address, scope, key), "should be processed"); + }); + + // Re-deliver the same message. First-write-wins create is a no-op that preserves the Processed fact, so the + // next sync recognizes it as already processed and does not re-push it. + env.utility_context(|context| { + let address = context.this_address(); + receive(address, one(msg)); + + assert(is_processed(address, scope, key), "re-delivery must preserve the processed guard"); + assert_eq(sync_inbox(address, scope).len(), 0); + }); + } + + // ---- Pack/unpack tests (no TXE) ---- + + #[test] + unconstrained fn pack_unpack_round_trips_offchain_message() { + let ciphertext: BoundedVec = BoundedVec::new(); + let msg = OffchainMessage { + ciphertext, + recipient: AztecAddress::from_field(42), + tx_hash: Option::some(99), + anchor_block_timestamp: 12345, + }; + let packed = msg.serialize(); + let roundtripped: OffchainMessage = Deserialize::deserialize(packed); + assert_eq(roundtripped.recipient, msg.recipient); + assert_eq(roundtripped.tx_hash, msg.tx_hash); + assert_eq(roundtripped.anchor_block_timestamp, msg.anchor_block_timestamp); + assert_eq(roundtripped.ciphertext.len(), msg.ciphertext.len()); + } +} diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 48e1e1223c02..a4a13d71b21b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -178,20 +178,28 @@ describe('EntityStore', () => { expect(entities[0].facts).toHaveLength(0); }); - it('createEntity rejects an entity already staged for creation in the same job', async () => { + it('createEntity is a no-op for an entity already staged in the same job (first write wins)', async () => { + const firstBody = [Fr.random()]; + await store.createEntity(entityKey1, firstBody, undefined, JOB); + // A second create for the same key neither throws nor overwrites the first. await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await expect(store.createEntity(entityKey1, [Fr.random()], undefined, JOB)).rejects.toThrow( - 'already existing entity', - ); + + expect((await store.getEntity(entityKey1, JOB))!.body).toEqual(firstBody); }); - it('createEntity rejects an entity already committed to disk', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + it('createEntity is a no-op for an already committed entity, preserving its facts (first write wins)', async () => { + const firstBody = [Fr.random()]; + await store.createEntity(entityKey1, firstBody, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - await expect(store.createEntity(entityKey1, [Fr.random()], undefined, 'recreate-job')).rejects.toThrow( - 'already existing entity', - ); + // Re-creating the committed entity with a different body neither throws nor replaces it, and leaves its facts intact. + await store.createEntity(entityKey1, [Fr.random()], undefined, 'recreate-job'); + await kv.transactionAsync(() => store.commit('recreate-job')); + + const { body, facts } = (await store.getEntity(entityKey1, 'reader'))!; + expect(body).toEqual(firstBody); + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { @@ -342,7 +350,7 @@ describe('EntityStore', () => { await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // A plain re-create now rejects; terminate-then-create is the supported way to replace the entity. + // A plain re-create is a no-op (first write wins); terminate-then-create is the supported way to replace the entity. const JOB2 = 'replace-job'; await store.terminateEntity(entityKey1, JOB2); await store.createEntity(entityKey1, replacementBody, undefined, JOB2); @@ -467,15 +475,18 @@ describe('EntityStore', () => { await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); - it('commit rejects a createEntity whose entity was already committed by a racing job', async () => { - // The write-time guard only inspects the calling job's staged ops plus committed state, so two jobs can - // both stage a create for the same key without seeing each other. The second to commit must be rejected. + it('a createEntity racing another job to the same key resolves first commit wins', async () => { + // The staging path inspects only the calling job's ops plus committed state, so two jobs can both stage a create + // for the same key without seeing each other. On commit the first to land wins; the second is a silent no-op. const JOB2 = 'racing-job'; - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + const firstBody = [Fr.random()]; + await store.createEntity(entityKey1, firstBody, undefined, JOB); await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); - await expect(kv.transactionAsync(() => store.commit(JOB2))).rejects.toThrow('already existing entity'); + await expect(kv.transactionAsync(() => store.commit(JOB2))).resolves.not.toThrow(); + + expect((await store.getEntity(entityKey1, 'reader'))!.body).toEqual(firstBody); }); it('discardStaged drops staged writes without touching committed state', async () => { diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 1cce92a21681..d963859a0d14 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -102,10 +102,22 @@ export class EntityStore implements StagedStore { } /** - * Creates an entity. + * Creates an entity. Idempotent, with first-write-wins semantics. * * If `originBlock === undefined`, the entity is non-retractable: it survives reorgs. A defined origin block makes the * entity retractable: on a prune above its block, the entity and all its facts are deleted. + * + * An entity is identified solely by its {@link EntityKey} (contract, scope, entityTypeId, entityId). If an entity + * with that key already exists, this call is a no-op: the existing entity, its body, origin block or lackthereof, + * and all its facts, are left untouched and the supplied `entityBody`/`originBlock` are ignored. + * + * Creating a duplicate key never throws, so callers may re-run creation unconditionally without first checking + * existence. This matters because Noir has no exception handling: a throw on an existing key would abort the whole + * utility run with no way to recover. + * + * Users that need different behavior (updating an entity, branching on its current state, or distinguishing + * instances by block, to cite a few examples) must either read it first via {@link getEntity} / {@link getEntities} + * and handle the preexisting case explicitly, encode the distinguishing data into the `entityId`, or leverage facts. */ createEntity( entityKey: EntityKey, @@ -113,14 +125,12 @@ export class EntityStore implements StagedStore { originBlock: OriginBlock | undefined, jobId: string, ): Promise { - return this.#withJobLock(jobId, async () => { - if ((await this.getEntity(entityKey, jobId)) !== undefined) { - throw new Error(`Cannot create an already existing entity ${entityKey.toString()}`); - } + return this.#withJobLock(jobId, () => { this.#stagedOpsFor(jobId).push({ kind: 'createEntity', entity: new StoredEntity(entityKey, entityBody, originBlock), }); + return Promise.resolve(); }); } @@ -393,15 +403,22 @@ export class EntityStore implements StagedStore { } for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { - case 'createEntity': - if (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) { - result.set(op.entity.key.toString(), { + case 'createEntity': { + // First-write-wins idempotency: materialize only when absent, so a re-create never clobbers an existing + // entity's body or facts (mirrors #commitEntity skipping an already-stored key). + const entityKeyStr = op.entity.key.toString(); + if ( + (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) && + !result.has(entityKeyStr) + ) { + result.set(entityKeyStr, { key: op.entity.key, body: op.entity.body, facts: new Map(), }); } break; + } case 'terminate': result.delete(op.key.toString()); break; @@ -427,11 +444,14 @@ export class EntityStore implements StagedStore { /** * Writes a newly created entity to persistent storage. + * + * First-write-wins: if an entity with this key already exists, this is a no-op that leaves the existing record and + * all of its facts untouched (see {@link createEntity}). */ async #commitEntity(entity: StoredEntity): Promise { const entityKey = entity.key.toString(); if (await this.#entities.hasAsync(entityKey)) { - throw new Error(`Cannot commit createEntity for an already existing entity ${entityKey}`); + return; } await this.#entities.set(entityKey, entity.toBuffer()); if (entity.originBlock !== undefined) { From e82f03fe80e2a561d7f53d7418ad045ee1d8e6d8 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 09:17:29 +0000 Subject: [PATCH 065/197] make entity creation idempotent --- .../storage/entity_store/entity_store.test.ts | 41 ++++++++++++------- .../src/storage/entity_store/entity_store.ts | 38 +++++++++++++---- 2 files changed, 55 insertions(+), 24 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 48e1e1223c02..a4a13d71b21b 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -178,20 +178,28 @@ describe('EntityStore', () => { expect(entities[0].facts).toHaveLength(0); }); - it('createEntity rejects an entity already staged for creation in the same job', async () => { + it('createEntity is a no-op for an entity already staged in the same job (first write wins)', async () => { + const firstBody = [Fr.random()]; + await store.createEntity(entityKey1, firstBody, undefined, JOB); + // A second create for the same key neither throws nor overwrites the first. await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await expect(store.createEntity(entityKey1, [Fr.random()], undefined, JOB)).rejects.toThrow( - 'already existing entity', - ); + + expect((await store.getEntity(entityKey1, JOB))!.body).toEqual(firstBody); }); - it('createEntity rejects an entity already committed to disk', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + it('createEntity is a no-op for an already committed entity, preserving its facts (first write wins)', async () => { + const firstBody = [Fr.random()]; + await store.createEntity(entityKey1, firstBody, undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - await expect(store.createEntity(entityKey1, [Fr.random()], undefined, 'recreate-job')).rejects.toThrow( - 'already existing entity', - ); + // Re-creating the committed entity with a different body neither throws nor replaces it, and leaves its facts intact. + await store.createEntity(entityKey1, [Fr.random()], undefined, 'recreate-job'); + await kv.transactionAsync(() => store.commit('recreate-job')); + + const { body, facts } = (await store.getEntity(entityKey1, 'reader'))!; + expect(body).toEqual(firstBody); + expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); }); it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { @@ -342,7 +350,7 @@ describe('EntityStore', () => { await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // A plain re-create now rejects; terminate-then-create is the supported way to replace the entity. + // A plain re-create is a no-op (first write wins); terminate-then-create is the supported way to replace the entity. const JOB2 = 'replace-job'; await store.terminateEntity(entityKey1, JOB2); await store.createEntity(entityKey1, replacementBody, undefined, JOB2); @@ -467,15 +475,18 @@ describe('EntityStore', () => { await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); - it('commit rejects a createEntity whose entity was already committed by a racing job', async () => { - // The write-time guard only inspects the calling job's staged ops plus committed state, so two jobs can - // both stage a create for the same key without seeing each other. The second to commit must be rejected. + it('a createEntity racing another job to the same key resolves first commit wins', async () => { + // The staging path inspects only the calling job's ops plus committed state, so two jobs can both stage a create + // for the same key without seeing each other. On commit the first to land wins; the second is a silent no-op. const JOB2 = 'racing-job'; - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + const firstBody = [Fr.random()]; + await store.createEntity(entityKey1, firstBody, undefined, JOB); await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); - await expect(kv.transactionAsync(() => store.commit(JOB2))).rejects.toThrow('already existing entity'); + await expect(kv.transactionAsync(() => store.commit(JOB2))).resolves.not.toThrow(); + + expect((await store.getEntity(entityKey1, 'reader'))!.body).toEqual(firstBody); }); it('discardStaged drops staged writes without touching committed state', async () => { diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 1cce92a21681..d963859a0d14 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -102,10 +102,22 @@ export class EntityStore implements StagedStore { } /** - * Creates an entity. + * Creates an entity. Idempotent, with first-write-wins semantics. * * If `originBlock === undefined`, the entity is non-retractable: it survives reorgs. A defined origin block makes the * entity retractable: on a prune above its block, the entity and all its facts are deleted. + * + * An entity is identified solely by its {@link EntityKey} (contract, scope, entityTypeId, entityId). If an entity + * with that key already exists, this call is a no-op: the existing entity, its body, origin block or lackthereof, + * and all its facts, are left untouched and the supplied `entityBody`/`originBlock` are ignored. + * + * Creating a duplicate key never throws, so callers may re-run creation unconditionally without first checking + * existence. This matters because Noir has no exception handling: a throw on an existing key would abort the whole + * utility run with no way to recover. + * + * Users that need different behavior (updating an entity, branching on its current state, or distinguishing + * instances by block, to cite a few examples) must either read it first via {@link getEntity} / {@link getEntities} + * and handle the preexisting case explicitly, encode the distinguishing data into the `entityId`, or leverage facts. */ createEntity( entityKey: EntityKey, @@ -113,14 +125,12 @@ export class EntityStore implements StagedStore { originBlock: OriginBlock | undefined, jobId: string, ): Promise { - return this.#withJobLock(jobId, async () => { - if ((await this.getEntity(entityKey, jobId)) !== undefined) { - throw new Error(`Cannot create an already existing entity ${entityKey.toString()}`); - } + return this.#withJobLock(jobId, () => { this.#stagedOpsFor(jobId).push({ kind: 'createEntity', entity: new StoredEntity(entityKey, entityBody, originBlock), }); + return Promise.resolve(); }); } @@ -393,15 +403,22 @@ export class EntityStore implements StagedStore { } for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { - case 'createEntity': - if (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) { - result.set(op.entity.key.toString(), { + case 'createEntity': { + // First-write-wins idempotency: materialize only when absent, so a re-create never clobbers an existing + // entity's body or facts (mirrors #commitEntity skipping an already-stored key). + const entityKeyStr = op.entity.key.toString(); + if ( + (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) && + !result.has(entityKeyStr) + ) { + result.set(entityKeyStr, { key: op.entity.key, body: op.entity.body, facts: new Map(), }); } break; + } case 'terminate': result.delete(op.key.toString()); break; @@ -427,11 +444,14 @@ export class EntityStore implements StagedStore { /** * Writes a newly created entity to persistent storage. + * + * First-write-wins: if an entity with this key already exists, this is a no-op that leaves the existing record and + * all of its facts untouched (see {@link createEntity}). */ async #commitEntity(entity: StoredEntity): Promise { const entityKey = entity.key.toString(); if (await this.#entities.hasAsync(entityKey)) { - throw new Error(`Cannot commit createEntity for an already existing entity ${entityKey}`); + return; } await this.#entities.set(entityKey, entity.toBuffer()); if (entity.originBlock !== undefined) { From fed3132bd401c49980513f0584c583402aa84c2a Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 09:22:24 +0000 Subject: [PATCH 066/197] make blocksynchronizer ivars readonly --- .../block_synchronizer/block_synchronizer.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts index 13e138c157fc..56da75ea0f9d 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts @@ -27,15 +27,15 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler { protected readonly blockStream: L2BlockStream; constructor( - private node: AztecNode, - private store: AztecAsyncKVStore, - private anchorBlockStore: AnchorBlockStore, - private noteStore: NoteStore, - private privateEventStore: PrivateEventStore, - private entityStore: EntityStore, - private l2TipsStore: L2TipsKVStore, - private contractSyncService: ContractSyncService, - private config: Partial = {}, + private readonly node: AztecNode, + private readonly store: AztecAsyncKVStore, + private readonly anchorBlockStore: AnchorBlockStore, + private readonly noteStore: NoteStore, + private readonly privateEventStore: PrivateEventStore, + private readonly entityStore: EntityStore, + private readonly l2TipsStore: L2TipsKVStore, + private readonly contractSyncService: ContractSyncService, + private readonly config: Partial = {}, bindings?: LoggerBindings, ) { this.log = createLogger('pxe:block_synchronizer', bindings); From 1b4b0abb88886d359fcd7da909c5c04b7faef7aa Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 09:24:50 +0000 Subject: [PATCH 067/197] simplify test description --- yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index eddef24d60cd..02e5e8ac52b1 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -52,7 +52,7 @@ describe('StoredFact', () => { expect(factKeyStrOf(atBlock5)).not.toBe(factKeyStrOf(atBlock10)); }); - it('gives distinct payload hashes for distinct payloads and equal for equal', () => { + it('derives distinct payload hashes for distinct payloads', () => { const a = new StoredFact(key, factType, [new Fr(1n)], undefined); const b = new StoredFact(key, factType, [new Fr(2n)], undefined); const c = new StoredFact(key, factType, [new Fr(1n)], undefined); From a328b40eb1e39d15c8bdea1202d24ad2b48f5034 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 09:26:41 +0000 Subject: [PATCH 068/197] commitRecord->commitFact --- yarn-project/pxe/src/storage/entity_store/entity_store.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index d963859a0d14..acb6713ecbe8 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -228,7 +228,7 @@ export class EntityStore implements StagedStore { await this.#commitEntity(op.entity); break; case 'record': - await this.#commitRecord(op.fact); + await this.#commitFact(op.fact); break; case 'terminate': await this.#deleteEntity(op.key.toString()); @@ -462,7 +462,7 @@ export class EntityStore implements StagedStore { /** * Writes a fact to persistent storage. */ - async #commitRecord(fact: StoredFact): Promise { + async #commitFact(fact: StoredFact): Promise { const factKey = factKeyStrOf(fact); if (await this.#facts.hasAsync(factKey)) { this.logger.debug(`Ignoring already recorded fact`, { factKey }); From 63e6561ea392d5dc6b0cfa776c13ebaafec9b51e Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 09:30:22 +0000 Subject: [PATCH 069/197] rename internal staged ops --- .../pxe/src/storage/entity_store/entity_store.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index acb6713ecbe8..08d6be953683 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -31,8 +31,8 @@ type EntityWithFacts = { key: EntityKey; body: Fr[]; facts: Map Date: Wed, 17 Jun 2026 09:39:25 +0000 Subject: [PATCH 070/197] bifurcate block synchronizer prune test --- .../block_synchronizer.test.ts | 102 +++++++++++++----- 1 file changed, 75 insertions(+), 27 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 520356ad2045..bcd169fd9165 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -294,13 +294,11 @@ describe('BlockSynchronizer', () => { expect(await privateEventStore.eventIdsAtBlock(9)).toEqual([eventId9.toString()]); }); - it('chain-pruned deletes entities and facts originating above the fork, keeps non-retractable ones', async () => { + it('chain-pruned deletes a retractable entity originating above the fork, along with all its facts', async () => { const contract = await AztecAddress.random(); const scope = await AztecAddress.random(); const entityTypeId = Fr.random(); - const prunedEntityId = Fr.random(); - const survivingEntityId = Fr.random(); - const retractableFactType = Fr.random(); + const entityId = Fr.random(); const nonRetractableFactType = Fr.random(); const jobId = 'entity-job'; @@ -309,31 +307,82 @@ describe('BlockSynchronizer', () => { const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; - const prunedKey = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId: prunedEntityId }); - const survivingKey = EntityKey.from({ - contractAddress: contract, - scope, - entityTypeId, - entityId: survivingEntityId, + const entityKey = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId }); + + // A retractable entity originating on the abandoned fork, carrying a non-retractable fact: the prune must + // delete the entity wholesale, taking even that non-retractable fact with it. + await entityStore.createEntity(entityKey, [Fr.random()], orphanedOriginBlock, jobId); + await entityStore.recordFact(entityKey, nonRetractableFactType, [Fr.random()], undefined, jobId); + await store.transactionAsync(() => entityStore.commit(jobId)); + + // The entity and its fact must be present before the prune. + expect( + await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), + ).toHaveLength(1); + expect((await entityStore.getEntity(entityKey, jobId))!.facts).toHaveLength(1); + + // The verification reads above pin the job; release it so the prune's rollback is not blocked. + await entityStore.discardStaged(jobId); + + // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). + const anchorBlock10 = await L2Block.random(BlockNumber(10)); + await anchorBlockStore.setHeader(anchorBlock10.header); + + // The node serves the fork-point block; it becomes the new anchor after the prune. + const forkResponse = await blockResponse(forkBlock); + getBlock.mockImplementation(param => + Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), + ); + + // Prune back to block 5, orphaning block 10 where the retractable entity originates. + await synchronizer.handleBlockStreamEvent({ + type: 'chain-pruned', + block: block5, + checkpointed: { + block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), + checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), + }, + proven: { + block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), + checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), + }, }); - // A retractable entity originating on the abandoned fork: the prune must delete it, taking even its - // non-retractable fact with it. - await entityStore.createEntity(prunedKey, [Fr.random()], orphanedOriginBlock, jobId); - await entityStore.recordFact(prunedKey, nonRetractableFactType, [Fr.random()], undefined, jobId); + // The retractable entity is gone wholesale, taking its non-retractable fact with it. + expect( + await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), + ).toHaveLength(0); + expect(await entityStore.getEntity(entityKey, jobId)).toBeUndefined(); + }); + + it('chain-pruned keeps a non-retractable entity but deletes its facts originating above the fork', async () => { + const contract = await AztecAddress.random(); + const scope = await AztecAddress.random(); + const entityTypeId = Fr.random(); + const entityId = Fr.random(); + const retractableFactType = Fr.random(); + const nonRetractableFactType = Fr.random(); + const jobId = 'entity-job'; + + // Block 5 is the fork point; block 10 is on the abandoned fork (above the fork). + const forkBlock = await L2Block.random(BlockNumber(5)); + const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); + const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; + + const entityKey = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId }); - // A non-retractable entity: the prune must keep it, deleting only its fact originating on the abandoned fork. - await entityStore.createEntity(survivingKey, [Fr.random()], undefined, jobId); - await entityStore.recordFact(survivingKey, nonRetractableFactType, [Fr.random()], undefined, jobId); - await entityStore.recordFact(survivingKey, retractableFactType, [], orphanedOriginBlock, jobId); + // A non-retractable entity carrying one non-retractable fact and one retractable fact that originates on the + // abandoned fork: the prune must keep the entity and its non-retractable fact, deleting only the orphaned fact. + await entityStore.createEntity(entityKey, [Fr.random()], undefined, jobId); + await entityStore.recordFact(entityKey, nonRetractableFactType, [Fr.random()], undefined, jobId); + await entityStore.recordFact(entityKey, retractableFactType, [], orphanedOriginBlock, jobId); await store.transactionAsync(() => entityStore.commit(jobId)); - // Both entities and all their facts must be present before the prune. + // The entity and both its facts must be present before the prune. expect( await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), - ).toHaveLength(2); - expect((await entityStore.getEntity(prunedKey, jobId))!.facts).toHaveLength(1); - expect((await entityStore.getEntity(survivingKey, jobId))!.facts).toHaveLength(2); + ).toHaveLength(1); + expect((await entityStore.getEntity(entityKey, jobId))!.facts).toHaveLength(2); // The verification reads above pin the job; release it so the prune's rollback is not blocked. await entityStore.discardStaged(jobId); @@ -348,7 +397,7 @@ describe('BlockSynchronizer', () => { Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), ); - // Prune back to block 5, orphaning block 10 where the retractable records originate. + // Prune back to block 5, orphaning block 10 where the retractable fact originates. await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', block: block5, @@ -362,15 +411,14 @@ describe('BlockSynchronizer', () => { }, }); - // The retractable entity is gone wholesale; the non-retractable one keeps only its non-retractable fact. + // The non-retractable entity survives, keeping only its non-retractable fact. const active = await entityStore.getEntities( EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId, ); expect(active).toHaveLength(1); - expect(active[0].key.entityId.equals(survivingEntityId)).toBe(true); - expect(await entityStore.getEntity(prunedKey, jobId)).toBeUndefined(); - const remaining = (await entityStore.getEntity(survivingKey, jobId))!.facts; + expect(active[0].key.entityId.equals(entityId)).toBe(true); + const remaining = (await entityStore.getEntity(entityKey, jobId))!.facts; expect(remaining).toHaveLength(1); expect(remaining[0].factTypeId.equals(nonRetractableFactType)).toBe(true); }); From fddc1996617b765da7c554512a294fbff7585ccf Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 09:49:51 +0000 Subject: [PATCH 071/197] add doesEntityExist --- .../src/storage/entity_store/entity_store.ts | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 08d6be953683..177236d0de04 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -155,7 +155,7 @@ export class EntityStore implements StagedStore { jobId: string, ): Promise { return this.#withJobLock(jobId, async () => { - if ((await this.getEntity(entityKey, jobId)) === undefined) { + if (!(await this.#doesEntityExist(entityKey, jobId))) { throw new Error(`Cannot record a fact for non-existent entity ${entityKey.toString()}`); } this.#stagedOpsFor(jobId).push({ @@ -172,7 +172,7 @@ export class EntityStore implements StagedStore { */ terminateEntity(key: EntityKey, jobId: string): Promise { return this.#withJobLock(jobId, async () => { - if ((await this.getEntity(key, jobId)) === undefined) { + if (!(await this.#doesEntityExist(key, jobId))) { throw new Error(`Cannot terminate a non-existent entity ${key.toString()}`); } this.#stagedOpsFor(jobId).push({ kind: 'terminateEntity', key }); @@ -384,6 +384,22 @@ export class EntityStore implements StagedStore { return new Map(loaded.map(({ factKey, fact }) => [factKey, fact.toFact()])); } + /** + * Whether an entity currently exists. + */ + async #doesEntityExist(key: EntityKey, jobId: string): Promise { + const entityKey = key.toString(); + let exists = await this.#entities.hasAsync(entityKey); + for (const op of this.#stagedOpsFor(jobId)) { + if (op.kind === 'createEntity' && op.entity.key.toString() === entityKey) { + exists = true; + } else if (op.kind === 'terminateEntity' && op.key.toString() === entityKey) { + exists = false; + } + } + return exists; + } + /** * Assembles the current view of a collection of entities together with its facts, combining the committed with * staged data. From bf3906b880167c4ae04878f5730e21596adc641e Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 10:59:53 +0000 Subject: [PATCH 072/197] idb hardening --- .../src/storage/entity_store/entity_store.ts | 92 +++++++++++-------- 1 file changed, 54 insertions(+), 38 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 177236d0de04..f17a0532e634 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -287,21 +287,24 @@ export class EntityStore implements StagedStore { * Requires to be run in a transactionAsync context. */ async #retractFacts(toBlock: BlockNum): Promise { + // Snapshot the orphaned (block, factKey) pairs before mutating so we never delete from the cursor we are iterating. const factsToRetract: { block: BlockNum; factKey: FactKeyStr }[] = []; for await (const [block, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { factsToRetract.push({ block, factKey }); } - for (const { block, factKey } of factsToRetract) { - const buf = await this.#facts.getAsync(factKey); - if (!buf) { - continue; - } - const { fact } = deserializeFact(buf); - const entityKey = fact.entityKey.toString(); - await this.#facts.delete(factKey); - await this.#factsByBlock.deleteValue(block, factKey); - await this.#factsByEntity.deleteValue(entityKey, factKey); - } + await Promise.all( + factsToRetract.map(async ({ block, factKey }) => { + const buf = await this.#facts.getAsync(factKey); + if (!buf) { + return; + } + const { fact } = deserializeFact(buf); + const entityKey = fact.entityKey.toString(); + await this.#facts.delete(factKey); + await this.#factsByBlock.deleteValue(block, factKey); + await this.#factsByEntity.deleteValue(entityKey, factKey); + }), + ); return factsToRetract.length; } @@ -331,13 +334,16 @@ export class EntityStore implements StagedStore { * Reads are not wrapped in a transaction: the caller owns the transaction boundary. */ async #readEntitiesFromDb(entityKeys: EntityKeyStr[]): Promise> { + // Issue every read up front so a DB request is always in flight: a sequential await-loop would let the IndexedDB + // transaction auto-commit between reads. + const bufs = await Promise.all(entityKeys.map(entityKey => this.#entities.getAsync(entityKey))); const entities = new Map(); - for (const entityKey of entityKeys) { - const buf = await this.#entities.getAsync(entityKey); + entityKeys.forEach((entityKey, i) => { + const buf = bufs[i]; if (buf !== undefined) { entities.set(entityKey, StoredEntity.fromBuffer(buf)); } - } + }); return entities; } @@ -360,26 +366,33 @@ export class EntityStore implements StagedStore { * Caller must wrap in a transaction. */ async #loadCommittedFacts(entityKey: EntityKeyStr): Promise> { - // Snapshot the index to avoid IndexedDB transaction aliveness quirks. - const factKeys: FactKeyStr[] = []; + // Kick off each fact read while iterating the index so a DB request is always pending. Draining the cursor and only + // then reading the facts one `await` at a time would let the IndexedDB transaction auto-commit at the boundary + // (IndexedDB auto-commits once control returns to the event loop with no pending request), throwing mid-read on the + // browser backend. + const factReads = new Map>(); for await (const factKey of this.#factsByEntity.getValuesAsync(entityKey)) { - factKeys.push(factKey); + factReads.set(factKey, this.#facts.getAsync(factKey)); } + const factKeys = [...factReads.keys()]; + const bufs = await Promise.all(factReads.values()); + // Await-free tail: deserialize and order. No DB ops from here on. const loaded: { factKey: FactKeyStr; seq: number; fact: StoredFact }[] = []; - for (const factKey of factKeys) { - const buf = await this.#facts.getAsync(factKey); + for (let i = 0; i < factKeys.length; i++) { + const factKey = factKeys[i]; + const buf = bufs[i]; if (!buf) { - // Defensive: a #factsByEntity entry must always reference a live #facts entry. A missing one means the indexes are - // corrupt. + // Defensive: a #factsByEntity entry must always reference a live #facts entry. A missing one means the indexes + // are corrupt. throw new Error(`Fact not found for factKey ${factKey}`); } const { seq, fact } = deserializeFact(buf); - loaded.push({ factKey: factKey, seq, fact }); + loaded.push({ factKey, seq, fact }); } // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB). We sort by the - // a sequence number so facts always come back in creation order without needing to resort to timestamps. + // sequence number so facts always come back in creation order without needing to resort to timestamps. loaded.sort((a, b) => a.seq - b.seq); return new Map(loaded.map(({ factKey, fact }) => [factKey, fact.toFact()])); } @@ -389,7 +402,7 @@ export class EntityStore implements StagedStore { */ async #doesEntityExist(key: EntityKey, jobId: string): Promise { const entityKey = key.toString(); - let exists = await this.#entities.hasAsync(entityKey); + let exists = await this.#store.transactionAsync(() => this.#entities.hasAsync(entityKey)); for (const op of this.#stagedOpsFor(jobId)) { if (op.kind === 'createEntity' && op.entity.key.toString() === entityKey) { exists = true; @@ -496,24 +509,27 @@ export class EntityStore implements StagedStore { * Deletes an entity from persistent storage. */ async #deleteEntity(entityKey: EntityKeyStr): Promise { + // Snapshot the fact index before mutating so we never delete from the cursor we are iterating. const factKeys: FactKeyStr[] = []; for await (const factKey of this.#factsByEntity.getValuesAsync(entityKey)) { factKeys.push(factKey); } - for (const factKey of factKeys) { - const buf = await this.#facts.getAsync(factKey); - if (!buf) { - // A #factsByEntity entry must always reference a live #facts entry; a missing one means the indexes are - // corrupt, so fail loudly rather than silently skip cleanup. - throw new Error(`Fact not found for factKey ${factKey}`); - } - const { fact } = deserializeFact(buf); - await this.#facts.delete(factKey); - await this.#factsByEntity.deleteValue(entityKey, factKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); - } - } + await Promise.all( + factKeys.map(async factKey => { + const buf = await this.#facts.getAsync(factKey); + if (!buf) { + // A #factsByEntity entry must always reference a live #facts entry, a missing one means the indexes are + // corrupt. + throw new Error(`Fact not found for factKey ${factKey}`); + } + const { fact } = deserializeFact(buf); + await this.#facts.delete(factKey); + await this.#factsByEntity.deleteValue(entityKey, factKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); + } + }), + ); const entityBuf = await this.#entities.getAsync(entityKey); if (entityBuf) { const entity = StoredEntity.fromBuffer(entityBuf); From a7d00a003039e141830cb26634c93db38fac7e9e Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 11:11:01 +0000 Subject: [PATCH 073/197] tx->tx_resolution --- .../aztec-nr/aztec/src/messages/processing/offchain.nr | 2 +- noir-projects/aztec-nr/aztec/src/oracle/mod.nr | 2 +- .../aztec-nr/aztec/src/oracle/{tx.nr => tx_resolution.nr} | 2 +- .../noir-structs/resolved_tx.test.ts | 2 +- .../src/contract_function_simulator/noir-structs/resolved_tx.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename noir-projects/aztec-nr/aztec/src/oracle/{tx.nr => tx_resolution.nr} (99%) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr index 97bf746932e3..dd2317bedb0c 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr @@ -155,7 +155,7 @@ pub unconstrained fn sync_inbox( } // Ask PXE to resolve all requested tx hashes. The oracle returns responses in a new ephemeral array. - let resolved_txs = crate::oracle::tx::get_resolved_txs(context_resolution_requests); + let resolved_txs = crate::oracle::tx_resolution::get_resolved_txs(context_resolution_requests); assert_eq(resolved_txs.len(), inbox_len); diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 2375b0a88764..5db707ac1451 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -11,7 +11,7 @@ pub(crate) mod ephemeral_oracles; pub(crate) mod transient_oracles; pub mod contract_sync; pub mod public_call; -pub mod tx; +pub mod tx_resolution; pub mod tx_phase; pub mod execution; pub mod execution_cache; diff --git a/noir-projects/aztec-nr/aztec/src/oracle/tx.nr b/noir-projects/aztec-nr/aztec/src/oracle/tx_resolution.nr similarity index 99% rename from noir-projects/aztec-nr/aztec/src/oracle/tx.nr rename to noir-projects/aztec-nr/aztec/src/oracle/tx_resolution.nr index b069da2be740..b288f4897e07 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/tx.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/tx_resolution.nr @@ -20,7 +20,7 @@ pub(crate) unconstrained fn get_resolved_txs(requests: EphemeralArray) -> unconstrained fn get_resolved_txs_oracle(requests: EphemeralArray) -> EphemeralArray> {} mod test { - use crate::oracle::tx::ResolvedTx; + use crate::oracle::tx_resolution::ResolvedTx; use crate::protocol::traits::Deserialize; #[test] diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts index 657d58204953..17164cb8bb38 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts @@ -97,7 +97,7 @@ describe('ResolvedTx', () => { // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data const fieldArrayStr = `[${serialized.map(f => f.toString()).join(',')}]`; updateInlineTestData( - 'noir-projects/aztec-nr/aztec/src/oracle/tx.nr', + 'noir-projects/aztec-nr/aztec/src/oracle/tx_resolution.nr', 'serialized_resolved_tx_from_typescript', fieldArrayStr, ); diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts index d0c3ccdae85f..15ffa7ea9518 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts @@ -9,7 +9,7 @@ import { TxHash } from '@aztec/stdlib/tx'; * Carries the note hashes and first nullifier needed to discover notes that originated from the transaction, plus the * number and hash of the block in which it was mined. * - * A TS version of the `ResolvedTx` struct in `oracle/tx.nr`. + * A TS version of the `ResolvedTx` struct in `oracle/tx_resolution.nr`. */ export class ResolvedTx { constructor( From ed15279ed974480b1421ab973a22a1aaa2ce6dad Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 11:21:09 +0000 Subject: [PATCH 074/197] remove dead code --- .../noir-structs/resolved_tx.test.ts | 26 --------------- .../noir-structs/resolved_tx.ts | 32 ------------------- 2 files changed, 58 deletions(-) diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts index 17164cb8bb38..ce4aba29c4cc 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.test.ts @@ -102,30 +102,4 @@ describe('ResolvedTx', () => { fieldArrayStr, ); }); - - it('serialization of some option matches snapshot', () => { - const txHash = new TxHash(new Fr(123)); - const uniqueNoteHashes = [new Fr(4n), new Fr(5n)]; - const firstNullifier = new Fr(6n); - const resolved = new ResolvedTx(txHash, uniqueNoteHashes, firstNullifier, 7, new Fr(8n)); - const serialized = ResolvedTx.toSerializedOption(resolved); - // is_some flag + fields - expect(serialized[0]).toEqual(new Fr(1)); - expect(serialized.length).toEqual(1 + resolved.toFields().length); - }); - - it('serialization of none option matches snapshot', () => { - const serialized = ResolvedTx.toSerializedOption(null); - expect(serialized[0]).toEqual(new Fr(0)); - // All fields should be zero - for (const f of serialized) { - expect(f).toEqual(Fr.zero()); - } - }); - - it('serialization length of empty matches some', () => { - const txHash = new TxHash(new Fr(123)); - const resolved = new ResolvedTx(txHash, [new Fr(4n), new Fr(5n)], new Fr(6n), 7, new Fr(8n)); - expect(resolved.toFields().length).toEqual(ResolvedTx.toEmptyFields().length); - }); }); diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts index 15ffa7ea9518..c8229e60f83a 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts @@ -1,5 +1,4 @@ import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants'; -import { range } from '@aztec/foundation/array'; import { Fr } from '@aztec/foundation/curves/bn254'; import { TxHash } from '@aztec/stdlib/tx'; @@ -30,40 +29,9 @@ export class ResolvedTx { ]; } - toNoirStruct() { - /* eslint-disable camelcase */ - return { - tx_hash: this.txHash.hash, - unique_note_hashes_in_tx: this.uniqueNoteHashesInTx, - first_nullifier_in_tx: this.firstNullifierInTx, - block_number: this.blockNumber, - block_hash: this.blockHash, - }; - /* eslint-enable camelcase */ - } - static empty(): ResolvedTx { return new ResolvedTx(TxHash.zero(), [], Fr.ZERO, 0, Fr.ZERO); } - - static toEmptyFields(): Fr[] { - const serializationLen = - 1 /* txHash */ + - MAX_NOTE_HASHES_PER_TX + - 1 /* uniqueNoteHashesInTx BVec */ + - 1 /* firstNullifierInTx */ + - 1 /* blockNumber */ + - 1; /* blockHash */ - return range(serializationLen).map(_ => Fr.zero()); - } - - static toSerializedOption(resolved: ResolvedTx | null): Fr[] { - if (resolved) { - return [new Fr(1), ...resolved.toFields()]; - } else { - return [new Fr(0), ...ResolvedTx.toEmptyFields()]; - } - } } /** From 1f291dafa7b7544400ae579023f78b6f05fe72cd Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 12:17:34 +0000 Subject: [PATCH 075/197] remove resolve message context oracle --- .../aztec-nr/aztec/src/oracle/version.nr | 4 +- .../aztec-nr/aztec/src/standard_addresses.nr | 8 +- .../aztec_sublib/src/oracle/version.nr | 4 +- .../aztec_sublib/src/standard_addresses.nr | 8 +- .../pinned-standard-contracts.tar.gz | Bin 1103036 -> 1116046 bytes .../src/contract_function_simulator/index.ts | 1 - .../oracle/oracle_registry.ts | 10 -- .../oracle/oracle_type_mappings.ts | 5 - .../oracle/utility_execution.test.ts | 95 +----------------- .../oracle/utility_execution_oracle.ts | 32 +----- yarn-project/pxe/src/oracle_version.ts | 6 +- .../src/standard_contract_data.ts | 30 +++--- yarn-project/txe/src/rpc_translator.ts | 9 -- 13 files changed, 34 insertions(+), 178 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/version.nr b/noir-projects/aztec-nr/aztec/src/oracle/version.nr index 5fbc2b55a97b..258e230809f6 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/version.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/version.nr @@ -10,8 +10,8 @@ /// the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. -pub global ORACLE_VERSION_MAJOR: Field = 29; -pub global ORACLE_VERSION_MINOR: Field = 1; +pub global ORACLE_VERSION_MAJOR: Field = 30; +pub global ORACLE_VERSION_MINOR: Field = 0; /// Asserts that the version of the oracle is compatible with the version expected by the contract. pub fn assert_compatible_oracle_version() { diff --git a/noir-projects/aztec-nr/aztec/src/standard_addresses.nr b/noir-projects/aztec-nr/aztec/src/standard_addresses.nr index a7dac2a68612..cc33df1fc494 100644 --- a/noir-projects/aztec-nr/aztec/src/standard_addresses.nr +++ b/noir-projects/aztec-nr/aztec/src/standard_addresses.nr @@ -2,17 +2,17 @@ use protocol_types::{address::AztecAddress, traits::FromField}; pub global STANDARD_AUTH_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x023cb6fed0ebb1235f1c2a6656c3b2438b84d24705a517211dc186db7d1ba754, + 0x132d50137a60029242c7fd4106a6759ed80f9604272444a279f55855009c00c1, ); pub global STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x27d70a9a022dcd1195a8d2a4a3a8c89b5af1d7831a68891d052af0125a1f1341, + 0x2ee665f76facc4c7ea213616657d52ea7c60cf85d023a270e3f604e32794f093, ); pub global STANDARD_PUBLIC_CHECKS_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2f5e1e2b07b1fab93a0d8217643d988da90e12bd9c41a42265eabfe66c1824a8, + 0x132bfb0d4f5a7c48f678f33adaaaf0ad6c3cc327ce59a0780c38c529f15d0e12, ); pub global STANDARD_HANDSHAKE_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2491f3a3cdfb66c89b1ea0d1d96fde4ea3e64cd48f122b81efeebf7ec24ce24d, + 0x041b57f2e7316dff3b3b3aa5ec5f9cc781da576caf4b3779e92e8b273ded3d49, ); diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr index 8741e2426b9a..bd0ff1883bb7 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr @@ -10,8 +10,8 @@ /// the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. -pub global ORACLE_VERSION_MAJOR: Field = 29; -pub global ORACLE_VERSION_MINOR: Field = 1; +pub global ORACLE_VERSION_MAJOR: Field = 30; +pub global ORACLE_VERSION_MINOR: Field = 0; /// Asserts that the version of the oracle is compatible with the version expected by the contract. pub fn assert_compatible_oracle_version() { diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr index a7dac2a68612..cc33df1fc494 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr @@ -2,17 +2,17 @@ use protocol_types::{address::AztecAddress, traits::FromField}; pub global STANDARD_AUTH_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x023cb6fed0ebb1235f1c2a6656c3b2438b84d24705a517211dc186db7d1ba754, + 0x132d50137a60029242c7fd4106a6759ed80f9604272444a279f55855009c00c1, ); pub global STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x27d70a9a022dcd1195a8d2a4a3a8c89b5af1d7831a68891d052af0125a1f1341, + 0x2ee665f76facc4c7ea213616657d52ea7c60cf85d023a270e3f604e32794f093, ); pub global STANDARD_PUBLIC_CHECKS_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2f5e1e2b07b1fab93a0d8217643d988da90e12bd9c41a42265eabfe66c1824a8, + 0x132bfb0d4f5a7c48f678f33adaaaf0ad6c3cc327ce59a0780c38c529f15d0e12, ); pub global STANDARD_HANDSHAKE_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2491f3a3cdfb66c89b1ea0d1d96fde4ea3e64cd48f122b81efeebf7ec24ce24d, + 0x041b57f2e7316dff3b3b3aa5ec5f9cc781da576caf4b3779e92e8b273ded3d49, ); diff --git a/noir-projects/noir-contracts/pinned-standard-contracts.tar.gz b/noir-projects/noir-contracts/pinned-standard-contracts.tar.gz index a65a1fe544c3b0eef069e33366494bf68035247d..5e425b17f30df0979df12d7980358ae88a6908d1 100644 GIT binary patch literal 1116046 zcmV(>K-j+@iwFP!000001MK~If7?cuC=B1f=To4aJYzDUXpve?FZU|8(($hy+1FN* zp0RyNh=e4xNq`NImer2m&;FjJc2t3&Bs)%zH9fHe6ly(n_9b2}&WA;EmX?d+ayZVj zMG=n|8wc?Cg?QTiN112;>l#0s@Uy$U4gc=-clLISe>XR`x3>5Cd%geF+v)eVcQ$u7 zx8QkybGO(3U(x1u25tJYEEjPRMgMCS7mKuJnXBIaNq;{4M-<&UO{d9l7SC@DBK#Yk zY^q=J^)eeT(mWeZ^Kp#7l<@YIcpIs9)HaJ}3B0`(CuOg{KTNW5aXDYy>X>bC#~09O zYp16kf9$N&-*6sJCdp)&X7gpB^ZovIT-N?~2mX19AJCxbs`&#zMKMgA(j{OELWgdJF8)OTmE*6tLS zCyw($RCAqL<{uq6i4JakTXe=fyw0H0*V#9(V5UiWmbL8u+HYQGm7})?vEaag0Q>Om zb2knhj+rJQZ&Z>^)O~uL0nkTut>uO-%Oon70P}-^J+FJ%99w+z3O{%wjv$M~dw^+U z&vD)~U)aRgx85f2run<1EP#rMcn+&t%bef)~N#V!!J6p|Z$Eqn*XW$1ZN;$>FwFL%mf44;jQ zT)ern;&1{a6mRkvS3ej`^RqL+cK~F@Lmpx<_<-HQzemrG4_|ho!+}=oRZzRAf8pqQq5YAEcbVoq5D=*ZNMjfEkf zEz((nSoYdixJ5MK|1RO}#H9R{&j2s3e_0idt#qj-uy()3)D`jhC(hp_G~ZUH5_+e) zlYQY29`i35-b;gt1imr{4wFE{W*y=Ah&sdL8m1FIZUB-@F1n0TAg1&wZDuRWvyC#H z<_NmjIL%-WBE2higR)%CXdr+)*-3PgK>ulmBqf>f?9BJ)(V|F_=pqHijb{g4juT`q zjb++vK0XH~Rgw~9SmWg)p8-9=TZKD-mS+o+8^|$zghX?!;HXcMj|gec(th%u!Z?7qYi=-A-Ji&C(Q9|j-YbC z4zo!lc#usLW_xH}R{Zhc4&wwnyx$#b>pIppbt+rZF;>^^f`H!oU3LCDj&IKZe-KUa zrLz!UWoz;IU?8XLe$lGVM7=YaPIJ^{mi}{@tTU?nMN6Mmr?Lp&u>OerSf z=tMVqV)uLpv@V>vU}nKJP1^t7*#%FlkM^UFZT>^-$2%l9FK3rSn-=~^bCj>d}Iww9i-G3-a4(hg>4-ziAf&`$uc@E@)_U6=O|O3OcM~H zP+Y}9^OFT`0KUe%QA{rZsaZp*nRJLJ7q`ygs!h(kYYPq0Z%G8;l~3RCM{vVXs)Vhj zsh1J$y{RFF*30Pvajn4c@8an)K?ylSOjgdP>DXlM34K~ao=o%cTWAZ6w1IArl3&C{ zCUlv@Sz6Ko134E`Kimww5Lq$gcKO+mr|O`V*SDS%Uf~@OieS~9l9}nufpUD<{5Xh` z_jAUJA9^37Q@ksHw$A|iKlDF#qnB^f`5c#wA9i2gGFi%do+T_Z1c6KgU!z6b`h`EM zOs_fto7Iqt?DW(E_aQA9@E6=%B!4B~@DjC!|L2vd;|n9 zvOL(#y>}!qd$cefk^ocz&njUZ-Fd?^z%WN`# zix>5#=dRH_bqQEr-uv2li^=%rU7fjK6Y^OO0J+)Pg;eL(Y)t^$c`-z)Fa%!m0Wy?n zg^hFvgGMgXTOmyDH}u}~VP#fLZ(E~w-TAUSAD+M&d(Onmfy$q6?VYjj-Gk`cDiI9z zgg=0u4@iNOya#BB%J?){Tml_V0Qi8M&EmIcRVflp4-6j8VBtvJgRdoGtsRnaG|GTX zO>e^h@kzcUB1jN6FAxTRbtvKsDWH+P6p;1%WCGOfUx`q90cVS(ODLae#}&6q^8~

tYPk>KuL3SpzX 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

AifkLr&yVF!=K9h8K`Tq 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

45@Uf8+ZWz?9c3^;%+uvXGXD&+yCzEMV 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�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νqBc3N5TI%b;^CSYJ&S1hW9kH^+@*}X!9 z+*71I&=-$&hq%I+^HH~Op2Bd&cpD8&a1T7jfRa2Z2HXK8z#i)@;Wt5>t*OZ`WTj~+ z@*oY{t5o-H*PL5W;Qve+L9VmB{dm)-WJz2Pe=irV zjqz}x0~Vgp>K&E4Z~*K})FC#=pDw83Y-6ceTzFVmQTuKqcwjj$rk-2D|DmBzFSECIK}T8C5U4d$T4Rf+7ph9_IVkx zGcNhy=}XoM>gOa}LPpQ+c35?JaW@YRI!cgK@~Bvtn2)uJb)&yTtz+qORj6r9Hv_9z z$U`32fzC_u{31x=V?9q^mk;onK5(AAyGK3L%k+Wr38s=q!1p0ThWNUTU*v!Dn zJy%H(bNa}8l;MS$>G{EOcV!~FM^-}U!gygyQp~DW{F-K4X0BLyD2p3Gf{@szMpt^t z={TG~pT>>r+EYHLP~bwE$%5_0t>|kFahi_d3Tb>Obn_u9Jo5V)T3b^#6xH?hj8k$y zJCH>NU2I&0Ax0~Sp8RpHDMXrLdJLQguJ@huNn_mSNTuBF1C#xJ&Ja@ zIPIlG3QsqmLY-A{BB_e zDI76qaDnb5DQ04WJ1YYo9V4p2y=;snff3%(J@B)8&{$@5rAi147I> zQptRgs@$aPev4_fVkES1w1iW7E(;1dCOM%iQ|XBcxx!d=_^?#JCLRd&n$bZja&BVH z8bZ{9nMv)0yW&q!EMy8g{owd9a#rhmc#`|P) zl8mTi7@p;RHiOX)#Iwiv=#auBTVmNSNZIgPHhlY05tx-_@4}T_iq)n7l5mI|5Q;)r z1*5gFAd0Th`(utIdyb)RtQBF3#hQC`>wFidW3q&bSQu$`OfHk*QU{qbzPxLT*L`sT zg8-8WVc%mwa&_k9HP06}k~aCc;YxZ|%p2PFJFN(=?2V$nks`-b0Mf(AzJjzW*Ap1E ze%alMPfvFCc9VE}w0^QX>}+>-ldbjBQ4*iVo7)@fTYHTF9 zx03E=_axa_A3DdWsMEn6K^J*_^#gh|D9aa0@XKrcHRTe~Bi${x&NV-Nms zwB0?~+etcGySu~ny{)~ionf-G8Fz*o-O+Y3+=2I}$@b3r)@W~QW7h*;EcT{x7YG3S zxAEo<#j^D$X^y1`7O!aHbk5$~X|_cn5fSv)Y*Q>wqf=bC&hIznZC}4!@7(PFZg~lM zc4`^x^yA&d10x_vP)g5!NiQ7f9U3kW#{^0h@@W`8$cE{uU~=-#?Xk?1EA!}w68Rgx zR;*2CeJ(@9w}00U$iyEH&9qLWKq5~Bq7|v=@PCS9C`9VWBj~Q<)5YtE4LDL^U~BxH zq_xNwo{&G=h*Ind+(Re2aVGdL3bvf~6h@h4v*lPP^CsJGGG9Z}un0KAz?=nT z17r%1HU(W_fwM3xmoX6~R2YW*3$o!`6Hh3TQ7E-?ntR(vh4UHQb08AIdo8M3wO0#m zSySjNT}ogNo#(w?jFwqr7^ZjCrqnIRqR)Xida)`I{$T)AdabGns}Agst-7?l zyDewZ=-T;2p#^JPg$PKa_{O*s-1O6IJkBnJ_ghT+7tcun1#;<|JHnAfMMx{(k_0m} zle;r-9D5Q|ghAA}5WFLO0(epwS@;M~lEry8%2k3L>bdFJw!T9D=)L7GR==RMr+A^w zQj=fagbb5|Qcir(k||5cDv3HQB8-$x=+vN(xlsE9L^7KlA2?k5K)PhD{ zpy%m-?@r#+EM#YuFJ7YQ$pVlsISPG>8I{QD}>_#682d?kIPl?#AX!E$`&diUf7NC(y$cD=a zx#*J8-cI6slAOoyQi2v-ppsY(kkX`_%7&7x5l?1DMo0>4Z6s`6jk2gkEriUr&SofI z&UKM*-ELqZgvdM0m-&yF0!vsQ#eyHIs89WwKFlTM&l;5G9XH`!3uoGtQ4*c)f{H|q zs-~gR0p7+WwkpnI+nPm#0;bmhfsoU}u#}P1#)4BYU3;PW<7Be9!3MPzVHjNSI5XOZ77S+~hoa>+KB zvG1cxE;*~f2Gvi1)?9T+J!PVcr}NX_sOGnx>~{X60QA|7?kYBLI`>`H2A)^Hq04Dt z^#a)i*2uOG%KBy8k?^Y*`~=$p6AD_2{)ry@XmVd-0*^CF47|*vb0CShm{YWx57{PZ z%OSq04n#l{%H2ApwZ(fSZX8r!7EbZTi`b(C(ZO%nWqn@zvS0}m@sRdcKFy%AL|R9$ z)|OVOKYp!??XPvU`NTKmazB>@CzThJrkuPQrl7NUexk$8;Tn;K5E|;{s3W{D z|CQ0^+Df%gZGa@hr?CsJ&b?Zwgu5NG=an`Zff)NF=b8o@%ZbjMV6((*9XOn~O(uP( zvUn1mY+TIWxK!^1?Lq`X(+(CqVp#t1$yCM zm=M5!?))45)uMmybT)VI^rH9w#*Obt8*P7_iPWs{_VvHX&ffo< zd^x*&-P;ZS1oA~WmHoY^87w0&} zy~%WOZwZHf4U@p!o508E^d1qHHLN9qt`7I6Svp?>k?)@vgDYN6=lsjPd_KGXsygKra{qTRd&JTVX zJxTMkC2N}W+>y*C00VJFeh3`* zJCgG;X4&GDZ*ksZHsT5~hC>=@+(x7E5{*5L&UUmG;qU(k%`#0iwKP^hmTGiUL;4Bz z!{b!#YhxV~&2Ds>m?RSZ3!U9Y&&{UPmfpsSCFpJidY^8^_oH^Zjb0iOnMRoit5--I zN22yPmSaNiIC4a?vUSmzX5Ku^Re=c!m!otc3Mx^_r+krRqjvN>yJ(4&7I!hsDR5>Y zk#dg$^Z?6a<$Wb`V$itp32T|;JN21%;JKhAtJL}f-|Lh{`2+vccrLOR{}^p=QfT4| zW`HZuEJV1Sj!}HM&_Rmp^rs3Y!m-S2{sS9JVej;W{tqW<_Kojl6=)hi!`EsmVxBUY z1HU`g6XX&3F%M@=*z?+0z>s04ru$=IP5!xS?!%pMD`G$b-}zETQX8dw{HqZRZ{Hrf zCwD;irOUeOuQ4^Y*~DDEzl8?Ci?=cp3+Gg@FpTcgUNJdB%SyNP4C(91MK;4waOiUN zDJ7^QlE00e)Pu4Zo2pIbgMBG)M%(dtVZ(eV!Toq)190_RAKU0(=>rYkR|$s1_2~CV zK&iJfS#v!Qi8LbF1!a%px{{;lMCLP{CR8%oEFVZ)9+TGK%^i$2dvixs1jpT+A(=B% z<+USpnBM3BNf{>TxIqh{k?#r8t)E1)WrLeZO7CkKMGfg%O8s6!e^;1K27dc7y28rN z^yO95Y*)br69<07acnf0@FUJ^fWO5`0A$` zj8x5z^#iA9#%U$igzo7TY}pDVsLPP8>`!09IA3w;`7)>5TnJ`NUp!K}Gt!w^ccQNgFC)>{5>p4c458sYG?Ous+|>za%p^^To-ayA&u$IPGvQjNSRZk`;DEgt;*eV zw6jSYg!dbyLy& zSv88Zr>nJxg2GU13}`1zKvFP2jfe3503SS+f43s~`!E^9B(k{-?Dys=FmeSPE)Lt(ZNgU8~%$rO=CJlJ6vIexG!(>j%Mwt3hrZNez zh7<4F>2h*{cG**zEsLrjsOWe~R3kZbnFB|K)>CTf%XMNVO=fFjeA>+CY)bdqw^n*uc8Jrz@G@rXJ-MTB-`R8?@r zMocPY?39^Ky^*v*qE*S&iFq2e3^=!%PA5qvBH+9g3Boq%!;~WXfVd}Mh2(d|Dk1{$xLD&Y$&%fLP#jP{rahHHP=Djv|}fVRZ2^(|_(rGFS3Gr?R;~ zb&`>L{ZEobj4Zggcr3QH6oG7>Q(px=6fOB~!@>LMsL?cPs#5^u_GT*p7l|Q8ioPd_ zPDW~6{G6-t_HTZb(Nm>q9N-KEJ2s$Ho~S6oEOXLKP{J*cAxR`9z`Oy>$l~N*56Tz< zVjR?@upp_Z*mjP2B36BCBvYaM;cHxRlWVt;i-AgVfl2eQ-RpsNbQ>J=ureNBv7qYG zLsCV257}OmyK`b4WvzF<`S6vfZ${&fG>G5^q1wec(3JF)KNCDG+;O>Bs{)$@n9u*C zUXC{9ttJ^W$?^LfHiH0eXo4coPtU+=17Ey#Vf?)DBgxT;Oq&f$@NCH}o&NrO{L!PP znf}$7l%P$(TGgdO208O))-2@TBnN1d7+~HSb6r-_BNL!1gtJ%|@w4B>Vql;`l%#`G z!AV)pOMz-#-7Bx}Te!kM!8LAQ<#M;J#AYVaVYc8pm#*v0>|xoQ;z-75t-7nS7hWD5EvHBgSraCVl9@t}(`Qr9XKTiu+Q)s<8P zq$;T{rFKfObj8N3yhNAhod4;Im7y;*!BB0kP+$D9|LpezorY`YzV%jPqHfYzSADFE z{nt8RPrgclx@v0dx=#~owz0mrz$9PoWpTrK>YMwoDf+8rtf$y#Lv9(Nwn>0n=IL#^ zl?`n4Y6QIU3o~v8GI8mEd22pFEb=U*&M6J7#t+3XP*$zQnUb;R9wxb1~*i%ZwQW?-R>gbY_fDqWt5nlJ2bO-ZZLmT+((3`ux2~!ChFcTLkErsd zJSG;kmLe$UfB;crIbP;oJLa<&nv>ny*xcCN-q`JKbT`)bwtyP!?rp7a?(TJWU_*C0 zn_FAmjSas&^w+1lpY2WPU}t-C8za{?Iy*b-o1NY5?)uiw=I&OvyS=`#2R+kDiap8d z9vDEVdR)I0S*F835-?9B22s9X&fd#lpu$9pi%cdF((J#nS}}{J0gcop}AibIjF=u@rREXcsh2XC^G#qFdZr(l&q; zOGX@_o0zztQ3#LT?os+K%@GL-bw@;*BGtk$dmt{6KQU@yVUkTZQ5Kc|LqwxiYxn^= zcp2NJSlz}LLp-pt)Yh(2r)j>R3djR{B?l{vASt)%yA@rTqnu>f*wBYvqK4$kWbUwt zM@Wz59OK3%bY3VY6YbN*%gW0}JkFv=Xy1$e{okYbJjI$zC+BH1`tX5YK6q%orI&=I z4yV$Hdk%1EMw( z#!LiW62mqwDGDE5B2jQ@s~!NN`eR^cF_4Isk*@%UzlTns2S3cP2U%L(X4XZI4>fiW zXrK>|<_bCnaKV4qXppt2gN}@%3#E>XesGS1)d$S#A^4<~U@4U?}z4K8tumLJ0>M@PNL>Y1pY-Y?wpUYc zU~fEzb&sy>>(Fj3@wITpoB#!HT9t&<5%(P!^Q?fW^Ck6Y9 zx#O~1cZ)?&1ud1n)A-+(Y}qW^rE%#l>8&J?-M704>~N7GDBo#gQ^k&@)6lm1NsxDc zi)hMwn_?&|FeoP$6B3W}Acta1@QCZ6A)!*4;b1r8d5YBp5IH!#ja7x!Kk4+eFz*<^ zSSV-a-v_sau>iH~!a|DO(TJYzG{fcq(S)as4FODYut6@tG2-NgG;s9d3CL9Y=tmZ% za8i&>A%^|U9jdeS=1##(AtXYQAF+g&TwhC{wpN6Hj_LpTrXiZwiir9d1leOUA-mBO z>$g#fF;||Htwj|ub+Y_s4V0B^QQb%QM5zYRz?dEqXm0PJpTZf)=E z?yXZ7#@|(XEB}7IuALdKs9X)qv#N@lcZOeUH+tn0%UC?PC`iAMWI9bl4 zy1o3!y>#l{5B6 z|9XuEz&8{nH&<}e6JsBsht@RLO0*j=zb;O&>zg5URyISCS`qs2OmRht1>-ihmHL5O zImms;SKb>nc;ozSTyhP-yG;PgW;b*L7mtd`Dh0Z8*SB}vA8e(jpzkvUQLu_$9=mHH0 zWw>oh?5-JyyQ-+S8J{Zyx^#GMo%mdw@aphfY;`yH2dkFG-YTF~3ccM3n21Yyd-3<@ z2d|1@x3&5>JbLj8k>c>#izBpQs;sT+-U299~h5}3Yf8ju23>(4+Sjx3hSTF(T z<^JRUs2dSn4Q&)ms{{mFh_0&rVriHuhxG_1W?%-}a9La7Sv%(lN&s~s=EmeC2FI*) zzlw%SfY?M0%Gtu_!iKrbjY`xo)d?OskvJ5{^K=x?NB+s5ptuYK2EM`iGh{XafK!11 z#u-2XnPA2fZCuL3J)oP{h-wkf&7c+{b#!ry2iXPHtFdSmzY!>7);g{m#as;+Fy@a! zqd+{D6tR8?^K-Q_Vo83~#8rhZlQM)(DghGEnQk(C6pRzCxP-4UOtj+E9|G~N9wl0> z(-lFY+WFQD5xp6a|JT(nAB@PPV_*b0*6XZz3sID(ae(Uew=!}S`!aQB23Gq+ zR;vsej#o9h_lK(DhUAJa(&3UZt2oWl@Kh^QfKIWH9dwwf<*sjdM%2DM%0fzACh_)i zN!V9RCE{+;^8eLDyUq<*Mg)t2OH&O{1ytj26O_hdgLe`nu5Og`ZDHh>i*YU>boCHt zhu!)X;e5*x&L(_6Pk^&%ZcDqShgm4v*%2{n1UgqFQN|ruJTy+p`J)HS^tmf^rn?#QbW)h<8PN~j9#JVrQxtwoo zy7p4@#wZD!uEanVsz6l<$gaRj7L3D|JX9qVyV{nNMPi#rtR?PU`?|F>6vh;<7nprJ zan`IQbi=GodRvIHwqJT^-s;Hf68`0*!^^BxVU|W{Uq^5G(bHowjGO0%VY4_Ng%_2A zxaqjroNn1c-fh~So99Z8v1d2>l!4;nT*<|I!o;z~^`gYBtDcxy23N~k_P;{lxO)gZ z>$m|;SrJBVf%*DTn802FtL2zooive;P_L~)v(0$ z>MsLHT&1Y|?pbBPQ_9oST>^Ienshg*8ysdVOHM^nDHCKow~vLB#%mni7CADzu1<_9 z(jPI`Z&XK89lgPSeZqsls84Y$H-%a>2YuZt(4F7_w?cUu`8j6mB*zC*f5BOJbLT0S zsCJFPRHT}uJkssNhS4&H7a6<=2>EaBG_}iCiR(p>;c=iKq3fq}1X;zM%AWeSNn*an zj40M>{t5|ES{M>qB`u1(vbtGOy0_)}hTbmmnCBxWS6+=^r&B$bgi|74kF94VJe+jusz2pN! zu+JsyA^oPrPFU_!sZQT6cKQUbAoRmwS0}l>?CWGS7yHlSvg;E$=2+fNgejcKT)Nmq zi})<)`s9U3!4-DE$*Of3R`t!Q ze=B-@s%rLGdNCdg|3VMtP}}73;d0MWxjWZ&_t13faz^xcc!diJRAV*8L9FE^R!+4F zE@EEz)b`M+b+K}XwQtui;I^~sa<1UMQ`$v+Hy#N))0gLyyYUDQZPS-0?8YN!_$7RK zN`U=&e0s{9c}jhHR`AX%eSEHaE8W=DN1J{>mB-KLVSTJ&r58}3=0O>?`vj#AZiR9B zbj*{@KnV!`Ju&KC5vg6A&l4r57W54!OhbAHS$7M+!*5*2Q^B&D_7ag^G9=2jZM!0T zXDf*Kmb;cck~9pO*csS{mPKG&We~HF$g~W6UKcO(;x$~oO0MHp6^%xTmsfTE`J1=b zN^h^ABbU)8aLSDjIyd+HvN&l}!iXA<%Iyd5PqXZhxK1cw)VxCcZW_1hOjgEgS|(Nv z-Bt*Se>wlM701uBo*R?DQsw|1CO6GwY9UEJ96Pbu9=hQdtU!DvBkNa?7fnyjYmw}Pz^#_|nGo=3*&Ie7 zcO*c#VLD5bU>T0?ZtV;$S%Sx6!TwLMkMXqfXuIaxKC1@-8P8X{4rm^Bl#ElvG^I>> zA|BXg_iP>y$H=IXr4{}~f*#LixDjW-^NL+>k>43e%nS8`aDbmP>e0Tz+x(-v+j>3z zx3;POJkHOdU6v>5D4TZs__s9dlM1ErU1xJ^d#eeI-e?q=&cBom&GZwk!htV*el1QJ7$3j|HpRwkZH1~_>pQIPL zg0~r$k{~s}q%91o8T33Rr9nys%n;Nh%h2HC!NTR9qXkHfrDj1yYOubXrln-EOwY(?ZWChlS^~IOsYT z-$^xWN^p^R;8h9?dsv~pRSMs^yN&bsf*fZfKrYz!wLF2V0hLNk+ElSF4n7aNHc;}x(BAfhfV6&f2v z>14#Q#!`(lPfoMB?(QnONXKI}?l8mD_=u_4Tv|&+x_8p{M8D^vSVcoW_Qw3ws3cp&%LVMof_39<$zb>@G6)Dfbm1#*?>6<%;JQl$j(Gjo<7lesAxn%q#T~NIhn;anYrdcFsM#Zy}MLRl} z=1ZY@yMT3~DhJEZk0`o$l$^#0LY`sUQV!yend;l*Q2dm)!QHg+c|MJ%{l?Xy zd|(KBL56!uHyq%n|LSYVo6)&n;ZB_n&w(nrN#uQr%k3+!@mluDLrcrSamhletGcdt z?P`6FQs)G9IOoY2$WAWujwjQ1={%cG$kuuUPY(10qX&_O+)I}wbGf(T?W)kQH!qhyJ0sq2b3=#H)@&&saGn>)nwfjslB517WY{W+T-!CYa2 zZE;*1QlV;JJJLqw8*0Th*K*8Ub#tPx6cCDFQzSnKvra+(e=SJ!REkPM>u8%Em$$x6 zr1$3adN*g)0Q7AF~=YX`32~@c-5**=4zr~CBg9v zVxgWIe74#BtD+g(pGrwhaF_|;2#)iLKtUauLud%y7OE9{tg7^?q8IRoV8TrYFmSFo zt-}joAAHpwl8bJCoSvNn;T#ULWue|THnZHTE*Fgt^0xx-B3M0*uW;J|(cR< zR9)XC`d(yIFafx#Q0?Kp>e-ZapC@H~b~kpbXPvg^iS-WxYv0MwtmUGz7)fe5Abt=cQk&!+2v-Zr7___Ft$ik~+4eyHj09@0)db_nr0a8q@Fh zD^sdYr@LMqU;F))hpN-r*r+qpl?STR*{orxkTWbHq}|R=^(aF*!Lt5#_o`D-SsZ7& zoRs#tw^MyrWS`~J+*seN4o0(vPf3@ZZgm1`&N6&VI~(2g>geN^8VdGVqY^>C@6@yl zb-KAxecLN`xm6?M{}{Q_@%SVjz72M_TQ8heYH3!YJlrC+3&_i!%Ta1`w+2di=3IgW zTkAEWi=9cAb-lS>{aP)~x{Ug5?bNtfinA{3db_(wYKH`R*-relkzTAO{5p z+1c2vS7O9B$VRC1of?#A)e1s`?5^K@d;43R0Q1<{-Q1{+^C<5oQ&hBb@m0Bo&=9*d z?v=n0fv$l+uT2a<=yXZehHW>f>$JtR*BjzuI-Ow^g$MkL=#4 z_$7*$*>;Q2c)J_d!{y?50eN-3yL-Lc!73! zN2E|Ju%UvAm(y`}5f}-8QZEgN8tKX{?!I!Ujjd}l0k%*@<#bo?cNcEi8x1(FIpF42 z&73OgCBd$s9> zLaMNKbZ@6V^Q0gb>~;e#v1>D}X7?3o&BprH#`S28N!)6T*WIj-b*7>U#?6=|2n+x` zZIz@=`C@dBc#3;~umLwoOdo>o5wtYhBk{cm`t9{nhyB4+j7B`7^kfvJ+sBlyfMF#H zs8cpS#}DjYv`=4)V8210j86yT%m8pekH2z~=)k^YgkDzz37SEK8_`yM=+3^2evZ@e z628*U9;0_1dLOB|FUZ#h-IUPtVL($FaHwM*C70;gjSf$P?tj0RLw+2n;i6GC%zLyA zK2r!c6A4*7?;oJG=clJf{llmKbwGCZM-5!H8{$HvB-2rN4E!kz36+CH4Orlvl!hAdIA4BdhF}}qy zPtd0lgWqHHip?}WirIY*417M2(M;@qNS=6l6);~t4n|1}4@5mxih`C!KXG=+ zG$EFF0L}JkJdrt`(`<_VjN}do56+hHJcjd%-o_aLQ}Vc6MvpPbdz7?J%sN5(F&&)e z#);`ghjeZ*GmzZ(&>?br#~dW~wT1MLRH2RxM{%m`<7*BaW3RhOVz8(0X zF+B*GqFs1~;kLFKy5YLZiPKL+QC0Jp@vm-MRWSZ7bZmU_H}!?{ftf_5kO)}<2YU0o z5pQW?uQ6*^2mU`jrm>8_3xM>j&1&!Q7L-4>C;TS0-a8elm7)J7nx+6&X9ZeKK}y6zt@$Ou;1Os!Fl`@|4Qqxr%q0pjOM> z`-)Uun^K{mduybM4!y{N`CMjX;kih@mdP+V(!)ULG!|n9RG5mqxO4g8T^##v%jjN2 zKTJfR2}gwJjH>+gJo$5(&Y6bTgpA}d`@~crVlw^&NGqMskw_Uy0W6Ay**hdwzyl`Z z1l{jSxG$WykNv{urGyJmU^Vxpd&i$L(d9Xwf7h(tXo{dzS7v$c5mw;L1NZ?Ri!9ht zP=LY9&IrRQV!lItX}d96XMEZ=EK-f`*7jG+NHQP-bQoXOB*exipOg~gI5%V_3w=C@ zzFz)PADZhhn3ZTYQVBsU>(Z=mRQ@kUI+d@-aI0?~ zL|-58?V;j|yCN(KoI8x#fVcF#%}4BXqH_tRqxup8k=aj{R(w9{oeHM?8&#C{Y&laNrjy?5@%p5oGm39lSAMiXDP;L zCzrEqiktvx!?ddCalE7$9xL%dqMM&02S=>jM%NJ8;Y-d=8Y4?{2BV=$ixL5+lUY23 zkEY2PfaqN^zT!E-b&<^{G3Kg3Mn-UASYm*(EKi|bdTI}@kPK#l1l*c};1$@nM*vBF zDZ)wprMKh_GB?t|Ie~H~J*oTJ=wj|{*>BrW%iDLXx@0=-_Qr;b&GYDohtd4L`|u&$ zEU#fv#PrM9%4YNf;1T?Xt#Cg^4HN_X?dE>`nHSOIWjs$8#923Hb2x)dv39|owIa%Q zjV?`%OR~MrFq_k9jEQt%TP~vkwj4z7*C~}qE1Io!J`z_5*wu`3=`sL*YEI`9?|J>HU(Y^lQVb}Tr57o@r!MC+EBqi6$yShuf@px zPBLkEQ2@~Cf*BD=TFTQgC%?tC9?%CS2CFLl44w}Zl>;foqRY1+sF-qt<$7eHg!RU{ z>F7yM-fDizU`h|3G4SUrmLDWtd*>l&MDJLV<61)=%H?B^#Wz1bG0KIc)8jk%A zp2M9PAWhU^=_zpa1>cT9=m>a)XY0+)kH8H?=#$$z0&YiN_6Qh?x=(!+YFr2{nIxW4 z#tQ*Hoz9jVSgw25N*g;-Io!O9c{)VY*Sk@`#pZ2TXR!(f!EzuH(_%YL?QWeJ6Bms1 zRrl;EdF`HF@6_;BAzR$um0^!5k#MEf+fr{l_bW9@(KW2hNCnv`(N>4l8s4*R{;W`8 zx58h(xx+}x6j5f^j}0{C&9;%Xkg7}mgw!l$DweP=#rRdJR9e@bvN<;7r{BHCjO=jO z8u4s~$(ON)OJAcpCNBdV^E;vvrpxkzk$fx^aqmSft7yR5pn->FLIssE1w$*S#tmt9 z?Xg1|z-!In#4`u44zku9K8;iEr}Jb}329BD_&L1S>Uypj6P0E_{Ob=M9z+%tZWQ^2 z36@DWDe3>bkinL6ZA!k;1zo#an<~fZPtWNuX0QS1*#%dQ!xhiQ9xu9F7ZV#TY1!w( zKqW`y+^aa8A>PTx%A`e!M&Xb2^h#D>vc_o_j~g!8Ic){+Iup@d|GFyZeLYXjZ@B#p zw{L*kCq>-$d5*5cZQZFGw}D+F6NZzZ^wp=u*p3GEx!m3i_GZj8)S2@3RPzf@ZoIm? zagFXI_poYu%m9juuY7i^x*LbOqbR4TlU9%HFEk7#l+L2$^fVo&tO_HQ`CJyRu`tAm zdB+JA^7R#Rw=^!*b$?Y<+S4S<3Mba;jTtr16ri;%6-u@Qt-P<$A2845HcTU>xIKT7 z4p6r&rrgG#z;qp+*I()IvTuqiY{9y08%~b}5#!49#Z~DSD3o0G0S2T_BRi3&1)27W zuT6<%qw5h_8h^ttykDlQ_+el{Da#q{!o5IAMIt@(HMG>RUk870h#eFLdF*}7J`hi z>F93lVY2S% zBnCoEPEJ~CY@zV*y3>j_j@#Bp+5_GN3&vY$y;Ve)ipP(c#( z4B@%Au&1Wi0jgc-LU>OL*CiDcXQ;YGEWW7gE!~l=jvhT^&+7^1XvV(sSv*Y0Q!N>_ zYaB<*pSI44Bp83%6Y1bb#S>YMRpaVdWvSX2u{L1c-w>-3t*VGv8-z)pnOv11mcMGp z3V+PwAe!|%1w^C$#dcCBMRF;Qhv;X@QNRrvn}h6j4e!#>B_rSU%Qwy{I^cH(BWAf# z$62-L8W#O7>aP<((8kAU=ShB&j=1xL?R2OEBtu`xh}}=QnJO#f*RZLbuXIzZgWhoz zE&=?;*8uQqoT82E0(_+pwZD!;8PeV=3~v!4IvkCD`%nb^P3EC*Qwb zKlY3*4XM!4!-uLZT2+@*)w6J5x+R1!bG|Rx!L3gBFN*&#^Xr~~GFV-2FW8d-pE2hn zZ2}3KpEOt0*^VfAYH39-f2!J|peG^J*+vkpUv}14{CH)(PrX3TlKvV?S+B5F74q_i z7fZBb>nmM}C*yCGl@!!46{`|0JSl+f@dQzI+n~JYsmktaM`%^4EjEPq6pG|&|F^;i z*b>WYUuV^;G7}fUZhS$f<<$AHq`-noaeEVY%jlz;W)ZGBRw@=tJr$%iPv<52rPZ>R z(O+?N!HcY(!wR`EJPl)n;$*_x9p2#3mcrW`ZYcEdskYPT`W7}5daJpWdi-16NHLMs z+Zf8XUEE9}nMF1J`s$rgUrIebep-YRH*>+{zZ87~NY$Ia_iUPYX5R_T9zT&>t^LXC zdNv4YittWcPO7EGDoz{(o33Z(o7b3m(1cWf=4w{<)K?>%2+s7}g4k`hE#7YcD)0Jt zdqcMALYqB*n=RR9y@^+;x6O`h(}6ZSHsC!o>QGnf-OW(Tb=h*OiMOVA%=N;&e62cq zOl$t-kfk8X09@DG{8sF#e{$U_jW(+^f_WF4`By5NNviGJ@6~O#DzxdW`$xN7wshAc zDlE$L_!orLU3MuO#?!kC!E$qgS!*uX(3$_$oLRk+u;xx0i!rH7n zo+M^^7VirCVxVN?*%s9*=u;3_r`v1G-Gd4cNT=oa7(~GzOHhz18r&KNn!PEkdJuKD zwu&g|ZTn*w1G)Vw1T=ds+ZS$EU>#PWo|?ugJS%ibdzB|-YwDmsoIO{$R@y_0M}#k8ky+E@T3#cvFx4H?{Y;e2Sa8h=kXl{k zFH;Gk+qhKAH_ER)x@Kg4rCoQ*;oWSn`_%wg`Dm8=c-%Z;!B@HoswUxWoV>4zpSUKz zgxQHNgCM>=tzKL6^N`aoqGfa^yGqCSFGN^Z)fv5A!WsZzW$nbjC}FK!?Dew{)-R%F zy(Z@TB}lBbwW64A!T9wv2-?q$nwgF)q4RpdBtwb$TT#xLp$l24V1Re=JdLN6^5Z;y z2fd9@0|1L1U&(~h%c=MfJu75}Ex98~PB9!gLZK^_y%wTG!J#;g8SY9Wg{ARV%-;!1N7P8+O{d}>^ zpQ7MerG%eFVxW5~MI0x=&)0@EzPvA$u;z1YPTj1mH8yFbmETu}`_mc+V4MB60n93d zx@mMNsc#!FHxqhtFMmFWHP~<57@QGa=q0ST*~~~6QqF&y&<7$7-#>DO{zBFPa|=Ay z0jpSMVPU2U)3X}|<9@h$Wzaf6etbnp)wd0pNEpPsAEV83)4=8}q21rC{sca4c+k$* zO6ODwng}+7IA?UYQWL(}iZ<(En;L!muk6--_9<@d@pW(Q^;P%vdd-`9{J;68_POo{*7;d(YA>$c@TRVg zYVJ+F>W;2;I~VZm^WM(S{tCBqIXZ@K=j!+Jm${M0w|XPHDvXsk^4NbP`wqq@xseOF zccUA*3eCFCjqF#N52*%jCVMv%q+7ai^99`I8HXko1K2Kgakur$^^W83f7$ko1N+w5 zeq=lO!+-Al8~xRyf9`a)J9m1~`+wtp?wl^ClzOE<&W5B5&f)Frf0N_9SHD5qDNq4; zdncLxxlEQxf0`|lK2Tr`Ge}4D^_`aa0VQsNFE(~IH`Vixt!lkvUA9G~?zcMYJC(Z^ zoh5xBQ2l(7&0!=SaYPHs=>-j*2Zr0(*{VF;S+eNQP$f1!>(Ai(G#-m#kRyYQX4szv z#@bom+0bK&-;QO|JHXPN<0$tg)5X0dAjBFhExtFwfu{H3|5+r%wOKrT8=ocly=j)t z*WhT80Y&iR*n`Fwb9f+?Y~B{ahH&@ktFKm*#-xtiRaJX_9(v@#>XEhgXO?b2J- z$J$VETJCd#Uu=?{o(|9Bbb4PV>=Xm`MM_!G6fiH}6p`I^n3p8KM(*(ZvtjB$y&*1nZ_pRK&R7Ozj{~|s+11y8jJZ*#mw4Wo_ z&GRr*nDUVx#< zyp{8Gl;%TJ!d_wKR0DH+y(h^yg%`=_C9muyzeb1}+HER@0&ijS4h|3Ze>vzse){s) zgI7lf|2XPDJ9ut1#RC9iiy8j5|BwE`9|zBm`iBRvp6)+;`dyOj!ufx&>f=@f$$oWuF)S_{DE8pB)@Meet~i?8Ptr zqy1mR7w2()4qXqq6gQ$9VqPoC&*SdaHc60pvB;TYiUaKZ{gVU;2y7$VB(3OB{`%3F zf9Q-0r1GDpvvGD3k0YA%AF!EE_G!+q4*uWo2Zu+8{ry+3_W!g0)BfQ>|M1z1BYo{T z^A*OLH+S~`>*(Nd|M@F8!WH{`a|byWVRwY}G|h=Irrq+)DtB5sHQd)%2S=}-9zajG zGOubq`X?pQu1hMuHj-38l8=a(A;8^i{7xqdZ^4szbVZ_?J{8euImdtUtLc#Pv5x@Z z-X)Dgje-U~$~5sgNKwN@^g>KQTnc}OVa3HDxhNvh@(xLX8qVn&iGD(>P%`=>89oph z(*3mQQOnbhxQinDE^3Jk)c2_VJaH0OIRZ%)tyv!zE*lI~7h!dB6}|k&fmz$(1y&Z8 z?8%4?EHa+revrr($p*QqSz(r|Ku4-Pk3jrePRaNgFBj+89QJ8suIDKlL}6Q1$q1U0 z1CDe`MZPjpXJo_Sa^8vtb$B#Y%ZCRYQzkoP#$ht#dXQmZ0XR%X{pJ=fVL4f1W0YLs z;ZXxO%00kyGSR;n9RDkBB;Da4klSi}Q4NE(~&5f*SWbnxxZolKzjZ zT%pTyOq0b$Hh&wD-Es{!dPcR$6f|*D2gu6_7z{9F=>C^LXdtk#pO3S}KsZ-Ge_XRH6-7T5S2N*70mPr8q)*c^_RakWF>cNmB}Y-G zr>8&>rVFyOC+wL4aLe1#fEY2nn+62M!E`wuV~F*9Kz=Gz4-H36r&AaL8=^-wC19nD zr}2e&XeK|62DtKH>Bf^6o;#4Ig&LaRBWjKy?6|IoE;yH`;|vB`PE$YzMiJ~ex`=au zy2*$m#Kf zIKI3+>C~7X4y(qAc-_=n3vg|bOhx5ZM8mh!>|%@xWRY7oox3w+mNa^sTv>A=s-ov2 zQhUO381dDKSGNPeOy3y|wX<>+RUcfTsQ2 zpoQLhy(lC+GJ7O0*&aw@z5Q66W&Kd8YHTU1*NYd8svK#vJzM7I4X+H^>rImj!!^l; zxFPBgoQ=Ot=o*hTXpM&&uBPmyf$BCzAehf2w2Ws0RN_gq>E(>3EJoDhjb!C0_7#Hr ze0~Kqf|<%8-2d4`k&bidX`IaSs4-8@(tJVG2G}L;==DGdVUu_`&!or&tlVh|;v#p| zmmHtyYH-}-6d^>rke$u*WO9O;LzoANu<8yrAwqPD#9VW_f{M&$V?of@L~@a#nlkYv zi@cP1VxWDs+*4tCUm5#^CylT5n(#?;0T0AVLYDS)Uf5)%K_Om>(MV8ovB#oq28cPz z=o-PS>ztz8Ka^v_c_@ti&<_r4ae`>2Mxd z!vkY7Nf#69K zi2@K2sO|U)MAKMUji3V4wvMd9fe0~vM0$9D}F{731`}7V;+u59m3^DiYiQuE?kObB!>&p2VR!$ zQBCHMfTs+3!Lj_5>``5+s7KT6no&Fv&s-`T0jAlAwOXjL7v&n*k68d+Tea|3MlcRa ztObLdPdsumf=`MDrfFk%cL zRFWcad{&y=gYtmb)l}G;DtXt~#`_9)weg{!w!CdVIAKgL4U90+oc0klSP5L?3(3O8 zK*=VkCC?M+l#8ImXYJ?+m1uBBDeS?|TS$1Q@H(r(j8Tb*aaWP(O0fGx;`s2OZVY?3 zJqU#12cYPff}F4y-{RYJ^V^t3RwVn=iWVt(O{m#rJOj z#sbw4k9=1#o+yNV|Ky6G;-A&(>uoMsmw23Ljw*a@RlKfj+8+R!Cf$N%muvQVer(*- z^JAV26Igw~FJfb3qq1KFUZ?$ZdXioGJKNsb*{Rtd7?0ke{0#UO>T_?STeDBPRv3_d){EzTe#ZB5V5DxRTYay1BoIkX@S;MP z^pne3I!9&|Svhh-!l#SHI5ghYZr$y)#-s8TH0G#(lAI#jyn4`$t*uV|L8+v`b=J7K zwO$t^mQ!gh?Ze2>(^U?8S#~ZuTbs2PC2O)vy%wfExI}pr7g*v~1q5TWx~CJ5rPhP6 zO7lM1e$gT=C~sh--Su6=L+lIqIZ3N_z}cy$D~@to`hAg()5VoG7314gjyi@n&PpE| z+uOylOqUqSKe~=9>Uu@WOvJQrJ?amETS@>mNrIL9qwC3nKV{x50yxs61+_#+|L8w^ z`ZKT%za1Ej*onn)XfPEdtG!kjY1w;)S?-@u*&sG9LLIr%t^(_yqpo<0f(#r!6kc8r z1jnnOn4b-fBWQ!-P)IvX-Cmp{Uw@I9no_x|k+?)r6FSF&JTQ=WG{EYU!uR9F&p$u@ zb^qz}{?q3_z4*r}M-Rir!}Fo#&!L?;6!HoAho(-pL=d`O5A+oct40w$MkC!N8yM-F zFKtaPE5JQVc>LlyA*^E7udy0$AGfnGKw#8+nmbfTT(1NZBB3_?BeouU*Z<>nQ??m88e?L^j~6CcofyV)Qnypyn;zSK6v^E zP@er~&nRdbgP^z7%#N}#fEpQDIQXp5CdU-#Y!C3@5lp2VwbB)e{Hs>yMu<+U1B3na=mBxwzVb_R_D8S1+!26_; z8o(;fK`uN2j`(dK`vN*OnMFSmaDF=kk>=>xpk*1Vv6}0LCvGQ_{EA4hv#G|=Et!OlvNaSRm#iLhgkh7C3{^+~cbh951 zA~NYU+tNP^?}#agL-U1jED??hv)SET3QFk-^$&ArUl&=LHz#KZ`8_~mah{C`GCctr zQUlFqXxsR zn&wz$VZ@_mrv-4KqZ2D(S)&)FxFHjntA^By(`X>k_9;%{5OA7IbvAKtMN$RFhb5kh zIg^S;(;prfO%WqL&CF*xt8Hm?CA{!mcS zML*oLSf&Wtkft48I2MMY&MnO9Ju--h+(M0b%8_vO;k&7yrc|iOUDggh%19btje)|n zwe#gooHyk-DS!b#G$@ZKqphz3Ii70b)tAa1i3JjUn3zGtQbaF}SpOr30F0esn_h34 zP3blsq4t`5Md6MjPoUy-lp&Nq=5?Fv+ovllqAM%XS5~~x*X$&P1DQ>YUj6qRT~4Mq ztKsacdW$cB?Zo2Jxh6{yT_n#CfOrr9pS!lh&OXJXk~I!>MPLrU%x zkD1z>B=ANIiOvd=2cIVR1pPy#yDNKfz=+xWEbk#1lwYY;p^n}#$Lqx)vpk zH-aQc*Gbd~qHkaus6P`=q)RRB9Bo|#(A6YkM>n8g;gbyPYJn-Oa3aNNEJ`zV59H@O zjGyix?h7|p_-wtxF)a8ZT;u3PzY7Oip^0ZNm(x==avL{M&qfTvTIw<58jPx#f5pQt z%sjb=QxUw$S&D~IURrmJmVA5>HS^_3j^f~SVPokEZqwX421_l*^C|P2%$etiUUQVc z=4`aI{cv1HOG)AAn05)!odOpKolmF9SU7{m(eJOG2^UdvV-l>V>Z8d%_hz4o04p+K zxnl`{DVz&Wr~;5BctyUuE6F`+dL-woYzC7Ar<>*z^tBRf)zk*ExdR6lE0?3k)Iu|$ zyp<|ofQXyvfy#OqoSh|RXvc5mE~_|E#Y7Q5ngRhtbC~y55X4Zd^g?9$N0G99=`TECLUbP!6} zFESyEnbcGp#{#3H7aG|WD(V{_4*G=XHh^ZBs8L8?83}!*5FL2ajt-&eh>#!tnanbh zh#Kf7O{f4TPH-7(^bCObHbKm#u%5MS)-;TBn8ARKiw!E9k*^3RkQ8(mZ1psKKyawk zs3Snnq)LAbXXT+j@D%Yc+JO)RAWbm^r`g)gZ zyfGJMY{_74j}&II%pa4H!ZGyUtzu(?6SC&xX==L-nm-{f0DJVmb2|ALu;nxEGbqB~ zGLzw|bP6kM44zHm!7NWD>FiUc2qXV8BAy{7SgBk>ngDW3)OS;6u=Se$m)}&=4EUAl z8OEXrmDD`V-y$D+l8}OKp3P>g*@{_Q2@!Oy8J7!_9GLRY6X!TS)HUY~A<)>vj9ub1j zvZHYd|AF&zX1I?_%q8hYhWu8YjB4GlSHq*tW zu_|^bGCydPEM0G@PDf*YD^vC;nA^Th)9eDKV_TO6!_Za~ykUQXTmMhFPuQik!T-eS z0*=cYaaiLln_(_EV3kC`DaOKNLWk<;g%R}%IwMAm=H-wk*SvaRariag_=VfpfY9tWM}c z$T>)9fu>9qzzXm{=VsuX<99GVy3U7T*ku?R;G*pDd7cf^SO|$Rff!c-*Bl`MeDf7*1lR#91px@O#KY@( z!<6wG+p{wDN^$8z$Z&ZWP8$_)4JZ)nC|N!gA#Ly-e1Mu1jM|OZ%^WAdAz%nNLsT_} z)L5t$Wq6|C`n1qST3_A!YT(>FtX~jF!bTGc*&bM<;@S621BvG%44ut{V%Lx3kKN0^qy15C^jV8HeXITg6|@pk8%|Y z0EjRl3?rY+0r$xRH~!fi5K~E!4RSI6fA*fWJ8B%uzv5-)%vAQc(~@krt(rV6 zteX%%gV@a-P0FHj_W~ z)|S?OeVl`&>$3KGSq#8Mx=@%aWKIERsXC>B@WKUnZ-#IEo-YCD}bhhLV!4xuxq(*IOrW51U03v-GO3V%SnJy$WksTJNq#mA*B@%VIB#jUw%y(@)yP9ERN8o|u`dPfgn5Xm4(2_)hEQa%w%y zd{y7CR2mgm{~$Muak$jAkB2LmpLT0-vGM9tZH~1WSX3cRwLW1oA?kazYTS8eBIHkC zQTDwj%TKuGWj}3-pPRy-FVxXl=JxtDnysxG7#V`7$dp*L9_qb>QSqXgc2k_a(O9Vi zD(J-uV+2D$OmtA^EelXHVJ$f+W~bU_OgF0kVDe5Q$+9g~<#JI8xPMZ{mK3Rqm1vXs zd-}Qd;m|8BNX9KxHBCBTdY{)|)aTgRVS^o^t*f`xTV|;>r_~|ix6T1H?S|b950=Km z#NvX=-8@{Q$^E&wWp1n8m|Ohs*V0xu<*M4G=J)ytQ)ghnhb6dc`8d<*OSp4T-6+yd z?^ftSP^(WG=+->S*s0-x>5Q=fJQ`Sx zceM2@#7lIB+V7OPHH+JJugb~|A`d#t+%Cry#N#a%2wE;O8~7H}EOvpkSY0c>+aD0K zYHtj(cG?yhEL((aRkXrH${Kx8Y6=(&oO5Y)5&>Hfbuq%PFjTQ`Puh<#@NNT|wB@Z) zroUURVZ;8MZsFg$Xk#9+)xQ>IE;Xw#sFSbm$Je$yaz4+VPE?yVcJJ?FL{ZGaqS!Ph zTlh40Z;Y3;3L0gW=CcRB02Yt}1^KWxiQ^A={)77y@>bU3qaXg%{}Z_lr~->ETP zEMpIe54P3eY9rKiRt>i@)al$9r5(9YGg?dCK*y!c!C+~jO@Ut<3XaubgyM!rz8iaIm!#M0_Z;3T_YGBUJ7Yps^q=Rd*KM7@)#4lF zn{OTL73iZ?KdS*Zz`Jg)F>wt_X{Hg+PCm{*;umGEY9Zs-E@;=S^R*>OGA(yL*EG9W zd@@dTwX7|nnUus9tRb(9i-)U{HMs0TTEPB!HdlWf)z@C|Z+nwOI;N=BMLN($TVY{Q zbkGV!W07zRWZL4i)=t)tW7A?gQSF2K1)VT8pl9)N99~8A)g?}0r%QXYWtdful+5n= z3h`=G)qGI?+Bz1ywfj5SeUn&Ydu+F(U^F&t2C7sW%c=WhuUwAvXrUa{<4U;wVcG5h zx7t7W*#;u0`y67c6@0l%4s@pOU9IewKSYY!Fh9-U0g=ZB`i z$e!8a1^4J)Q8%FkXcJrPdJt^_2giU*o+eEJvm(9McWj!ar4=TNyuMR3-Le?w#aVN= zrPs|w`gaV{8>G37)Nh)_c6*Tvt7?x2wb?06yJL5#nLU-D1BH3|WR{s-vc@=HK)Xno z%@F|gz9U*;N?WNHgZ3A`t;}vy;CjC?AM~b{c>i(VgLvWfos+g9Hd#A%7r#qptWKJ_ z(@WRF<(SclS8g?))P^p5c2B(7#E11+ZN^i%SI6!@?(g%kZ>sy2ZXwP1qIEP~aVXpk zj^Z|avS~cN9^@ZdDfvfEIU$2*iEasOI^76Vi18SvM_}aGPzgY?#Tl^%QZQ6SGaQf7 zY_=8@XX7h6e$bgdS?NWsp#K2WI2_N29;oKb;h8H2ygV6bB-x^VYS{>?dp|rD2(lZz zQRuQL7*7*h@M88(FSG$UAW=aSjIWeAn~jAkk}U|aT(eRAxM;2MCNaB(rX zGc2uv}=!Kwz7IU2`q4lt)o4?qv;)(jk$wlHSniE$4T;_bFLJm$@vnNz!d zsB;M(@!pdkewa>Eyl>Mf2V^lyqVctHZR4(mwGC(XVxZhH5#uYZ+BUHX)1b{Rn@)$x z$=MdnX+b{|>p=%w7_&BL%GbjV#qO{JwjMTTyTj(;de||)08Q8if+u8K)hL0_*MpA9 z?!26D;AKpcZI!Bmy@8i;5RNy=ZP*)l8DBsK)8+DLJ#ZfEto4(<^`PS|0<#wAS1<2+ zhi}${Pw04O(gD97wxDEZQJFmO*V9D=Y0-e9-cK7^i0RJ4UbNtQ z4>vTD#1~;f(TMLItZye_;*#3&y+<3G;=3D(PE)@3cztV>Y%`o0(VXu+nQdw^Om_AR zLrwbL(@m`=$@nqS_*Q-I=M4?hXm@Y5zG2_{WkcI+n=$6LZTsG@o0^Zeh!)*+M=>TF zIx8WFYixACx&`=Gr`h+2*!RcFY@k#=mKghNO1#=Kt|qD}_7}bd0MqHQK9z49#~tB5 zpK{D$CW2}^eO%-`ow|7XZsVywPBj*uo~g4F7*s4jtjf(c2ky~N_~iL=j{682_g*M@ zBu{+1dOcg2s~KE$@661eK9|DpiptlJz#bu@W?b`eE}Ktr@HAI5%Za;X;cRoh^#2y; zF1sVM>qWfrE^bWL=BQ8aZSSz}ZB=Rd`Lh=XPai%zWLVGS(bLDX7cU>YJea+B`acIn z;qEm9JGVgomsgnTI)AsAbZ4osnxxsVuU1ndI@9huwqy~i0~+);R!6utTh+z1_OL{;cCW&Xhj%>|6{xtY4lWIF79a|- zy|(Tm2~Q~6f_$OF3=8uauk{8 zg>s(YZsKG3F<;FZYkbZ1JF_%*{9$>5rDcz`H2X|#>69PAHt18mNcG7(TrD&E>P;O& zQ)y~-s*jt?WY3Q@mKj-o&7UnEE zbEYOdPmlC5*0*vsAm;UTzdk$EDqMEx-MbIooQ17*-`95<-BWU5QmapJle?v9v5sh# z9SuKL-Vv7VJF$mcAyCg8Xz=<@PZ2S<`>dFWErqgA8UqwY5QO68v7+Gh30Ke5YAIwpdF2fH!f$?^Tc2^}cvV%PFoDy`RH>-ZyN}$%Gl1qst@v`-gQc zv=Cp--(Xd*F3jl^*QVWx8>Tn#YD>@%xoVOZ;B+Q_!BRgwc=X`Ee|ToR6s&??7V976-^nHHoTK`Nx+DN=2Zw5?BV+7K$D~>R}cY1QB_W;8F=gNH=2BZrXh3Gp6{Y9r=HU0Gs zxqfT73dgQeWNcTR_x-JO9H-`lws$jAbg1DyhD7o|DE@lKQ3J(B^Z$U?xX(D^Y+>Rg#{-;70UwLViu zw>Ta7=-k75Kx-VL%#T0F;;g0<;M=}~Wah%m34S<9aCBs<0~M$I!0UJrH=d;r!1Wr2h_M47;s|5ioV5u~9 z535gVJ)B_|r``+G(OI*n?i51kTel4$aJ`k{G;Hgyp{cKk<=3)B)6D)~@#enitZfRS zn{Q3iYv;jCGNa+l4B1*!{(5a4gjTyOds;UD4ZLa(9AfpN)L+dztFQKmf}$a-m-T?S z!OT(|QR0RL5-Tznb@qyK(s=lb;lp?G-D0`IL!yqgT-dV~yqC`&KATpBynrG_@hlYV zm5l>XnUF;ju;CCATcv(uPsG}5%Qrx&BphW7We(U)5 zogEiA*>s5g>g#78^~ni#(4Jg@r}p8Y)jH4TYTiARt2nLW<8qGKejm=Oth?_^Vw6*1 z1@?QcV9bXjsj6a*W$z%=$tQnncCj9UPX5z8+b^KClEDGaCt#SK7zu1YcDS2U!s-^M#J8TC zQt|dlfoSbyt==RP0}2@fzsKdnyk67{VTlq9SllaqIbgI%gJpO!h;YpoS-k7adQwi~ zPg)a>1;QJ1XvQOJEVFA2F+r5-$aKLQFW1JZm11)#4#t_KCS|Og8Zf?*)MoZ+8=Et6 zji{8Prwuq!egl!h@a4uKRTZwfK}b<{1BGgS-8g|}jl}HQ#T^xFByQI(^{8hfal3Zm zM|B&A8>VaBJRPW3p+<)N<8W(u-6?W4h#fKec;>d3>WfhF3q`$ZnPo*+?4r-oqX;V6x#3l)$Tp|9W&O z9|q%z=6eVIbi@3~3zH774*s7JvV0hBMP=W6G)QPnAiZQ-yNlsS0y_?A`ehkOS!yCeoQR?^CSQ- zpWe#Dh2^1qD0UYX-}`x-yx^9An<6rJ_4BO&U9A9>50eW?m+$>DTEKAY$IX;6y!z!< z;{HU5tB5dao@2unpKU}EcLe<_NF`qVdMl$hRz|C*>!!8v+_UAew&yN=)XJnuqnti> z>1{Tj0N3uzJ3p0K<}Ur=y*{^4 z3@|naLIGH;L3oOw&AD)?sWz6M9ijLv%t>pX=BMgCCTJWk=O?Ws1(QwW3cBSBueC3( znrE--165R8n=k!}zQOWAwOkbPnWjM=rc{c6BuvsE6B(6JlE+e|oXJ$uNXLY*JPbpU zGZsfWOOr&WsbT?%@>UAkTAYTr3v@9XPTDX2K2HIC5`|IPA|0jhDc4~D z$kRk|KT(_~IVT~9{%0|jisv#H zF@t7v6^A5NB-B7CDmfFel8Q23gZZsSo}HQIdkm<j*O6G8v#!O_;Euv+vQxHcHrzDPoUe@KnC&5BOWEKERm`F8^C6jp&KywOMPg708 zIEnHk7A(yYu5%r076MmeF~GXr8RvTekSA#Jj--kwVH!)CgSL^3Wg-!AM&d9Ca>mn) zQ!ZH+L^M@#A_EnLBoh&c8R1!~!%O5{4}K%r2Mp7p77Dt+@`!=#OHi+n1su4ez@(%y zi-V9ULQ|51*+?W%SjJSaI8!3(XJ3+|d66U`Jc(t>lQbux5~-q59tS{!K!+(83M3nD z1zbl`!=s!ABG2emu+R5GpitQ4UArTRyf&>YP5c!`PYNsSmPN>4QfG{pj6Xb$skc6i&V>0^E^(d2tY~TCuN{CS&#~y z0c)Z(PSPw@NgoRd*hQX;ghfe^r94kl3Fen&GKxe*LDAww6A3DqCs7QyKqfc=L!AUP zjKFGL5et1U0wP6CF6JtTqm*!_!aU3gjX+K*FfUIch}Fo{(r zGoTZ@bT0PbI93CnA)TfPsnNU#*o)1ZW2sIB;JgQ4!eEkOKd76i|_* zDeGkgAL3?ps5BID4FRK+B*)s5#Sbpj|5&~Agr;DBT!LFI0!)8$50A!9;jjv z>O7$gA{LT@G)EB7keEc7OoD(y7(*o(+AN4AQDG#|8zc2Vk*}1Yz83?j;ucStPy}py z7=lgVDTj!ZXbnOv1EE;}Hiab#%T>tYGy(kt?~>&?glT{|v>sd$PkV43Yj9~4hEyjR zgl!Ok5+3m&hnSH=EXidGL3a`bp^D)(2!TkZ1t=2%m(LOo_Ow?|X~rV7Vl0LjRVPHm znuB60rcy8l65O!NWky*nf&Ur;U!ij$na)|RrO4G)v(@)7Wn8qP*E|7MQW`_BMj*1z z6(}SHjFbk5w_Iwy#xrBv?5%UK%`1y2;&ILR7yEl zDg>*mA*>}_K>#j+P7vz~ijvBt1a@aEOtgwq9bYMbdoUiWzYvRSsY8}g(BDvkI7$d_ z0OuS&h9O}LZW4TDC{+gIM^Hu>kaCE96_3FQWqmBp6_!ASm`mn3jD&AB2)jrbjNW7j z3IP@^mEcjqc8e5@0N4!}w!lzVvYcHHgR!di8&kHtsl^KXL_{ElgMmuO2@JSE&OsP~ z9y+2xqb!dyA_xr#45q1qw_rd9(N&(uI=SR=%t*Ayj!q%E2YLq?gi7!_0gEbBpg0Vj zNuGeSglI@dAy{t3K}R9Z4RR1|B{Bh?hp0YQLtGMz0IYcc`p#4Ewjua8u=`vk;C5*! zk{|{Fg8_}oqddjQ4R8uDcw!nxsL=qkd+I)uixz%9)SnKQr}`fL^Mk1gKTwY;+M-yq zJ1rZ}i61HkEXG&D&GhQ@WO=>@99SAMqE^)R|Hs~+Ft%-EiK6gdL8tpp$b_P~Z(hFZ zc9f3aB#xi0B=fHAAwd$9(B{?zDOr>Fzkg?|4Jd%1ET?Kf(8; z-wyCM4EVES(D0cm6JVZVmi%Ni!ob19KH^wQ?2Ay$ECU1GBo{i^1F8jXnS1;+m8Htmz5mr;_@0B7;OR?TpXoB zDH`(fKhA>A^gilU#$Do!L=FPn(do&4bxy(bFDy>!j zGI2->C^8CHND2vqC)$=sQ{gzVFEwGCAf|D{BaU5H$>Gt0Dxz( z1-XeCf{zJ0dsK`g_EwhR>a)Qh| z!<}T`scZtq&dCGx4tKE*u;Pg|V(&n` zCDDGr6t1I4K2(!I8lCGZ$m(mwB60`pD8CSqizDjP>0H`rYw&fT zPFwg@ok+&8Ou_V-iJR&&xXs7B&DC3NEX0xqYZEJlV2M6Hj3rtR+>IJ6K`)JaDw)lHp$zS?K<;cD=)RarDZy&S72WWO2YaQgpypM?hGLE z?SYr-lB=qh=*El@TVqzQY8~tHB?po~W|$ik@T4(Bg1^+XQeTZH!H9|wd!-SG9x=~pizEtw`>AfR~vWkQ)u*K4_e(I9Im?31K#jsWNmj*S^j z-9^2I<8-QpXn|SxF}@7B3$5gEKwYnlzBBw#J-2pJ)vE_;f2tk`#)7wGEENeB60(BZMFDmnFQ#>a#C?yf`0!_w@C5<5%ZTzkz@KzdxP7zTg_P zSbJ8!Qrg^K_2oIZ*w6*tj0ojzYg9}Xp6(d<%cp-kr_V6gJ^IqpA0V%nInbQEhSsT+ zP7KVgM;UU-rUAoiyu3_k7U@r@W+akv^@7lx0>!OgOq&GAJh|xJUR%B?rPdHchxDh;k{jA2|$IalI^ViSbO-A%}0IX$#-YMjT z@&-CM0UTjr^1n%X@0?&E}s@P0ro$Eg6P4pg~1U}#>I}k5d z;3~~V@FeKk-Ql=XaM2k#kPc|jixB0kcYSXA{};>~aT% zJ&;HzTB=>dyK=+nYt@9=CR0qKgaP-r>izAmQFJp75nZn5Kw}i8h|_Jq3%d;hgGrh?}LWaSlhi>NMSRk)E|uXQj=! zyeB3!aL-GeE)4g*;VL0>E1O@6tx2<>xlEIJVIA1>ETWnQHRd>nX@av<<#O1*M90B2 zno-0e+;cezxuUK)8K)K?Qz^5RnBVzJ6m#Zm;Z^F|&BC^sk+oO}Y9vdL`uWYJ4V186 z8NrH=I61A6zLJ?J-Gxzn;Tu!d%Hrw!PbYUikIMC)eUv7DWDBV;KjsRKVpCN5$2+<{ z2(z=bGfxU#AV^=~u|s}>&x7T+@Jv;zWA;S0Eh=FV^4TF`HD3Vr>4DkYLAFB{i638H z?SXmRgu6Kl3O6XiaxudBhJ34}*OV1UnFuWzu_lMEw4mNekCs@R%sS_66Ta5rjz+RL z9@BEwwdbVIO=BFj9(rxmRqOVcg>x!(Sf7q8T`7b4m!u#Rziq=T`hB9aoO0b1MI;$9 z(RMnE@dBW3Lm(5*B2!jCiz7&Bx{FD%I+boeV%bBgVRI!&p>Vh?ZpH6&xk1XFA9mV8 zi1LDxbd-Q(JVdYxiDgerf~(C9Ns=f6(x=*~6bLV6Ruluarv4PYr*Wfubf#}_G%<44 zgV%&FmIK5!QBHWmus-~2Wb=)7V#CFaMPndIDdo*WH6-eeO3fm}x*F|RMq7{mp>{_d zA*<(dA4hu0uKr4H>B6IR-+2F9Gewglu)aHsB&zG1qMTdH!Kq~hCY-Ic7m%fTwb;)( zLQ5Hz-ULxEL``qJ5CQ*&?zT4@i|dJgfUmf!4l&5v!V6sXM2@VAsA!0~*J-re+=$R7 z{-uEJ03E%gf5F3M9hgEz+#U};)^hkJ$Xx&o`kovuK!9}xFweqrYgkSGB`b89_2hx2 z7EumGJ;7hB#ZkwJ<*mg$DL|g2M$e;R^w}%OP6#$0>coc>G;1w+UPK`x4znE*?3TBA zA`V4cE%mx5Zxu~MNrcx>d#KnQY{kU&6pzTpHK*$yQ*by}5dnmbMBOvdp(nw~=v}=} zI7tpKYAVn`JH8}#=)f;eU%hz#;%_6|hj;=J+Kj%HwKU?V7tQ~~+ug8K?F|aMNiG5? zP28qLL_qFXusG&^VRmEU<>TOtv2VgJaH6og(JTk&b+n52xpPrvnj(GTT!qY6Xocz9 zNbonMf!2e+%Hcv@zA>N^d*u%7%H4{=Fe8GcJwqdZfQ}vFe+1Iam11t_IJ-IEP85YO z3ccKKI8BtwAQAU3n3}i%V59;@L;!DvD>n#nHc%o2VR-e-4JRQn(XJwh#&_dz@^p6z zllwMa!fhUZKSA8h_x4uS_8{X0Afx%=$RL!!YblsKvM<0XVF52MBA@@ml9M030LJ&j z6YquVLWoS68+4&?mJ@7!O?W$v9G#wh*~z-WR9yBgh_vrJd{&d^kdjCBz9yxS#BEyQ zmr-a1RP$5z$%;#kDc5q?7Hrz4s^Q4^aktp!=0pr3wlQEA;ei@VLt$g}+*?^lM*{!9@e%_%M9dl&CtjHo|x-Py>|5I2|mbeTNq_5~FV*YeAEcLo3#iHEdxAJCnGw6cuEY)M^Pmq!q=qS@724t^?< zYMjMEt_o3*#tNo%eMwlh*hMS2jf(7Et(njr>+-C8qwzk6=Cobb){=;D0!Q>ww_dju#kBAOuzCXAd)taEoP{(bG&@>$K55 zRD6uq0^(iyZ^9k=fpuVMi%II$i^eIo-p0y zUhS06$Ro4lG#4-dT1WE>P6hS?-680PDP4nTdo3n@>n0BrA@(qM z5$}u;FLT6S4{_uILAM9{33)4`|_65KC(0D2*;?_Fqq`=yjn1RGGW=6_wfWd z&4fFP$x-Zvyfl!f23QeRhHn%^q&E6Rhg#xxw7SEZwA%^7A@v_h>r%B-h;$Wxh*yUd zTpw0bjvCeG)rqqX6HBY01*{Oiqk67Hs3?l9(5e|!bjY_$&{f9lghr(=HS82dKEAq_ zpU@p-e^|rXAztYsV$uB`>$GARIjP}L#6yY{HDU-$Xf~D7oU#14+5+p{DHn(YeUo*c z(VBd~0QZQ$9lC1)b>t7^X5YXIXtM_BI#48z zfzSw6XfPp!;pnS%=k%lzM5s{Z)qHI z>;UWECY~$&jSfy-!!BR*dCvMBG`91d#z9uf^6o~*CF3dJZ!B{FvCHc$FQV+epdsNHN@v)9g!R@*X&=AvQwlD zN&G>^R*{+#8eU{W6&PR&5MT^34j4AblrqDppO2oI|4wEZKT&*c^Gv2!txdfbGfkG0 zls4OZin%7!tufyekkLJvanuj8c=tT9JEMPbMu8L!W_;*fCvipN;;QcPi;5}dN&eok zT@WkjW3LwYdjqjI(^twf$a8{Pe|hn9kLE6ozPp>fED*Ue#+w-BiF+`R*`D=jW3YWy zqCEk3n0-{T zZOrzS#oI5w4dW%BS(g~v#SSZ9wML8leT|y^c zMj=V3Z)V2kKqV1R=^Vtut&VEz=2KZ8l&5T>!gX zNTEdB%N@w_z`&IU1}Z+F)1(?aHbk5X-mat$F3;I=#Aa897uW*eah_mf)oPqUukW40 zhwq(2P3E0oKJ(mO0_$aJEwXPsgGjAT>J2SZEsHSLYI+b!9e7?O97UeyOIf3!wK^W< zcNVby?UC1{GEZeJ;xvmkdn1EAdW9^4iKdxJEm%eP6!xJp;HOSWKsp9plJHGJMMCmA zu!mdrVp9eXNpOjc)_YDV$#ODlY*0R@0GEYG{w9+obxf*pr82~eqw(8d>6)ae^@fx? z=5EWqM*CU4T0eHkXAOTRa%?AHUvX@o`AlAA0@X{(2EupANao53|2OeKzIHAm<*~>t zP+#S!T9@4CZa8C}a)Gke9~GuGipt*ZO{ynMCPcS#RJkjE9o?&OCAT8=*>Oh`&KA(oAKIeE`GA?N9U#X$u(C>!4XwblwD%^OK-Fh zOX(II!=s!eDQjnTDAoEZ+*(A1T0_n6So^&b*Fy?2BlEE&@np5&e7D&;5fld4Z&pvg zWp3`NLnp&`Q~TZt^b@vQD&$@HRv>pMjP+BDxN;cOIKKqO3VMFAA_`YOnzj&A1PJVU@T+_2Ka~&qmB~8j**2{RqPEp&uvhNVX$cuzTppNnVobh!_0iPUtf~ zM2k9325Y`e!L|W?ZIYVcPeu!*sntDRa*5hKYmPNLwvY5Flx~rZZ_V2lCQ>zLOJJB~ z{)TWT&1yILmgpIG9xZGmx;>Q2e;(SJksFo z$)s`@a{FI(NuAM1GJDrDsTP&8&g}6ufF=>r`H!> zeMQMOuv0-STPQ*+<-M(TSaSsxE9JjR7ij0Zx67*}ky`*pZywI#B9eNjR~-g8y9(EF zvZ|BQ80l5ipwUkW1BUFOuF&CWyNpt$UlOWjzJeR)7+2+S@b-(J)}-3A2BX}$&UA%? zi5i_TDsZKPYbuj+m7OiCfTj`I*Eb1W)X^E{?HBLdnkDHSZq+T}Vl&l1vEGqeGNfjy z2<*{w+#SPLI?GT;jR{exkT=w=CdNr(B0F;uY^D^eqAJG2awjtoit52%O@JtspdlyW zU4$XSG0ypbb&@T@{NR*-`!#&C@Uvt)hSDG(-+C5)n1|!i0v3wrtLz8)<M8? zM`}(wOT^((Awc68_g1`yOOolAY8Su`P-mmC`Gm9ke@U5Y#Xxig-0{mG-0vx8SA`P> zhPqx0If4WYo3VjoVgp5zV~xQe?pF*Kh; z@KtTHvA5PGYIIzw33FUdW57N7@9PDcWHyU=V3$i`7fH|lc%g+o3n=!lW4rZ=s7P{D z_YnX8>MPjQAm*uFYItaqrPL7!#8upOD1RWrCLYl7dbT{ML&YX8@`UFQ4o4JaKE_rm z458&bN66x(CyGyBZ36PO!DCPZrvH(#L%c^)P4T*_LfRspKGBx&ku zb7O@?1MZCHe*lv1e2Gc;oQ$90+NGFye~_RLEzz$+9qX?XGmy6npR`K2Qhv+kihzgTuLf&%453J(70 zgU~XIdf%r_{h0pMM&oqrJ7gNUW$aDI(Ue6G*6 znw1F#d5B8w#hGoWBCJ%{0*P;qygHLXMe`r$K$flZW|CG`!r-kEW_cJ#M5|*38PGwZ@xZ`3ZWTucJj^4V zoXCVy>Ht0!M+t}4<~@3EkhdwOXNF;18nFd?(rP-DnvI@I%c`w5`*F{S#zPKkA)yT! zQ+5GtecCjlx!?>zmcZi?5r<_CvdH^aQ;+$z;8wciU(}f=PQHqpuY(D5l?k~M+LN>n zKomKUKvucXL{0&T46!3#fu(DrrgLJ7lFB z`+m=LhfYyGjz%8kVWkR;8i!{(+lIGVamdQVU33YzS1M)+gH@2!4e z=cz^AUB-OJ5oh6$ynJ70y(wyrR9saGpNdzpBXn~j`H+(H4+`>A&_C(Q{LiH>R41C7 zhF^)8M{DmW#r`4%+TTXH}%(V?&Ys)%hG9|o&Np!?68-v1V!$`n=$^G<6ARq zwodd;QP5%aMG7CIP&?kjO)K^3j1!Y<+LtoTWr`7s|`ADLO9MGM9=Z>KF zo6@N2^c&^fZE|}lgQ{-hWXB|{r$SV9+k^6;AEDF~d<(StNK#nf0r3(CZuk0xL^|gQ zQ+Uo0dMA{(%?{zEAn=oiF*w0{${NONM(-!|+-o$;lWP&;i+sa|&GJY-hS`FC`ol(f zdMeS+hBS6?rO4~sF_<3TutPm^20)7)ea5P`)IY@?803P0^dIlF{zNJF-0#e;ut4t3(XWi+CA{D2HK#s6=785(9ZCLlEU(qj(&X#RFCOAc zrL$0yK)}w9Makg-mgGurxL>Wx@S<#`Kp3DA)s_@cg^k4kb#iWulX%L zI;HN`n;TM7kOF05PhoooV?+MyXfX{hFHxRevnlWG+H$da4KJf}M8&U0Fq0~? zIc{>cIa87$*{@B=DV=Y523ji?5N3QvO0GR;p2N><#RF**l0B(B7Fmm`3fR*15Nv3c z(0@h2glo6&lKr9@bD8NH*4}%WxzHIuCAGQGv{kWzb5`wlQB+eAYBxs`YgsMV8?M-fY$CE$ zUo=~fSE!FFQ#FYcQkZh$#8yu}$dK0Orj)O~QiVjy5zAL!X&+Zx7kI1PsSFsv4)45M zE{~#;wy|GbHf%>i+fpj-?WYf0vItBUVQA1ShZ`Re@V=Rf}R zx+LkUDuLFtearCLPC_SX7NwdXSvoY1b=C`aWd!Ey^NWk`&%cpT(Ovg)xtWGb!)iw< zuKPI6g}ocJS<6KL94xxqc3_;MFRYkQlbr+A#LDq567BGpcCN<^5fpeGe#$m>^h$Y2oxW$+$ zkd-L&7M>++07JixiMiHRs*|eJa8NwVq{(#(O}3SbT>TInnXIt(<#kkXgt+s6 zSmK+J>8d^lY$F;WfhSDDdeez+B`vntDt9j&oaZxTtHAY4NikwNpi`Oyki{K@DNf`n z$xJ~>Y5%&R0<)MK)8Ei?(^9R7-qEbcE`m}=eUtFhgU$qg$-S@7WSi{0He5%cQ-S8# z%h)3fPB)unEe~~GGXS#mJa}pK9<)t^#!PVDWNKnwNK%Zco@GJV@upL!4HcFq%-v&--5Q14CxF7G*+4CJ&uvdkVK zl$|gWz5}6)hjl!O;OV^rWDugx`;##sJkK-br&0vlTbz|1a;8!%rLm8N*s1;#wgQ6e zho3BO-D!9=@McCu`p;~A!*TSFikWlm$f+h=S{#nh$$>EC;Sf%u-J>emO7%Vw8>ZOG zolu*%Wsa$2?}Fm=k$wctsa@zpb+KmJv0>`d`xDl{&Psj~wln+DqbEKEqgph{L802l z4$kt_-p9~ng!VgFeAKK&6s~ZNg;C*N@k+Y|cG3!R;hHBG{;@fnU@}V2!<|MhpgT^5 zpx4b}6ilU**(qoAo^MYc@FH9$Wk&ozU;B_%E2vl@6a$V#o7+-=iZ2wYh%6ZZSkfYL z(82sZg=y=4U*=doj8?y{8Zb5A=>6>7yE)K06FGHHB@ z0fT$JgB9bGZemhPxTFQccMHq%jid6SPb=u*Dca~O%*D4oYg{5-tREPJE8cjV}NXW#i(?nPtcS5E@abYlVoH}C73bIuRTlm1oX{lpP5Z0M=F^1xb2O;y$&DG#uS5`gqCTF$K(Z;$%Ci9Fl_-+DJEH2KZ)j63?Ez ztNM0UsZGTlCJ~5Dv~-8rl@i&)?e2Dl ziL;*ymgDs8ORYC#823OMzVZUfTq;Wv?8Va$EK&I zN-CRxM*@IzNO^tOcOMhB=3DWMs3+CPtc3fcOqDU66Cpi>oFLTixLS&p!d~ObF4mDL z&zE8I*{YLH*)=zXh4aRor=|u2Y#zIb_A|Hrno{XqTvt0?0Tn1v6<8%@VWzsL_Vo!W zPFygq<|0N9owV~|&FNPc&MvgCDu)Aw<+PY()%8oiDlBMPGwWp=YJ3zh8X@s3^yNu) zDVG!PD%kE|j>10WOp=i$&1&co=$H~<5b6-WTjqa@kDcJ z*uJ}y(!}AhpXAnmI{C2AtE*JvHd&gH(J57mbD`9v@~VVx4NA_IMP*z9Wlk^>$YGs? zi%1kjUtUK_WhiCbO=TZRe1TA6qyKY)P4*@wObRVJFHDju7RwsLJQt1RCr>$m62+`ROPJmJI6#n!cAQl%mp_HjzAXJ^f zd55sYdN-6Zh4b!cO(LS#D?(o!m7Gzy06qx9AfNQ#(d}8!LjlE$CoE(lNox{S*;u4h zvBu-oP)WY_;iVQabMR2ov8}@$#k$18@~y5hFW#$eSw^emk1ETSR;Mz;vYDex>}rgL zckxX7fhjzb;7kq5BmI;jH{l^}+mXBT)11VyJ_;wGT1cq*k4cL%i<~SmuA(_5{AvpW z6*^8eCwY(atnI8!lS(!194`@u`iDy`qZAmZICo=$ohVC?QJ=F&?!vcH7p!KQtiZDu=t-*L6QPyv%1D|7C z7?uxX-tTV5F6bPXjT7SP_av?Y*s&xjAEV9rNC$&nd3!~12doB|hVyZ9yBfcbZpW}& zKt8*?%IUk^v{NE{W~&0P+yfWsIR=J5zv0#u`h0xYFVzQ6>2r*$$%x-xO7Rrgo5kBJ zWXYH{$||0RHS%RqmQSRjpfa>O8korDQ-oAqNwwr?JNn?tQ{3xoLnX-|CSF zLw|by8m8c?HpN-m$y>QyhA}6NnV@`?94M5E)5WWXu*rcdkbkxGNV)LBc&SwL^8=j$ zt8j_A@=(Sm$;b=}bBal>@0b7n?De1fAOy~l6IJV0MraGVK2UFV8&Oh9s^t|X-jj$^ zNjwKqu}QWcPF@gV$x50cR+n$54q$yK<6 zQ;@aw=JFG6w@RdNT3AQFNwp=MoAxM=8q;rKNFkyXSvMU0yLd(n9H?g;UysRaG!Hac zYO%-<*G5ea)6{P@CcM#z{=>jNz+Gdrn=4bOsuJh5wtA}vWk2A<=_*=oBQ!_ipKwfF z$G{5kdOaFlz>{4SFamgh?yGr51f8H2B$%FD_m^eReT^`pq}5 z&R@TF6NZ7T<^1_8Y?3ub5q4S{4+7}o{Po57<@ZmYzqmO6kBjm5=P&+t@f|0scnqR} zr}4ArFTXo~)6pw5WaVa9GaQ7wSQ3Ka z2$|5Zj>H%5Z^z;WQ2A~ATRNVPWO18z$IJ&G2U&WoG^>&*tzrwy8VqhVOODUmcok27 zwG3Ifvr&Cigh?RBs6t<-@6FNZQS(WK##(*Tc<1d!pWwplyi5Czs%+LUR=rgV+O?ol z3%a$SR}1>J0Qld~58GzG26%>`5W2gMj9lTe%Okyvr`OR8fEn%#7(o8)?^n_|jfpo| zEZX0VWHFtO_1K`NETgEThT~2kkETqhNVXd;U|RF9%t?S&;fJveEQ67JXoi_T8rOnx z&S;+adKI%1_Szuxv=SL}J9D4oPfqs^*E-g@AAg=)?r$1YMOSYIrXk9xIVmd16 zZk({-`tMi*~j$w!C8#6$mIf*e$?#DPYHwf{gRZzmCYa4v3u8qvRIS#1p z^8UcfO_-A?b8tfC+j#^llBelwb^0f`-)?Vnb#LXzlK@kigpYPQRlSH3I@ zba(<###|x1cB6M10*j%wdgVvQ*F?bPVVeVOFgQVv%g~T;6XNbjd`S)sH%?Zy65#RX zI@;arVtAD2oqa-TSq4nQ9HUO~mK=j}01vz6mx%%M;={Q|E*l&%oR_t>dFrYu;K#<@ z9W={VpJvcNWN}1HlF+?`gBVR7>`R=Jj$we zIU(<`(}!Y~rFt0*Pu(&0a+K<$>Fmni$0j2uP>FDl@-@ZXB)2BDtqF{HO-$Qzm$o(F z96bip)9z_#$G_ez;q{WQK2wUlWM=|&Pr?+qJ2Y_bP~MNORgm-q$!LPsa49oR*QU_8 zEsA$rD0$)7Pm^O673bea>w8e0Q%8?3$allBD5onLI6(rEZ{VWFDkYGt)vYD`mRJ^K9__oi$89AELe z0xo5$9BUV+b>kexxWe|z!p$H?9}yh?J**`X)yYfgTR_Xaaq%R*n)W8jS9$ zt*Y6#5|5hahRGcL9u`K>?TFL)8zQp_p3%`ysTEdJ;7pqZSAf1ePzd}QnN)HLPRJ-p zHMTe)AzCcr83i9;8*!(jAlU;lR!r-F@x6$_U9{z>T(ntoK~E%Lz5UQi>F&sS@S4+w zGZPfyCE!zmvp*6ug;OqGhvH;+$>r#nCzHWeZqzbM1qn;BG9ZZ+x=x2hMN=@A8qI^k36`*6e=L6zOrP0Cq2{?e(X~o(4WcZz)t|5W>rD z$L1VEiQZPfL^`(s)t&_^n2;t3b?lR%f+WG7m$2bpRN2^XoL4cwABM$SdQdEnOm&nc z0Smh+W36!@DnoQgSbir1k4_cj5n<|PichlH6qK&VG{1Nf%wu#-U6LDus(;R1s(Q=H zDNlErY?jwNIVxOD4trPOmT+((?jAAzdLvciIhG#Yw#n!y+mKRZ?5TJo7r|5A3Njcb z*V6?-tBsD3my`@9S|v5ExD--CFSj2_M1gyJLW%nYDb2>a8umZYJ*)jKHTY5;a(A^r z%-Z~C9eBlau8>>f(s-(_p+3SwoqE7JtB`W2OrdvkTo!MR>{)w%n?qA`8D3$e2b<7- z&D-sn;RbBkY zdAd8SQ=QmZ_}rW}xJ`7oJYb&a)n@Y^-I2G-p`P;h6?xO}*LX4JJ0}I;Z*OZtcQq2M zYkYQpv@BSBo&L4Fdr2)=ZD#MGW&&PuRNVm3nsdYoX*VaDhQ?@*V*RyDuzOnAaZ~ zY)|V?L%Vk}(2zfc6w*eAe|=KG5i2W(t^sV;=?Oq9fyZ2r7aM#nrAzu0MEi^||N6-O zeEZJ+GDkg=S+W0d#PHu`-<4gU{~^m$Xn6eBUMZ66cIbK2&EL=n?~Qj$*Ze15_VKV5 zG#k~l<5C_AfDs7?NZ#Q6-n*^^9|vEf^OOK+-VH!Y18BV~3Ni=OMz1cYq%rqbv_*^R6&k`7m4W?qSazHN*dR*?!GGw%@00zt$hS?=HK~ zg^I?X-3+=T)eZjIdZ#=JjZMTdvDi`UAtho>HrO@#e3GgZer>)xap<&0Md(%Igib2J z7p}tfCD~+7?WGv$swbY#ouC(>ziC0YF?7#tP&)_xcVUCAKiJ?WNg;o*!Fywa4Z{YT zcVvT2!vd=81&+DPQ5@ zNIyAYD2?AeYm+m^Q^ExDa);zPBuYoGp`T}nisy`pd=JH=t8{0_EF`+b$zS7ogit0M z+cojq4WNSk2VefjIkJddbcW-y+|O0lk|8mP$We&<(z!A*%fUYm(eBpvH+&Y7+ame^ zFQ~v8++Wb6j{Kt8#c#7%fH)qnb-J0VRhLRS{xS(Bgeyw-J~3I1(5sRYRK+lyYn2}~ z_$9_FQF|3d8*+v}a<9Xw5z56yFL@uMAJWy^0_*QgXtk&?oFv@@g6fJ7_f3K+^~UF z&~{OE?6SGsB|(@XCtoSPyuId`mVZ9HDT=V*rT0%x0a*~14$x0JYbm3ys<0r#9;1q5 zn^&-^JGhU)_kO#4JZ#=LbD}F7-IF$VdC1L1>-VcUmEPjaX>&HZ6+I}*WnH8W<2^8h zFXnW{rqCoGQ&@*Dl1RbLbkBQWdP{k+bseUY0>gAzpM4~G!W+2SlqxAFdkNZUL5buXgce+`c9 zz>4l3v(b{9F7Z&Wcu)lBPK%KT)E(7B9pQBk@q_j-ogo4DHN&+zuXliwyw~SwzujG< zSdGcrU&>dxqO=dTGsLkEm17r|d4sqtF^Iegx`QY}l;`;QA0v)QSd7#wXAs3@b4Z@;j^<$q)W@J50>SK)rd zFD7r+){c&^@sIik{o8FV*j!r;_SWyK#QI|~wf;y==iS6sH+>slN9tOc#2ZFQlg6n-Xd zQ}W%N?Kfwtg$jn{qEoTzB3_@(;@#{J?JIWql z+ZxkWU8FzYtQF}m_-T#ucX)cuZvD|n z%5q-NBY>tP-reRpo?AJDU&@2msz$@dhdCAO^X#JD#?$3yI;LXAql*vcL{<;A%`wIz zdsvcFoCCP*2x;h6;jNtx2Qvks+X5*UwNxq+DJ4=ttEFVsnH_dJE$PV*JqHs66;v&;^{Y`3368aq0jglAfBUM}*%T8>Un1l(0Sdbp#{SuRk z5LiSE)`%nJDyI_RZxKbSaE)ZneS-9W72~MdTODf#vY>Cbms~HLl^O-$Xt@xJ?G>Ok zxeDJ$XZ&`~1zp)zQz1&I=G=g?M^weKa(eBbY2<*2<80?gE&)GL!d|*nYCE`sUhdIZ zp@G#hqsUQRDiJ)@S%Ki4-}65YG5TsJtcKH?MGv^Jw^D&w6?Rj5DLFz4r=0GB1}fa< z)5E2wX5d`})f&w}yu_b11at?=tRNH3MV3D)ulT_RnU8VTG4$@p|G!$2(I^^m6N zr_Q@f;=k2e85fvnKckw^aLCX>L={5G3>^ZqmVUnk9voiM#a<`Of-@|^BO*or_Caxu zAR^9Nqf^QqP%FX54i_M%%Udu>P0S|)Jek;;sc^`8v@~|$yk`3keFP!djrmNwvrXZ;7_D_PLAXk%00zQW-2b>^m!ASJXI)`82ZTzup4t z%jM4=(7*dcy@V>pQ}VXZ1&Q~jo@vTLoV$ct=&!(UX)~3|?SZ%5c9m8oZijy_bdUbtKt@bh5Px*aP7gCausRz`{fhY z=Xa84PHdG=1@6U6sX4UT?UU!=?Is6&w^JTGk}#i+g~bPYjq*M~8e~qs{pJbz_7N5q zv)S|QLPWwBodNzAmtkYmTY%6c6(J4lp%Jo-K6vyPGJvg!@rV zlTjhfqb1yjcekU_k85&j{ze}Bu$f1$rUYS+M!$ZC7jY8DYb-a@#e5OY;3YoAJc_IV zzfyl;m9Ug= ze~SYqZw@d=q`4f5sEZ<}$fHI!5hE9MCSk5*ikp%tjjdf=h~1M@8pTwSOhu0aAhA-c z?V1gugy*R8IACvX$Y$d6y5?eVp8T6IjrnG^CL@!RmlIcS56d-<=k6P%I~ju~d$2A^ z?tVmyBODy3`21IKzjM9gj6LPJ{E;fvN2pKPf^4LxUKy;XUf5_)y|VD``zTfD-a@+d zR9S=`S_bb^wvd)HoJ~Z;AE2%dZha-TlDW~*6|US?+C{6)b&1V{1fhnx!=YKbODy0; zTg;WDDjJe@6v_~|L)-tFgzcYPnxgewtx4+H75Rc5-!1<$m{tBfEpCwJ1UX#5%K>tB zzklcZcD=jf^Hgc*49atP##6zg*?Wb}pRs2}$N5V-&R^4U-lC54S9M&xtmB+@9cLG| zkf2L$ms43o5%eRQ@aTfRP(Y6@slWGec2Zenx_B%|FAgFxX=Zb^Blgwu5lf9oRzL6p z@$caWg5jk!(VW->_oM{HVb1X+S|V2kumk-CJwo*uU7E}<|1o~?mZH|I|6o112XdZGhr{ z2`7{xV8!RPCY)o#cw{avM2An%O-|i5urN=_;i1S6UpU9{(Gl~JUUymB6%B|tA1{;P zT4zt}@JU5MN9XXargxKDr49WL7XH&wGW2v z;jlUiCNGHpsy-%4WW!YUfirqej=LZ>fkmUvrGvII$S)4RoJb9>>^qoVXOlL}g5Pa>>j|_x7>C#)r z4K%*fPLZl!_E9w&2|@l~wL4t|w5ZK)oTfJKJ6T8XJ6Xi+JBgyoJh#Zoe(6$_=Z$9& zE*+)c5D8fiiF&NR8K8qXq#f&lLbvtk=xSQhu%Q*K-9T%aE}A{I*3_-zK({hv_l~uS#7;_Oe!e{{@lraZ^s8Wwy*XB8@&$Y#4)1YBJ%p;Kj^qIXCa&l?qSxQLe^{OJy}*$c?w zX`_w9SOXmG%s0`O@O&Q4Vo{1wJEI1`tu0^0YxR+Q&tCARPZ|O>*ka%*xw^r$)L4?b zYN|i^CF1@*rT^poDy->lqNoW>=!cc4 zh^l@{$hx0}rMndzq2(8ws-V_A71Kh8f_XeMrTP?6v8NlE{$ngohb{o988Kz~Xpp#V zD7+SkUiWB?n@$=6O!YZ}?Iwx21W<$yO@vBSLK6#Z?Lyft7aH%VN2UT=Q>%BD`EUzj z887J<2Vr-9AlzU$fAWA}J(z8l%W#`u=ryKM;6KbZqf`YX*FXbRk`Sv5k`rCDPSC?` zev1(aGu`Vd0>s=(z9cv(_vkMtK8m`wmxOc75g}_zj6hMzhpju}cs<*3;Ue<4`xaN- zBHavQNSGI4C&*7MNKz+^6TO9^+u{`l`dF!|VRNZOiM}C7oSZI_6^|kL56(%esAy@O z5+zm6CEx*8Ts8AH+5FB(h!Z%{yxUkWMQ8|^>N|xlSHMjj%9g8pj-D~o&SNDIsa*P& z800y6at<2{;+yy#097#2%2m^+@8Pkio%DrMRQZ2*jLt zW_!Jw%2YV@T|}#vY=Py%mOwo6ID#KG%z0MTZ6N=R9xPe2v&<}A_f1314__jA*Ku>nHEMg%m#=FANKdz0@#$rM z%v>E$evf1Syv8R?ER)|w=Qgs5MiC7AiZQ)NC1R!pE=$O^O*ld3QJQ8X|AML7k#lrCnBZ3wJg5&b^s{F3%bSVEBn*?`8->bc;r6Yy z(`Y;5AtZQka<`;ZiDJTCh+X3FQ6M{Gkx8!)olA&d+GEOZoR=;5F`a%(b0Ky~roIW6 z8qb?`ssqaXgYNiZ96ls!Wwae9!&CHfU}?NK5f68swmvVp<9MMd2jC*pbd6Mwed;0L zVu$Ay;xuD7hQRi2BJzAM=4J@d@dKGq1oQH9yQExdO4RPY}gJu_;k+ z$RfU#^*VXC4xXwK0g)vm~ym__A%^tcB&N9>TCK4#BCthe49!h==@=M zORCxqLE&t-Nk${Ff9_@(pr!^}tJoqBXJPrD{4EFVY)UZ*PVRx5K9u4o*Uw_l(@ zS&$Gm&kroCx#3V-QUB#()l$)LW_O9ut;Y&%EqMEdE~fmN2bcK@^TEr9Cf|E*qSsC< zE4io9fH#Q~(ZH9Fdq)Fw zF;#hqB?sll?E_mJQ{6uywH;k6tq!6OC3+w#Sj=46C;Q!jg)q9jXNgkQ*!ID-FF~~+uEWg_zJD{x8y4J5ufjy7 zWQ}A5bO+^FVG>?BY|V^7Cxz7!*c4SwgJ7K&3g23#qs38F-SPIBN69wcv*e0fKy4lS z4i~RE%@7rVSMbB_wkCsO)n~}NWOfUOa`=7(^6@PkqJk6db{*}>@{W5^NJwu*Y{-go zyX!DBWfXoDzTpZOrc-9avjhv*->OVMh=_f9N}95NK_rYx!8~UFhj@=WGNf4;%`;w9 zQMjkMFM%PVjey4{D3d8_7EY|$$ zrA$`GqB8wC>t73|r0<$6fa7bB){T_R8FT?WY&WXH)P}XXhEfv>8KsLZZ8kIfDY0VX zsjQMQI6D_v#%y_*Gjj^Xr5LClostRQD!#nJyJxh*c`Rc*F6n{;_@JW=NB~YX);}fj zrB;TCfo2-5qeZOqQ{xFYO=zWX02KfnP!fa5OFlz?IPA$4r+RuC-E8d)uRxc3KBl%o zfz*~cmGWaO5sD`JbA;g~`l8Nqk0P6<)3=ZQr`|r;t2O7Y(JLQtg>VXm-EQx9PZ7;? zE65D}%2LK@xin)}EJA?^;!t4Fv4Dec7lAkk6g2+TS|&S$x5p7Okx`&q%x z8JAs=ZlnFX=Y@90b#Ix(jw^5}CSU};x4ONtsx?*1Pg2WKn^IuoZ|4`|*WW#Tb^gux z_4%_`_}B9nfBXJ?j1{Nkh{hsZF7(RVFP{FNi}PpW7q3R6LJ)7isE3&9Vvofss|A^? zUlaCTOCF?Lt-6nQ97)oN?*Q53?R!s>mkf54ckP+5Hfx`DXdMzAxeqG`CV z6jGK_TT5T;l*xanS5%K#vX4FX(2vToT2nwg7r}?h^PA6UbO~+Pd5X1+wcVa2@p6;4 z?BU&Ee}npyiGZANJzkJ!P;+o|wGj)P$*snzTtTXdrN|B4{>2*TAqhw8an9L=B>Iz= zW|E-KgE$e0k3*P@tgj}M3HoO7AFqjRJyxV6=nB5V&R@Pa?6$HCZ-Vn@-+af+rYfdG z>{5ecfeJ3fA_xh_3GqhhwV zkr@n&f{p{JNr5JBjUiHfCS10_Bwi##rJAackrYK_hkfrhbb-QB>{YZx*ChUP9Idb8 z-DZtWNu$vPJUKTHvJl8Q8HU4x9sOra=I9S&${%mr?e}xlBRh;@O<&7akFWA<(#NhQ zS=%&B1L!R^em7`?HpTk7o-VKU+t^#Nbqw%w1pdmKW}{JqI~V+`-Dr3U-%||I`*8>` zvPh~lO)Ym%xmWmZ>i@2F?7Nx&yMgmv_RBn0F)kF1VEXA{ID!z)|5$_Ru?Dl;O3{8k zWm_vAbpo7L8cuc|#@|CtnkBnh;KQ81b(33X(CBa7;?}b=MVIro zX5MA~pT8xW%^D_VgDu%^=WfZnY{<{GJwE+)cC74dlO5}S=j|bL(%S=8I-lO{#<)9x zBFZ(!%>k5i_k!f7iW)}>mFH=*{$)1Wf15q_KjrwyC(8^C$L6nc~^wNe#(x)!$d81xR+@04!YV>I;cKc^)pq36I-7zE88&Q?j zy_L6LsS#O1|!M~$~|Z;r;SkQoxEhhWzxLWA_`x)~jMt9h5W>R7#cE5{_zEBZ*Bxou%bD7$!DI;0-C) zKwuJ-0S-;eT)?_d-DMflYw9^jKe@&|3Qj5_ zc)b6RW8m#IPD_?-LoALD7?wZ8l!aY`22pPphf4{VAB%~BlIJC}UA)Z^1ct-k-B=A{ zrEwDld=6tZ5gdkZjz%iE*!a7rufIEgJ$`xqYJBk@Mr-=(H<7|yR103KUq71k!WYEB zBuZR|qRKsrixs$x?9Xpl)n9pS06V>${{#00D*PoE*ed~l@j)>LeCd`6sF@cBaw0NG z`65!r>_0e(j>N0eKmR8dG;%?-9Ond7x>NEV!nAo)lRVLV=ML67FlcgYHS*z)j63@e zR$Yg}U^{y^RdQ=q@IAw4w~zohgLAj?hG(;uEWKeM=KBy7LI2b_95YxbD}=NCMk52H z$oio6i$%yKRr;r}C|AXSvJ*%fTb>Xy9{1WN8w4(I%~m^g4bAS6RFWsUbJHEM@}^S@ zy6>tf2&sJmpZ8KNGFt-L^u29lm;*;AftE-LQUDHOae$b3*DT6hs}&XjP?lk+AHhjV ziIC4RvTxGWO#SR3^*HsBjT!H&)EGae5p%A>1SQQ6{s9{~RV z_y@p00R92+4}gCF`~%=00RI5^2f#l7{sHh0fPVn|1K=M3|49H__YJUj-vImf4RBxq zeCMc|Q8hd_CXKnHTgR9k{i;$958>W@XX5~Bkle0kI)W8F#Ly2+S3Qu}NYj-U zQkVo2!ef0EuQ$61hjeoEDNNu@-cDfSPXQq};ck95-9_PhiekJ9*O))LvN|Nnn>+dt zQYEjvaaC>5+~s36tZ+V$Ie$n6UDi}T4+#i04xT(VagOw)no2WmOkc{`Y748%=mnfj zTpFtHlZowT_rK@Sb@0nov__vB&ausX>AZU|h8I8(Y;(l~`G<9lP&=_Qd+x~JP!8})|x;hFs>{R zyJ&{ND40IVT`N8=WOQUf2ks{DU|cnGEN0+eFFw%ROhNl1e%F zH;q%$p_#EFM3t&w{KNAXKfVf{;GpDpRb0pI7ZW;f=Va=XniFBLj&5MJ6opAi63*I0 zQOYVln39G=zXz$ca;rS;0DvybKpu~Ff@Ut!!bNpq8WM{tIU0U^_4L{I=i{HxU%h_* zoyFy<%bvm&SK#pYsg#GL`Y(AbSA4`& z^Ab&-v*U5@<8{3$J3wMhCR06fnN-$FpMQ-cs{XZPFWDLAXZoZQEO?EN*h) z9z~Exz8`+7eE$eDaR#sVaA5q5H7j7;kD4{i{etdwPsoM*hj9Do-)q6o<}p{b%Sn&a z7&J-?v3KsCLX@nUh&f|v^~xu=%Jzd%MLB?nwyW)DmY*?cGKMSd5`eHh?(k}PvI>eY z0sq#dkg)KE{#fwNIJ91DbP@myq#43!DV0mV*ecvdviUdHAdnk;prV5c@ zy7-&3xsTs`A$lmm5GP(JkHpi0h>@TH&c6GtpfrG!T&2{P58;azAIC0mUeVa}Yd7 zbZokrUS3iLC!yF!7zG1I-4pu90Jug^UM$NPV`MJ^ITv2=e4YkzXto9^5FdSMu>K5- z@q;Q?O31g@9CSnGx%4n{Vh@u9NfF*w_H}IVU zYY;iHkXCq$DNyV8vJ!N>31HyXA=%Y8CqGXD zQoK2wGrQTD5wcYU1!|}yNdj&f zH&cOXg+C~(#PiL%MNtNoH?+lQ81=9gSbt65Rn3_bg0NyrWN1?g0xN)dhI6ImgIQ+g_^(l zEOBLXmmS+8efsu*;vD6yrm-PN9NC@+{AJ>fP4NY;fq`5D#wUWY641Z2L@OhKh`jEI z>3@x^>WEf1JXgK9=a?E(RH(d{)Wy7(o1~nJ%*cidDysN|(3es`OIAfyQG-!DPv4hh z=2m=Q_GW9x2}&s4NWBzer+rJzgykW~K;>F9a+rgaU33}l=1a+Qc_XRTX~j%sc+rW{ z^+~T~62|j@`(=cowv@V6m=NkpuLSiZXKse1b&+qa_r+quWXO;LWfWHkk`HTH@#=~& zspDxxcb?@Yp%ud=R@c=z6a1cJb#BLzP;y0F#b_sx9I1O05idb>oo}|HdRBxO2+g7V zffSiuvQxDrYK<{qJG!Z4mf5$$#1&ryi_2>LDt7bWPmhBJrcQiquXuyY%wQdMwAZ|L zR)$Vf(w}e)RUG9Htie+yrRzL z;}pnzYD#nS9gzc*ZsO;r^!)@gf?7odXoI=k;OVSn91=Eg*C=irC#Fl6=W*?J=1iK! zVUAK3SKhpv1YFes6&hi55Jmj7SC(=62?Jsf7&P z`VFi=v|ESE%G)m_6O~c+VhbS%rM4K`x0s50Itt8HhU=)p{l#9_G_lleFgPOx3A6Wv zb1YteeS`C@P~TCbh$(l3MC!>x6_qckR8L zlDgSx_DT;W(@nmPy4mahem)+Sj+*o{r)a733J~V#pMT9Nvuf_*nB)sDVOpXbO0iH^ z4XyIqr&Z4+v?RznRS|E}+L$Y{d!u4D>QTzc9n(&A&g>6>qKfEl8VCFSAdGh;glKe( zkA8w{BI-abR$()Z+-t;zIxlEe82Ju&dMes@v(8GLlKY=)+Rdm9Tws*AJPG%3pN{rd zn|bbBDeNA#2Qn2b-5`8eo~T2`&h(reH(s8pERLP83IC5nO0ME9UgCII^UdsFXn(t<&45C94W2c?w?Sl$~%I8TOIa+%icsnJ8dML&I$FbPZ)_FMP540cDuY=#R>iH zqU|!A<#amecgwpx-)XYr&2C&cgl41F_(bB%UwTYilP8ony5;M)dAoH_&N~qsmS!)X z1-0BL;=~Lhn&&yyclw`5ZJB>zqrT|pag-@uP$k& zr~Xk+4zBD1G_a={8ov_#UA-SunP&Wh3+!OIibQ>b=+YhH4-iWGL5yrDYVC>{EjN<;BP4J+RgFV5A6LcPt{wMD$FEZ z1;+0!1*_$^B3}g*H@%-ZX)9;`EpQjh-XZPZ#@4tWk z?ep_jsvezd0V4myaT0AqQjE!nmA}+Wq&a(x%EQxp2Nfc7olu-aw$5G>1F=^KGM5Q$ zUQASp@4YsJis_K-h7^qe0;RHJScOmDenEZI-hL6>ZVoJDlI1+ijEGE(II16gqq;%w zaFl;YslT@`d*^WH7~R3DZpn`7vI}F}ja8qiE3aZh{~xru%e7ZuALnc|!>c11F9b(` zqE!^GlVi6?zjIFZ9{Dtl;S@&6r%Ur|G#J1VV8T<<;$BC)TX87B-3zyc!!*H!fb0G8 zmIE(R;DH*r<5l=R(jh8rz)1D|rLyNir@V1*#i*=nSyPf^R8`x9k^_CE8um)F`7n_}(kG6eD$-T_`T*_6JBx^|extU!04b%-zeScDp?V zA5w@~D(WdP685usk2EZ*L+YzqZh&YPLtP6pcrxg2qYbjBFM`T6y4{FV7T@A&;{h}b^8!09VjUhc1eQ?sL-UVR#mRPdZ` zgneMUFS#Zper7qPVfDs!gc{)xdN+Ox!b&aXv`cL z9;TfZwuuYUX)RtVXw=_ewVd!hhOm))0rweBG0JUBI?8cIaG|OI;rs!}Z^U08Sf_4H zosX(QIxwu|+|>sE4O5K9GfN?CbBnKn37$}>mwjrTDWdYiV+h5$o0!7I>>c6aC9@;M z(~N1!);pb`60W#7MaKvC3RCrHX$#dnLF$fFN?S`8hpfiV(c`AN`6P|kT@<_dI>ofM zm;d&wVFik%jm@25sTtrxKjXcahzMY78O*jcZrm!ERh9a!Yg`;t(1~tUicnhm?u@#) z@EVmeOTY0bPPvPBDJ%8yTU?G&+Cp#+UVVz9w`)sHjLk;+E*yLv=nL}Ob>3PSTB#M#HxYv|dw%9~btTlnHv4_P2Q2>Z&T{J1$&l5oq}_tIqNy%4!RwotU^cjG?I}0fG#-O z$a3XLU5l*iszl7w{=l$LE$kFBG-@6$@#Mahu=>0SQZzUWXe&|f*3Be|_I!2K#3;ur zTbeA?2Iq7$Ijn*NRgV_clhG;&O{eNgYYI|_%Ehk+L&brJF?h|#iQK%@jf>I}q;9@S zK$lx}W}+Z#J>6X%#4|qg`YRy<5e3v-)!l?VF!@fK;YZ@kNKH%K6p2Di*Op}L8?{&i z{bRNijm*ATj6#v=jN;gp`-Z5)B(M!7eDW2Yk;oEY-K4?m91jRTgmw~?&JB<9Sc)O zPX}I*#Re}kWIH8SKC~c?%$H|UG=RfRq80LoaGk%w=;pV3uXep|om{O6i)%{SbrN zS>%Dri6aZiw_a;%c(h_c2uvRmZ!zN1&wL8_7deEo`veB#%!o6|K_SHoGVbOS{R(SF zSDdZ7TA4u^ua^p{C@06xor$Z#R1TYBO*d;SlHXbjL3HwFHmBFP&XSX*EXRj#t&SIb zZ_UiN?jFW=MGZPu3k3wvAPR}%TTJnf5>lmcR|=_MZ8$%Jp3g*5 z1g5_Y(Zs~sZ>@-P)k*4@BVmDM3XpboF)$2kPi0jWq@1*89aNAbiKY)jSGUl(%D7m> zYY8w`IGL=)(lv3gLZPh1cnKzpGU8HJ>StHa}jP_`p5`5|MR7o<>sR?XX&sDT zmXyS_m#yxk_9@bteR8P#3Cn3Gh-b1UGadiu7>#(@*U4e09lq^&T+*_HmtnlFfv6ml z4N+;?;x+NmwcPZ=JZ?@L)@S7MUGzjS6TbE6e0{B=N){t{@dh5et2px6Jql`6sU0xG z!QH!6G^a%r)rv<#;#zZ~5i%lM-Qtm#T%pSn37w^|wUk2*oi7G^us!t-DEfferW=H|2 zqh7IzM2BXYHY8{$-HdBZ!TqoM9WT}dVT&HpbLaG$C;>u+Z|-t=e34|lSJi^CJGorm zyYvA^%7lr1VvO+x;s_x@gb`&`lv^~jLesIx0A{5!i#g?te;h8mi(EUu9u~Zttbx5u z9D&a@g01bdt62B^hwO8L?31}pTk>%Z50^5Xgs{)S%O9Ael@q^v-b6gmQVI1G^`BuX zOG2!AOZ?;z8NVSGOvnanbxRtj+44YnIH3s~xhmDDE(u9i2RUYK_=|9vs16d!=Mz!| z_cTCqEpd8P*R*RC@o)=Js6GH?i$Fd23FMzuh`Cp5EKW$UJ`OiY4$98TcZcXpAf_lr zk{mhR09wo{d$yV4W$gPx*EizdwEaB%QX$gVNO=uiX?EftOc%nb(P1IpaSKV zaq5hQ#*tERxe!1!QOQ~Z{~oQB(1KO7B~pKp?6i(G5Tnoaot=|#(1k0lAg%}BZEnyD zh0b!=j*2BDf}bFCI-9(RZY-Xqk8@@p>y1JyU)18oS%iCh3g;bG_$5{IUis(YtwQ7JS0WFrZ}By{{~5%x1$xB#`8Hld|~P+N;k4ds+5d*uQTV$X!wZcp-&R!`v z81{jZ^{@PfU;Gvra3sN#fa(Y7P?$Aij+0U!)EqtRy(&kw>GQbOu1Jo=bBB|&k>+!= zL;rE0(`#7J5jhF5;HRV*Y`72>j1yoHOuJ|?n4mU$) zsg@R$G?Nv<{3 zNM&6o&#qf@AjADcRMKBsb8(f{@J+O=6)ieEfLVb=n4rye@8l-6P>F@=4I(v-nSK{Q zIB>s#&o?VL)V#X0iz~&Nl!fdnlr$vaDl$HM{A{y}FHs#%ouM43^1JWZ_jh@Fro2!J zE=2bu*9-4fdJ#|WB%~*MJT4VYx^llo?}ZML`797gmWrW-9;z>U`!YG-m9acF~99%r|EO{WS7 zMHOPLApj)V%u<&c{%>7wLS+!(t<1R*krnHNtvt7!tGJ`Eyk`~Z@2MS4?;-Nkr)@+! zL7UW;Ar&7euSPA>po%I~A3torKt;HTF$)zbkRuecb@pBt2M_w3NvY=gkSkY7r$bE# zISN;gJnK((Wa(l(FC4|J``)7=zPrb1DoVDTvnl*~{*T|+<1|xH;a|xs(~6}1tWKEE z@cNw?HKYfHWqevioQP+U5v3gmUMu8*G*%Lg7N)4h%4nF;&_(O(c(+-Td17NtLD>s| zEns?yC2alc*neL-Ci-DEQk3>4sPEGXiNpQ7mTw1DueeZ(=&7=$xB4@$&O* z$q(n!Y-ke4ohHe<`xND(01of=dtU1LOnkWUc~{C4oT$ef_8uAvD!FvS zRTelhMf}pp#Ix8~lK5t^m|dY-77l%oJrfQrH+z2fqm05!Z2(E%p))j6N6{IC#oY;u8ORDBts8o zF+Ie4EkKbw6ye%9CfxNhrCf6zx{%DMIgYtyHiHiLcV(SBi8lt;DZ)$LtbsQPPVbXT zRsLj8`YD!L5BU)|ux8vNN+P(6bOv?0>)6Jk=K6A;DZkAC_ zsmk`SUp_O;kxtOvB`4WVvr|4xKR2eivzGg{sv(^Q%tTM77umX)MYxSGS1u6m2 zoiWwXUOgX;+$OpsG=U~pRMCiP6p^P9gO}t1DtJqo6KD`}0VNaoW_z}buA?Psl5up^ zx**Fv z*_24#)M}4Z(%y})*Nm?gDk!1L%l%c}fGDPfN93mbwgbqyd>lx#^!LNy#XIkaU(xxS zWJa+JG5=?F60&e<)R{^kSb~7^I&H&sJd^vn>5o4|?E^}dxij2sk4%szW9IfS@8av3 zf|JVt)&3vuGOG!FX{inHB77hOO*aQ1f+CgHvBe|U^rC2MY@A&GM#srJG9ya2vwSQ-#`xrvto_cWir4Z0@qmv8~d%6iUxl0&aE8=Ox;ls=~b+Y_);7y#RGxVeIl~~$sU%Wl;P19aZ9_olNaJ; zqXaR>F%Ekc0;UvjiahNw+H67bedf%}Ng(4*+wGua%|~`VE{NA~dIJijI3p!BdBy-P ze40wkfhcoAdk3aPvm{8GBMSbU9m`O?rb@xDrf2!OD!Sd97|YsW=PBiW5lz!#l35s! z)_t^AQ?+7*y|`9Nxl$NMJz<3vmV~xSkpe%9`jGABHE}UO_4|@kn9g^34C_WE z29)q8(tIOJBYzmHxB^dvVz#IoCK7U#+AuxSam033Ml6qTW62B}!HWBmg9IhcgDd8W z<99dHkg2&Iyd+;s@Ab|oKH+rHv!FrI={$8z`517zRtepRPLM+he^Y*Ua$?Yxl4oG3 zt8i!0NGiqa%UG*aj~Qn?HxyeHFPoxhG;m)q8h4N+?BNL48`;+wQkx_7c}Dh{E2o8S z<}X}1Tdpb^4Ib1IWk4`S!9~?;0=O8N`@Y}5!IEhoOIAhw$T5&%<1w^Rv$gI>X1X;C zo>lO^f$Ct*1zD-#xZ{f~@ipARv zf-P+MN!aoOlRybmD3K-PQ?SL-dyYu$#Tv+gLTITQ(>-I*+}UhmqCW2dk*Ry!KLwMC z2a~_!_Em^Z@)2En^QLZxg1)lXzj9c1&$rXj&G$hM?Rpq@>h73Be||nzba%9P90KL+ zYFF$%TQqhSSTwUrAAf4t?$y)BckrRl|Aj)%Lt~oXtocsp(?R9AFFWz+=sRj<3S)Qk zkYY6u6LQd@8^RvFOm}epZ8t1=3+dtgW`~KlDjJLA!(=*5Y5DNP@RlTeO&6iVj_%r= zT2(v%crYB9q9Z_P;7FVz!{B9mf`=OxO#;S_|6u~*s2alhr0NuB{OT)^ZNB;n=zfb) z2GM*Zk>!D;c~um`&W*|Yc)P{$SrovjtoVjqW!Hp03HJ@><*8j+#ZvKy>2@5ANQ~!# zNK1=Oci`h|1I#-`At!)GFLQ`l%L_!5yRRC;oT#Ui_1FFD{E#{Q2o9qes`yQE`{B z9=RfYMwGkT>ftCT<5Fc&u@}*^imJJf|EMK%S2KZ~nizi_xZutyDv~+ONh```)l$3R zLOYXbW_$E34!%CVJ$S*0cYpqM!7rJ~KDIa4L$?*kE{h5^tEK_Ci_2|NUw=GhiPi1P zI2DGJ${Axk*HLQ8RSbc%;)Pn5_3d5O7JvEVwI%d2eN`4!UM4F4RtgI~iuX=GfJK-c zHirZbG5K8VvX-WzST(g={%axWu}#@WZtU#8T!u5yX*sbYB?-~^OEBLQGl}*5E*O$% z{)-cMeA%NDUt;cJKF3C;E4(T>!JwXxVrbN`p0k;`5(kfhbv5`m0a}lfF@yLlOhhWM zKXwBmjxiJh9DMyaX!;KlhN@}C<8}DSrT0RzEay4Nl`rgz-W#J4LmRU??K+wzIW9hp z!QBAE3LXVMJfYZM0q`-%%7?`wo}mJGyb3>zbDasB?ZNL?`U~ra!wd4f;eqEk-`IWw z*45Q$ry~rv3MPL=F*}<79L*-`l3^+3m?Kd%;)R=J%l-~!e$;J?$H^KQ^)v>Cf@L1U z5Ao`-65j(3PmYadbs6q1vB%Bf@(TN3#FR=)^>2?_*LdJTaqJ{cg1d!P!@IQ@hVUq$ z*`w74_xRKAqqV3X@Xx=xe}0qf)q^Jzg%gefGe?Ai5L6+}Y5L_~Vbzq5^OSxL9(cnc5E^t_1jq#-YcYj)5daUk5&{Lf z-*REwarBRh92Imt)q;jSvP>hfQe(qpKOc=&(P}jMuV}Z4=9Owjc~T0OE(5v?K8XZ~ zH&oskviMe0s|7MR-xBzqy~|mb3fteunBau! zJizeZe&MJg-hNR%Y4yCv$G`lNj?3;IL83<@8Gfonk{qTq&KyVd!KtUaf`^qMH{*i9 zgMR;1aYuv3s64=5UTx53qr4w*3bGCu9V3mQ4^58P(`*gPhXJHI*(?^QAm48`V>*s= zdg!aAG1<;OhR!^55rFLpCU-9aTbVD`cliM`6Q+P4g+q^H`E%JI47rteK2AC zPU_}kl71usC!u`DicrUF%VLf0XNzhC4a@c_=7NNYsZPni;ErBwHpcI*^$zbiGS`aB zM&H37xU)%s)65q>2Y!o9-pNY?8o(IP-J_r}{CPnYDOK9FFLm0au4SR7%v=vy_mXa`qXQtliRt^@>5sA0;vU8IYZXyoA@Xi#dN8=YU`lIUypKBf7o`ve3vpwUR3 zSa1T4pH$wwLm3Xp_nlv`$fwr3ebsWlDk=J9ju01@pM93@!@CaNb4q1s;+KdbA3!2P zf5s$2T{tC1Ug3R_U35)yB~`ujzan)LREgQJ!_y|(#EE)ld6)0+{_!2ZJWXaT=151^ zF)avW7g6~)FDIe*lWiW(SB>6Two$}GJF4QBEZ?924%+3Y8MfoYriL7f5 zn|HVd5Zq(8fL5z<2Pv08%kDurEnivK>a@$p1gD2?T`A{c|b3ly0alh~70Ee7&H?U$5>7&ue2vg~M!w=zyqN{_s zdgtCBxg9O5< z3)K|X&BPUS8o`Ju#h#q_tk5-O)X^J-eM}^;@phB2D>v0ZPBzje136MEViz!`cgA$P zT!~(%z|~mdn9c-C<#9a+L=jI1?l7lc#8N65Qq(k_cvU>sQR807gc$i^h7xBQ;vfZ3 zgYw_sQhK8&d?MRj6kgo^j)c@S7E8Lkx%W2i>c28wH8Op*i~DLeytl-D(Jc{yTbD%M zfbKofdZsl0_*GiJufJ9n0P7B!tM->KObDs2Td#tgv?p(zUc zoqn@&#H(@xEyqw!8M51_FhY!Baul-s-1~@~;)F%-dghoWrQFGty%73@^v|)evX+$e(aMwV-N$@GPz1`Z~3K9~Df&_3N`Os6x9w`o)*qU>XFiU4-h}V|eo* zuJKPmobN*U+0aK>^`gZB?i2BKWb|Js&SfxI6R8zxGx`$KP_y`Kdxmb82lm$KirO1v z8>|=UjG13yHp1}={i;CL1CkxL zn|Zpa?rD0u1jEIg9x*_cGBGgL@^n<)&hM;hfn7}_+pHg?D5gN~Le?`(a2e0WELmu^ z%Q+#MVx0A*iU4DE0Re2?hkr^$h4E&RM_(q-f#`Y6kVm7`m^IonP^x@%%{El~Q3ZOL zQU}=H9vI#iC-ih86Ol7cMn2h;N`qa|^QZCc@<=^E?_bYlU zU+{kkYk(}8{hJv6hA+Mj{{9ZvnWyjdW#)mi)p}ty)1m=4u+qnT6Y&<7DU&&v;$bqI z3m2JapL{~(b*E4r>fp`aookngqtlI3%A>^A9(k1ZjxU62Ct9Xo z^VXr3!z)ZZsp2bmM%t(lRSEWn?ROdMY98S4n7_}+s?XO_xJ?RwMheb?O6u&`0UM3( zw+UR?h&=-?Ft;CZa6=O+Z4BSCI2BWNeB&G$yXT77va8Y_jWi|N@{e;@bkqY*ql+9x^}a5)5grt2GRR$I)j zLu^^{yTCixy32SqEpnPI7E3dJ2PZL6O5qa9d4(EtbTFA>T)`BrLoi}0G6OuikKRZr z>eWM$TstuJN>d+hRXhOe+s)0m-Kw-Y!!+UYiQu_erY@Gcm#pSUG2vXYPg9@g_SU(l z+nemLu=pa>Xp~P5Ewd899J5dWy4N`2`nJ0rp9a3w9G+mnPJurTeb74jf@q%xMfciv z|HLq-1oN}$2}ptl3W*ydW#q7yR*n~T`-IHK+1|t1EZV}ZN4NNbYiOt2IxSADc#b49 zjEM(~K_WOT4>`E)Hcm)%U$$SWo;L>mRor#IdGeGMQt1HGr$m`$>@`nEu=GX=OOlh& z+Us`yiCTpeCoAyu_Nfl!IK^@>>C4CWn(;h!MHim)2*C8XoRrx(?VB&8;j;3PLNehgV& zhq{_O17pli-gIk0r}b_Ef)U6P%5y@S^0CH?psi8+l>b3DC`NosfrC7P3eJEq#XSU{ z)&tA}dw9)JmHsZ2Lx@H=l|q@_ru033ebMT60@+KX$9NR9{u7=}*u+o4^zD|da=D@s z!{|S|Wl3jG27bLFYb=(7FQ%9)R90eh*l$%@(KunfG?fqL#N(HTIJx2~G3cgrSjSk{ zQRVETc|8pFSgeg}jZ>|o5Ac zC8Kju${1A3wVtG6O!!D)Maus|L@L$ba~tb9_s14%2@zb;%(;_lJ^BE*w0&jq_KTm% z;Y}O@hoMw-+V#@SAu&0HsB0Eg zyDS&^@{`9CL)}7K4vA}ODq5TJ6eWoD!Z%V-?;`1y=yG;O@m3s|Cy%J$XAUNSFnLGIMy7cnA|D1*84ZVU1;= zU3HPgV^hDzN?J7eU-D<_qze&Mm<82a<=&;{Ea%UB07YAN}6ZS`#f`udQO8m46HZ#(t%Q#>Me{~b{)9*cW3|Q+H!p68z5yEM}~38EBfkD zum${=^4Htu3z zur-KA4EERpXFM#@{rM zCh+#u>%6N4?RIvul|n4@6iwQ%yU#YGt;|>_&YD_uwof-c)Id_6sJr}G(45pHk1Nn< zLYc?nxveTnk*4m{NWJ!@vU1kUx26{18xC}bsI&cK-M_U>sSM&vQ8t}aNRVgQU{Ap7 z&(RJIN_>Mv9o7Ql5~ybJNNFA-+W8c*5D5y=ClpSC&{kE{NE^Ybi25gzyGP?GIr+zu z*!nQ=5dJ*+fV%=mgL+^Z%UTkmGMW!0^RYS9^?1k>%rkJwC&C| zb5|hNivFTSXsEeE{F>vGT}Yq8pkx!=4`=q<9x@Ef=w-FmaZkCs^{qI=r-BN)lqn9^ zNc&Z99r`R5iR-W+yi%pO7v4J3OT7I|$AjMxURE!2#Q0rku_=FaHaqEP5SJLU*|Pez z0B|^D*SaRU*g=D48$rQ8(54BEn$W5V&6?1z1?^f02imouT?^W^pj`{vwV+)K+O>u? zx8FAU?KNwpL}|CJmsyjyK3R^e*C~rstlv7aG==7^|NEHze_y_w9^a{?Cgdjn@pxMF zKh@I$Yk(y2;@Hjd>AeUHPwB&Ww%P1*4D8KL>r;S^LrV5?nU{p1**i5? z1^#<{dPk>cZp-V4j=3Cw4ex7p&~TdL!O%WA`yemPy4CGKC+Ywh&*STHo=-;4_R08N zyd($*$J1Mw65GGh7o*YnY8qj9!84?@m-ws}h%!usz2qOey{fn!JP*PZdHk!4=1SOH z#cTL?GXS*2b1rAt3eXyjZUIzEWN}z7b@Ll4mWc|b8#w1*?+M;A-eXlu6F&C#iy+$V zHWXzMd~1IXLT#%#7z|pS)}Y@Uw1=&Jw*^0)UZ>IRce<@^AD%P@gKlTg?sYniMhE@S zI`F^VaL|Ik2EA^-J7^3#!)~wHf4jb1Zl)N}h-RSix39)O{P@jJ-~aS_{LS;9$1USW z*lY|ton{LJw(hVw?6v#7X0zF9w;C{x7OXow>2^A;K6KD(H5#qPpwaBZ|Dc~H{55Pt zyI}*Eb|3oIp)O+Pf*bMfK$_KU{TB1o!60}5HP&=4!lmt3p4nIxklC{u%?pVB#Wl!cnIj$cN%( zFj?-gRDm4-WU@fZ1g0{(i3q}+^mqhOFoK8Us|g-&7ZPDz(z=bS;$s#J~E`R(>M4=)IQ4L;PMgO8t!PBh=eC8c{LC(KeRCC&bp~0Z#N>Uus|!~_%0efCRsn5m!BG==jYcxc)Ev2Y zg3lv)S1a~>VW=U5)(5KEx1svXk&dK{*2w|e?8ym_)*i_Q7E|HUy`A5V<7CV+2-j$` zE#SzvSu4{zT#hmC3Y>l^K#zGDf5rVNrp@3Cez!p6?&y(*tnRu+d3Q4MV6Hg$F!Pa! zhw_DmZ$B1lSuv&NAtm24OMg?l4DL7W>Ac@gQ3S2|V-o#R zZ&3A9xaoMe9ktYK>(KIp-_{5sLk;HC=r3li)~vsPe?Wrn_M3}lyT6D!y(k>chTUcp zB<g39#8542b@9bQvB)e~a)B z!gIUd>~&jFw>zKrJF{W97|f^9a53$4hVAAwYz@O*@>do zwClk?0;aL0SDcT(qE%?+V5-II&;pWbhS3Zz6%qWmGmD~jzq9DHy4@aJ z9vY2ix6u#huq^Oov6!~{aG{y?p;50Fb!RyRF93SpLeReYv~5KPbY@TCUKudo<$Bw| zeCIoiqQ*N!JU`%J#A;s>CA5WtdT^IP*JkpFR}xl+&ng3tLA_$CN3q{n)+)*;>0?!A z%34SdD(R*TE1BOf77C>MjVnO}xBp3J+<)39oDcXdoOAM64%QtO&wbQ2}`|7E6@CnhLg|$AqyOThX-YtWTZz6Ve z5sIOEFVlI2X`ItCh^38g#YKCjn!=J%GYryvs0cHD&ZDXD){<*oiY!TjuI!c53&<&S zb3NV{Iju&QBm*@7r1az6ZQSlFZhv$n^y{oh`*4ku*>~$pNB|?xR3F=fA_H z^?3Y7b+@hR_R}_hR*6=6*VkCRL&7yxHq&=Pl?}i2E*?~U$Bx=6>O;TuKMM4rbUU)Q zlqE3BRDN7Xid9eXrl`;jx5bL9Agj_v9-{%?exVSZz6T-N(6`p3ha|mYj-ZuouIK1k zZ0_Vwk44N%&xpB*%t_MBk`}enaOdNW1uX>Q+oOnW2ueR@$CaIh4U?S4)t1Q&*l7QJ z1CKt0GxVqq_guLu+})-|uO62izyD%ZZc=VnWvBIZ&`eE@c79OdbZHpNm@_qeH@=_w z;UG%Q(bFeQ^ge}TBn~hCZ;V7RY=~e8zn-DzhSn{!`%YGTj@J^CmCV9rxD&^S(t@++ zu24x=TD_Arcmi1z&7f3g!>&~t zRd`J)*LCQv9>5LyIoXI6!%;TiBQsB|_gxDvo>UeiUEZ4%>|EpfLUGqc z#kTC6hyv=C#(szS!)(Rkf${T{pNEVcC@$1aMvJzDyh76|oJ$T^zGsINQHG&l`*;=c zfSmwfFXPjg)bQ9`L3PxNP|Nm&)a>|hmT{ap<51Uwt4O`y1veWkhp^c~LoAFH-h{Ut zWwQ&{aN1KAS7CCM%$`U;GTc@#A%zM;M*v3B~(L^hIuLxinM$?!;Yv z6D>m2PWbzp^V___BOZ-pV!#>nJ0y(Jh$lz#f%u!gdU|nASr^a}Krc{q6;~pS6vgjm;p{51gTBQv zfE852`Exg>o4Bbf)xm*a0N7@^ou-sn~XuaVA4VrjD}OvRB=$4&?LUL zo$@l1!XFh1qf}_FWNCe(SEWHKq8Fn<3*oE*)<|}c&stGiIuH#U0eOSef$>7|b*4pD zZgkmi<==4d7y+18yoGZ~@rDCad0#i{%ZNvA+TzDDkjA^<>&N_nK7$7jy$ze`hRvLY zt#redzagf`5@#ia@-fU5CPznT#k9;w8h{ffXM+ogo7ao~Yx;<<{D}ctt7OXocn#A- zrbR_9BQ8_=>cN*qu9wZDfXi>q#5C9u(+8K8E-OYWG^>cGU#DBCrtPwwL-Vrq0}0a z(Gx-Q^jH*6$l}sr&Br)@OlcYiAMvKO zvY9X;l9CA0a31EhZhBgy5hMSLmj8=Z?iWXSv(1*(&qo_|LYY@UZp%pOT2e(aUH+A7 znJlqvB?S=Sn9eBcHYbpBL8*Lb(Fef1i4zqB|1bJFH5^#H%ol(1WJ^-ud5rUDHzrxs zKtIdC$wjoikSTaRT>FOjB*@fO$Y1{Sm~*J$V`icBuU^LQ>>3PkHu5JIHqj)9TT1qn z`y$P}2@)Sq^!q~(v21sn8L~=@8Sv5s<{Og`H6~LgBFZ{uk!N;Ca-euT|Dbl}i=s_w z?_r+=;I2n(t%vDHZ?d?=f@olO+IJRyP5-hu3fHO5GpNUKE(d)^y4=j(2UE^I z%UdE#EelNEt7>{KZ-JPX%V^F4`er9R@ax?{ zYT(Yv6a_d=Ar>P8_jYY7hK13IGm3|l*?|<S_6XH+a#hI}Q!_FUNo?G&q_eceA+JP52B&NP z$B!Nby-vz!hYkUjYaa)$f)Q@odC5bwu+s}gAnS66vzh}l^(1$&K2ajQ$GSo)tWp<3 ztHa>2{THPdrKD`WIv%o`1J=r zjbK^wQUR2AGf=?7WPBaX;9&NH?6=FSDlL%7GM?orahuKZdTa%96>jrX!kzLeVGCNE z9||Ba&m3^Qe*g6GA-M5%9Oi7|{_q5< z=CX^tjrTjeGh--0p1aXt*g4g3^6hT3dIX>!y?FA3II(moNsMyrNsa!gc~xMWbLsUQ zh|NxUvSNsY=0jf9mu91N0@+(>O!A4L*=RRUbsf_nizeS}blZ1I8>1+#7D~8+ao|;}rpN++U`@>WBBJqn4Azq5|fDYTIt{r2x5NhXi)@E>947qh; zIWY&j#h|;rQ$ZIUqRmeKWF#;=^5Ivh9??&Y0!pbKPEJ?dM*D6s}N=}{H~n}PJYX}cO?7y16ra7tIhm) z_A@NVF#7fUAGP4e-Tb3?XQ+2nqXx!_BBT2%*R1nUd4`hMI!>+*i^USvsQBz3hj{iL zPtu1JBaF2sGofcJvd+0V18!Asm*H+Of5wO`u&rtvT21|YHp;P)2 znN`(wG;wB(-ZZ~jNyu%)DpYd00@g>ALaQ@7%%f}14PP=Wc+0cX+K!4nJL5;lFKYtJ zZf>{tp+L1vp};`Uhz9l*5jXv_P*6yGjp7m;}m8u2p^kPkMojCDQ z_#3qR%H7FU1#eiQ7A3Flz4NY&pbkJi`l%M2udkm}{*AS>R!9a%WBkM@{mJH?iu)Ya znBOE0mt?%r8va$Z8jVoOiLxHS?BRtboHx$b54lKSf#%w)vIbCS>3bY3X!)~>YV!v) zO=+j^LK#80+`#Hn)I?0_(B{#Hnt}H(O*e7nx40Gn?Zm;?CFrMH3kJvNCoUi$$}s)k zjEVq1zYigO?nS3UoZ?#JeHmMYvS|71>VjDL?Za zL`kaaM}@oyBRhUQb#e1J!{=cI|FmT_%g4LC)DnK;YQ=fWW$pYsu37Fryz{a}*`u9f z)6te5&SrO(ysvLm$`X@j7Y0L;@GY*Lm?prn(q{DpkGN{1*Lr)K8J9Hxwk(@39mIx{})>TS_%&G@g{jabn& z=L=Sy|Eg#b{@P`;giMteM83le=*O<>I`|sD$vr_8Wu$_v)ksr>B_0@V+<|7^%_8Pq zNJsfh{WvM<%d{kI*UU?KmQf71KAt7DoW*N(*v#)i7%d_U`M-}gaQI9Y@S9xe(%Kn| zB%o1ALV%VI73gWF*-3m!&fcy}ngv_`m*I zcfD)9zEx|zzBOyz&0FjBZP~S6-`?w5r<1alS?u3FX|bP?RV3m(Zgmw++=lmbFw`-4Cfi*yAlZfU*!E~!ovGzjf?0AeB zS@xU5>?)eqgBP29Jd^qrZUPUyC77P5n8?j$_nvS<;3(mU1T7$**8Au(+9fp(2ct{G ztyKeff4il-4qsF3!Xr3t%Hgj%TW&7n876Hf0Zs)S!2sYxm0$&K8E}z^7x9eVNJ)Z3 z(w-!BjMlo{9N6zTq(1Cxo9T?+;81aZHTp*K+o|!rnV|osagdt4OBe3A^Ci3t%SVGt z+k39df-}3vKPow!Tr~t}Z8qPO+`yJ1IOvC6jzje029y!kPwS;E;n2_Dr-RA$b|UkAlgg3Ga7Zeo^Ky!AVT` zAf~>hZU^ZLgac#f<66iHaUh0un=4SS4B)=>&L?b>yj?O5lUYQyLahDbA={!2WW%tx z60{Dkr5v(nI;nxoqoX5va&#m%kn~XWy3&|#OK)@>gCpW8lK0&0w2+r(39tuVc*E=- zm^?fap2S3U9wr-S_fXy%qs)h49dqnPuM`zl zt>u6G_KT;qB%HW<&*o7XFr{p}YypnVZ*o)9?4+hR0w{uFHg z8xO`4dTRg4jVv+D8|C;Fg3QQj&WYt5SL|VIv!G|}TY`rZmDXl@#tS6K62U~iprm$T zzRm&U5s);Uh{+jVXcE)W=j6FpG2LJq zSdzHWB?G?cl^djHbqd6WBGc*3={ z%%nynsel}y1m~zx#nkM{NV@h5PjyvO_gGH4bb2)HlwR@Vxj-DhdB?{455ENz30kcM zZ?wp#@5GX*24=&qh{h=xOB%OZ4`FR7VE2vb15eo|R+%2arErKhM7S9a;9A&ikQtXq zVgUd2;qMMssm2o3J-kFxDeER(D_g@FL&6%?sLAM9jAMW=5ejDI zD^}3P5#b!Mm+nAbG^xfm^w2?!!0+v@)eFAp;lNrnk!FKFgWvis{)b*RxWYH02XTf_ znpony4wm|Xoc#{nM0xT1=kw zPtT_59`6{W9`z6I9;9KU>ES@rZbzt(XrAbk38$e}SN_%G?PJjb;kwn3Z6*Y2{?!$F zMPhQvK*@iw*p+Z3^}0>=j zyKWmr$u9h+f@*bSYiTmKMQ*kndbLBl`_gj32_l^u&oiHdJV{;z^qbrJ{lY1Pb z;Wve&%rYVT`7Gy=+XZrtdq0!hF64l^_j4(QD|1NQ-`SL!h+U-y56xt+*)cHhUC+lh6i-RDu3q8;a4yTfs&s7C#MA8g$d>X+qGHese^s1iIq zPy9NK(SN>kHpBS;RnA;DlJSqzF`Qs!xomrWn=we-scBPG}2x6|z zCJo;WkoM$HH_?tJMPpXrx0+eb*<%=wOq~m6l^%|F&Yw6QK+za*bo!vIm~77(;c*95 z?+U_T+%@!t!5krpPa02tc!hUdPIyHLQo767jJr5-#71W9<6VSawUnP}>iO7?5>U@$ z`=i*NqBn#<{ZL+80NYsSO2%iEnw71id`4;35$VWvU0zU72OHV03 zS3$w*=FRC}V@h^T1pg$8&LuUUV{PtpZpWvlGctH5WMXnXJS91-##=1q*lg(7TpdL4 z8`hm=6Vk1JxYp;eS9;|}D$eP58LJ+na&Rv*LfF+g1FNua4yA`65(oHizj%(}Rl(*! z;XG74G%>Nj?j&*&OXSS$7}ebW1XF`X_wSR??u7M|^EjClpTMc{4sv$N{5T{JekVW;HSbk+=y?q^TlNBzP0Kv#{Xx~Vif1!nQo67F|s6Mum|#9x#f zQ6}F;c4X9K#HQ@dI}`5eB*c&+;_1%a@e!n2&LoSE6z9Z;@sGDb|gA zI-g@s{U@VQLHee_359;Rmx~SOR`v7)6i`sJba--Ci2K~mXjzL&q&7}SW@y7^m+8Em znkOV0ozW2|x-NZQ=FMjLd^j#_tVW$fn(cP4 zd_Eu-Dr%t*d8L}#{Sye$3zu2SYzdoxoVTF;Q_?kN@SRVAgI2SAP9qnt@Tw!=Psp*! zzGtiO1MkD4;=hCT3FOCckCNS>(=U$-h8amA_3;cVsY{`9*gbhEH;3gZP|=3ki$o)m zp&icc`FMMnj^9VOIZ4KbtrPP8slK+m=#Jero9$kC*!?b??KQ6+jh@M)XZYm#TpIFVO)h*YaGAEl$bl;`JYjkF*hjRV z)j4Abc8KA(923PcNwWxgP}Lt1=uVdt$Cy9mY%Q2ncMwA@X}3ip781%U)jBjs!3Aadu950svtHf=h@d`y80@O#39Y7dR$bAw)*Ig)F<_IfSqecog8%Kp&vV7&X z3S0J8hnoavx1OLN8$)J?XOA#=_hDqQxLR;K(gXPD6!7s;@i&-0Xcez9fbS~e*!JM| z%tB-=xecOVxw(PY6*Z44Mj#%xTYRS0po&2o;d1fz3q`HOHLW1Y=XEOsf`i-#Evz}K zpgWD8xNTH#b%#|s7?bKmI=9Q)FBD)Hnu^?KhG5pkX6tFb0DWLc&Pehw;eoN*%n!>0 z>>R{VN&rLKyhRxl-TwR=ponz42WU?N;1-2tJ{!OM{-@Vtw3{FdfNXyOD1j%Qff8<4 z0Uj=xj|%>TzuaNn)|dN=>7aN-g3rp(w$yzKD+= ztic1+7tgMMscQF;AWxTRo14m_xKq}1-n}b*4s?+gr>nBumahVUJxgz zaQF0ql4kcX4mjZVa5Xm@jd^BUrrYa>9Tyh$jm7&cZby$I^cC0IiKDBC)y}K{AU|?UjJc$b=tJ# zZExBSs$vxJJ90DoK#n~44?%QljKOWDqT70ETC=^95LK~nF3#mEeR&Ps z%WI(st2T$sKKDnhf<^|DLH$Fy&(lA@o%)&6Ye3mw)O-Q8e*>n6x6<({sK~J}yV}4_ zH+3lRhN#|c%&8fq{{GL;0ra=J@8?r{vT;}V^C>;~+P{7K8M?}Ao!i+dU8S~GZZoqr zNv(2XPu_RF@jsyd|EB(Lw<*_G?wf3H+?UmvY4gbxXnxkXX&Gm-frHJpc^2%g-&cwC z$6~7g@Q)^=7t0+(4yE`vU*QH6gcVY{>eB&&WVXP;3iS{Wp(-@G;^i6R4p#A=5`)N3 zzE-kuh0<&$=jTD@7km6i=R{N3#n&Mkla#@Czl);rZnN22-{CCaKb~3WCi7^!+}uVx zXCuZdOalQDYEnF9_1CdQali7+hJIlEbN-MYPVsQS)bZoRdJHlGXS{dcguBavVP`Pz z8O;OFq#oq7UPj@<{D*$j@A%&w)a9LNd8hYpXJ=#1xVZ_*vs zwW_n45$mjX?^15=g?0ne)E&CML{93^1Ky%2y$|{^kyc7>2h(LZdq3TLpquoHt#V_mE=0R!3)eb+HB!+eG^ii z;~-kkcDGxMP7zN_PM{pYzgU@dNSq-;hqt7l+ri;*jY|R}r4gu0oJw`$47K7+Xit|l z8099IZ%9X2W55X1T+f_~q?7Z7@?)xtmV0$_Psv{-J@jp=qZOcqb$nVe=k!(yMW0Tq z0f?lc)9}YS(AlYA93GVm>aN@~)>0!DcCq4gT+l@dY?beyH>h`BBf-z(8PyKvD<*5r zBbg91ggMU`gR)3)ALP}+Y12x_s|dFTKw2!|J<`GztH2SQGk#n-*38nn&m$t3dhiNn zwVMlGHiyeAL9L`4qY>lImWz=hG$s%pj@Cl^7hy`}B(7m}CV83+is(C9CkM`r3=RM{$=%=wKVPu|ZdQc&XxF#k7biq;XN?nOM8qX^ak*cr&DU+y_0D)6mU zxIR$s)R|cb7m zC1J8|o!sy>A>_HdrAU!9f}!x}w7{xNV6F9BxU@d&i1(mvCTp8R@6I(R)zm)S*c{LW z?a5Q-xM{CR7QH6g@+=TzyiGJ=T>+LQw|cijS-(7k5bS}KFG~LQjm~fg7-r)`tF`Da zX7l+XY|o;0G*~odvq3ay&HK|~2cGvkjS${N{r+MQb;4dd3j2ew)gE@*t@$jRTI})` z;Waw_X0O|yN3ChE)$E1ys5k32dh^y`F`czq({L~yMDt;HHt09Q`Eb#W+QUI78aC#` zeybg-C|w(CqCGlcQjKA=*_{o0(XiKQ!weVEyw`>QcKgj?r`PH?+r8;v-e`xjey2BV zHirF1f6kK-XNzFRLe!tyr48mrcP|{yC=AA_&>NR`qX`?mkhMmS>+FJ~J z-9fiE?S&lx+i1-j{r0>&^-OAi@|+s;_I%KsM$<-PIOw;dX}<}bxB9b1r$6g8Tk~$e zJBSvIK^sOkhgFJ((;gtVF>Qr?CoLAu39!-Y&s(i|3&y{Qnu|_2@3iLA;k-Kt+r4lx zZw?2r?on&l7|xrp)IInYU^1Ndn!|SJnUiSqPMB14I`7S<&34q7&IYqy)R;AaKmeWd z{$dz4!p^iegN2G(Fgo}Rp0sA2sJ9q|FsoT-o>{1{(QZYv{{jk*?3>U3d*y|2^^LAqjt2k|Tx{LX2I12}hW>m|t9}AHD!E(t8PhB7(f$mWWE*%{ zv$5#(dc8&msJ0h2TAc=N#;DO;gxy|eHt06{umG?cL<8Y;-fn7-v#K*1Gm1Ni>6U!# z0M*HR1j@YdH0G^j&$QiWFBY@Gbl&Oq=FN7i17}5ZF>Avq+76L_4}eP#+Ot+~uxJmv zy;%b`>>_Fmr`@pIX>}a&k*Yu`-{sRsRw!hYamaV&j8inET&t_t7upuIvXeV9K9bBF z5?h4LS#LNPbO-ZAGaL?^{l;wGhNErKnJ(Y}n>XgY#-a&_1IRYOEn2NXGm3hRX}h-o z&fv=J&RiegX?R}jd%_c3B>Rcl2%qh~KB)|iXxCVuLcyYR)O-p3`vylr4tE|7`-7+p zgU>Zy`_8kb6tzwIn!3m2vn#lI>~A8eL?^DP?2WFwLT4#T6V6IYaVXI}SR%i6 zuAZBCUEk>58Lx=C{>Hft%#EY=Ji~RYmle~jn!lfIXx`=Uhl)6tA@p7u1nmB(G`8@l z+ia;{JD7ck6`O=#02j{>k*FQ{ z6@txzy^hd3i1iDkp(mePQ!d2YtM(JFx_o>U-cBPe!C70ub$3l&*R8MYc{pdFfV7() z);GIwi*vV}h+yv4P5cASimX~70L{}xAv(WWVC~|{!0OorW^TJ$Yk##_&XW-s z!?fO}h`v&=vP9*A&4y9;d!HIcom_z++&dQH);b}4G;QNg$i6Qs*cc?K^<`dwUaxUN zz@&&DNxa;^F}mKs?Z8K&5_)wp6dzJ)LT@9pwNY3{I!^l+^=gkxwxFX6N)C!tGW~fvseCH^_nC zZl6w&%NFvnWpgaCK}F;5waN#?n$pZ;W|ujk)BQ$yN_THPIq}hrcKQ8Zc#X=7zdiv8 zDfr1@N_kUqAOn5e&&bD=X9pF|p1gBHe0{RoyjS#nG~#{GFHbmf0;SJsJqe2Ap6%joUKWpb z>ja*hK9tIL)9IcdA{4Xy6FNPGQ*$CIFPAIdW4ARd-{YtD)$g1jHdK%!jooAgse{|x0-|t%>ZN!E zV@_oO_*NQy4{csb6I;ET_Sqbb)EBR{7pLB1qtOfXYb~(0#Ax)A|M-4$Y3rzW;W`Ot z9J00lFy6u46E1|K(Zz>X{A(&xg2~WeU(ag6`Tk0N_vKVD9cq=~v+tjxmgdL5jbA_i zKj-7;FW7AU+EOpR`0?U={N2;n-@$J$o}F96)=gf%dj9iMXoYaTeg5k81w*lbyng=u zkLTYQSe{ouegFM)`0SOhgP&eJ|9^ivw?F^(rx(vIp8xn_eDUfWo}EAc+jkeW0D+8u zcnz~TfAP)vtBh*Yf_?GJkK>m={xa@$Qn+13yZ6h8{IEx(%tdXCyF#}_7Jya%MrpP% z8hzio*nHpof&Wx#BNROY9jISlZ#Qe*0Pf_`I9e=#o?yM6!A{;|!Gb5{! z&tafBmnxh~1|8AwvmQZOGO;*s>I!YB_H~5^yOJ8Gio;iIGLkxK+3XFZXk|FqlJuke z_h>YaFVP{y0cERI>D&OMhTK2a63<)miqnVD$fQ7s#!BW_MzbN-D$O^84BzAi;sS3{ zY&dL}SU0*xeJE;RZ&IU@_VEhz5clKSe_8Qpm8z0T^Toe{LasT zDxQ-Gf%r}=gSyG3v38mg$=Eo3}F59AwFsaj+{@_UZ4 zg7*Hfi>fx3e%K^?=9IHrjV`Gb%}CS4{$&!F-5ONjnAe_mYV%R##dkc+3qVhmJ5dK5 zfvE-4!(L@H`NtvNNmw^cenY`2vLoT6n-I�}_^UK<+=V8|rL%n3I)=dkBN+a)V}) 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[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 z zc)SOzVnGwD<0d{V%uOb^nXJ#MOl^)(@`c}gVWv#ANK#|!5Y3pHOP(}V=bb8^HW@2d zx-4Wnax*Tnw47}W&Ob`DY7lM&%~*IA(M;qqp{EytF70(m+$_b4uPrs+njUD-Gq&A! zxN0V1o)YMDrOujjuN=P8MX! zmdcegJ%KE-FhxC86UjRs@RdOv5(pQ|Q8XUz=|rRhp{^Fw*G4P2$%vd+{G8w!BAdQ+ zAk)=y`r2saW?oHS+WenqIUAp`;eFTFkU! zHm_z$CcuHK=?1;;CK*WV+>=Z0WKOo;3ZLl{%Lt#OrC9EijpG3j%?q$PPJ_x}7qNj2 z8XOW$=ukT)Yn3`BlW_$mt4MY;X&u(4E5!LMD&anx>}e$#uiA?s$n+CjWupc zMy?LiV&oH>seh(1mPKgBKaT$_@@AoD7J*sp%~e(J&G9L@kpkne*AL>x7AM0HQdwAy zXf5*Qp|>uAHTEyLW(<$fJ$>_!vHhove;(U^j`t}Oo|5mixUU2_#g{^gf;BGdA-|P) z`~X2{OeW`9wH|6d&@gHm7i68fPP9LRu#oKN&B$*dIVp2PdYqG*@gVC{KU5EMJEG;k z^}{2dJ022PScqso^4M_N&EE5gi5uddeQ?ibp#N)b6G8&<;>5JRQJcC0G%-2riaP8; zn(p^QV*s*@l4Y`nvg`$i_^Z-2m8L8jIkjDNrLLgwY>yrfSzoA2`vW* z09*3FgS{AGh?X+M zm)6FFT6a+nYPC#cBmoZ{#8H!#PRRAXU!$5>8S7DNGqMG3pjAU-Zfnf?e+q++YY`uE>Le=B4Ys{ zAhgXv6o@;(iFiL zENYYNT=ts_+AEC+wsZr$MEW5rUuX_GM%&qa2QmqfI-~DP_H*$k+rtOy9Y(Yj7{y@u!hb zwPrX<_*UuHEZ?;$QipY?Pe!yq_jnXCf`~U(fQ&{?y-=vt`2>M=!gKZLuG&2DED~u{ zaC186J8~cQ7LiS6QA6j5-FenH`Xwt!_Oj9OQ=WmvaR~=azN|@4Ma99>K+dwV0i)JD z?h}iVD4Z6;-7M9hRlV)zpmWCjEdT=ZlP~SrjgR@Fw%M|&PX{Q=O%v%<6vf!PMqcy*~@;9m`hYcr@rVxO5Qs?MFbe=0)ge))3dZmMwnY6 z1T}VZecF-N1DX#I#T(lZT<~H7m|~0Vm!wPw-L#doQ_LEa;mA!ikkDc3Q*=M+MgNpB zju6dI;lL$S&B(yqD@u^BXMnIC0arp>P&hPbzi7F7@RE=;2^T&X-Fg+zFub-us31BI@geg19gandxsE8_jx7p7nb%*0xj?@!()jr+VZignSE4sscuI_z7R9Y^xu~={Gjl7$m zgnc(ZaY^BBsX#uQ&^amZEIi5A4&7I60%Z1j0M`|+7JS2_>u$YNms}2xi#pg3Nj7AO z+MG9eW}b*ibvvHnA9h3%^nq)1t1X^5%arePC9C_KZW6d6?s8u{pV!kW5+TjvOl<~7+;r1Us5_HB?gFtmKzYVs`Iw3Y*5u&E#0Nt$;UhKh zuDC&=MKaQfYN7C9$f8rEhz-#$fwU*jPLGNt?t=ksYG}QIPhcPPJ*J8vIe?x;{oNh$ zH$s}uc__qoB{eimUFy&h$TT1%KK+BgyIZ>ag1H&y@!7wW$$1FP{_FTvZ1z`VP!vuR z6anEF1yLx1BGmVi@r~51OUC_UrTPm--(NGkY`V;6E|sC54k!Mep`Y?jc$B8+j}* zCno-F1n*15fAd9u&*?*vXP$cT55COx=j*w5+`s2@FFZiAK12KUw7rhP>*)N7+Tle) z9~)dv?&I@UB$gkzJ3Ss z|Ngwl*Yfn-r_b{G8ZNKlFS4g?USy{elk>Q7FB=@+6F=YlHk03C;OYC{nD#H)ACpb+ z9=6BJljAkh;ae8v|E_Oz!V`C&9P4Yw_@AnKvh}mavWuTSIS(iqcl~9|pN7nMnxNNY zLbgR~XLt9gId4sed~Q^(8;|Ek;zwjvUN?`v%pUDxI)8JE{*GCf_6|F(w?@>p#D0CW zoUU{_nwd!j6BfmC>GGR{-i;$ME|*dh*6!Gyn-1RLPD!pDm@*_0MVVGXc^;-#J|K*G zdI}e*l@u8tESY>b>E?O0=7!ZlI%--HGg#hwNqNSnFAK1mma;hDylw-KTmmK-04^A~ zzHugL+UGEIbfA2u&-KVSt`?@jtb_TGf4UM5`R&1D=-gvpN7P!`24u5Kqql z2e-|wyi8(Sz*Y-V!5!MS)*65a$k9Xwi0RNH)3|2{Y`N3`oCZfa_Z;s#Hbh7CNSP=K z&kwKycJ@x6Gn;*FQG>p!MR=A1Za0rm!KJSu|Tv!Va*bbR3zUviQ_a z&lZ%5n?-71(0-9(I9f480k7zzC$5m%5qH&AI>#Gkw+S3M-mT1modGKE?%{HUB~=`t zbDdOYW55%2!WzCWEHi1Qk3rNfPcUNYB9Z9Ia7gXS<{I7F?a{4>=}worY!2s^1+hA8 zwfo%II@=|1R@VJi8Z);`lz2XC*h+@DEQkUXU84aPX;GN&#bWHNvj+!3w_HWw3Mto= z3X-^ZL=u~Zd(s(9@IY@+G}wZ1!nhlw(=@Xjhtnu0j&C0%36WxVXbf1|98z_$Ij%Jn z#)GJ?qn%iUV->8!IO5YrEsIauwbUks2R0o{MI@#}|Vb z#IyucEa1osWbP}X1#HhoY+&)uB`qbUtPt9^W3gDC%CmQzb<82nqB+lQrHKqlkj+8D zHZz$e3`}=RbGkQ|gH2fKLaIpeW>L;#cFZq7@+D(1v*_G%T(}5vBa?(JE<3_%)f)i_ z!6dp!Tf`9*v$HlR?(CFK3C<>}SXBcsz!|e$q?jA42!T+i+a(%sC_~&b_KM6MAZv42 zveXW?(5+V`3wNO?Y_&oJqjq~)WY2mWn8nl|&WV+Ivg5U66D)nrSB&;NsBGWPP{YA? zxTx7jrO2^`G)syl!s;xBZcKQwnJ4?&#I?maWnr-|BznY&TqLaJb{`{k9)Mgc2bFpjmn3Q+i5TSEvzh*ovB6rS;Y3PD+hk6q(Vz=C{Hwv5~ zqlvkU194+Q~b?X66Zi&=7*grTrc%&_kk;c>N^ zg+$~B8y8QlettOcII$6YXECBeysACF+){|hS_r4Ul~YU~!WFTds|R+Tl?IeByNWLPQb8j@&S1zuZVRLI&gw=>I9cEYUAWH`Vpi(4~ie#MfTJs&|;DH;U^LjK%8Y*ZmJ zP8*qF(=>nrAloD-j~J*?q#E7^q!|U6OOJ<~bA>@CAgX;> z&23f?yT~Gmrk1q2)hi55L}_aS_U>HLmdX*aC9z1?E3haSOA_Aet3?zpou0OnGk1n- zjmR&`N!}bValM%rrNOAdCBJRmIH`${5#`3k5?7gOv)Zk7mQ@7Sn+aBU3}>7e)G4!- zs6|gnx`8iY=1iWsC1v32G6<-s#p^O;H~p~hSL^**JO-8KfDyeq5o6yP;4t@R1gqO3 zqT-N1vk1yid{uUbZXK&qAIP*X6EGRic1e{6=Ox07(z5eU`*sx#y|^sob0nP zGR#136*d*gqoTTY6R+6wsp5L58YcNoR;7IcRcy{jlv>A(6fiUPU^)QT%gbZ2Cl3_> zbjMyNq-LY2O-->Gu{Eqgx)cKb+wtkUM$GqCZaCcvn{#_`aA`c{qD83{bx15E1l4tk ziI7#e|EZ1$OzN&Td1`vq?z)K-j3YOx$Ab9uMk?8<6^5s|96c8<CPQ zJ!jTu!)$1(T5DpZ>p-$u%#}21P|4g1Cbrzzlli2CYzlGINmBjjR3CC9Wm7}~^f05n zdVe?z$AKT2`F1w1!sC(W$E~cTCFd;E7-)~Qm>w$Wj8QPN+7{Gio!OeL8agg+3O2=U z&){r*rx+<=D`MOho^TS@Sqat0b-GvyWxm^HvdU+HnMQ)m>E}uwnQ0f{JL_)OSZRt| z1j<0Cn4_bu6Wfw(*)!Xc)=IO8{DfVnwnI4*;wILpnm=De?26)7%0zP| zIjd%oxe4!&J&d8@2s>*aSUZ(p!wp0%s@@qu8&YvXi~ucjm2edxkd_ft4+ix?tU;)s zql=B3Lu4OTax+80osg4tWf^skY`DZWw!mb}3l+oAK-9BsG&fnvUUTJ;FxctDiW>v6 zr1*efiEjwTqLDJ`eAaU=FAZC554^&1!~773%*J4{4HHdk6wDGDWKX7PO0kwm_d*g6 zmbF{}Q^&7n%4u=x)04Ac6b_2dCe1sMI<}*c_T`ZS#D-P3A$M-v<7w~9T+AGpkySSb z0~hnLmsxaUERzC3`0zLg_$pqCm08TswN|Rg&dOIEpBf{kRLVLV*qGeQgycm0WX?ES zPpH>&MV~AquFea3i6x<4mCNMNV7hOw)IV++rIrMH34y;@l5g6MT2j5)@Eoz@fG6@)EC!Iez{&(<|# z%JC_IH(}fex`t%w*#t;wm{TSI`;t_Ft~xAtj)8k86d+hP*mvPBr^!Nqg5G2HHBBCP zg7oRZ6I8S-7O(Zwe%Vrz<+SG2cCVv6aE#XoMj`Mb<7eHujpA+Uw4+L&vXr*c7?|z2m}eF% z^AxZ6!|Z&DHR>pmO#&)GEn{+5LFgF^yl$T$z#emR4FWY^6dfVZCe2EYz_hTnWl5~3 zUIcOKH0c><-9!aA`q&moTX)%{6hL(C2%1Sd!$ZFw>ZSJPXq_*voaPGBC z9D@mX`Xcb}4aAt)7wG(l0y+~HcHZ2V^1Lrj^jLQCQp)j59r>4Wd|?=(D2RY5ghVkC zBS;c^5j6KDDwPX4#VPmezm9Qpv|BfN4qN%7fns9>jnFVmk|<4}7(}5jlJioBTu=`0 zLz^Co-W=`W&WSH&_Rh~Z31NhU2nr_&n8pwc!fBj@e{{c~bN4 zLoK#T(UQjkvi_xv)uobhoL?deOW%zr5%m5-k-xI|=sY*1zZ!CWB7h(ef}|h}K}d>1 z3Fx~63Ex^a`57w7X$8Y4nW9JxLQ#^0AnZqLN%|Q@K+*(-P0PmAc@PZ~C_=nQ&Q;54 z+}zK=IKND^Y37;SdcEZ4&vXnmt>p*`K{QR#5P_24O^52V4^^u!qxHW6gMU317`(3= zaH@+-9l*~OQht}vU1XYT_Zk47`V1m2rpON&HH}l|m#T}J!EGgVW8P^ZV{+f73q>gs zolG-$TK~yuU71#yccH8KyKcY2M#C|Tp4NT>oy-xM#3#}Ed6gAD#M)25-|U-7Pfr~) zjSW7DGK?eNzn(FFDgNnxoLoD<$j^PPtVh%S-qyd&t-tP1;QjjBqedd|g(8B6smVZ@ zEH~su(!N(UPR9H<$@zFSOfEVap{KEf>1pktuUWv*Y7mar;?IJv?_S`Eo1y@@xRopH=cD z&daX-I=KGbQ%WulfV;;U$ZyFkc`-)ynMk-VakEW$_hf;a>*=_bnwMz$in8mXWM2`| z`>Igw4;Zca9#iUN7QPvfeT6W6UgAE}aucb)UpJBZ`np1-KG#^Bl+-1lwfOI-sp|vy z-x9k2a?JAQ>vs@aC!YTQm#BRD#6R9LKMT)KmEB9hn$~V(_wKUNf3M)aSjXlI$=_n- z$@||Jr0a&~x`Fw-o%89_Z2E2XX!KlVk3KO3&zeKT23Bo%Kt7i`f?_4 zf8KVT9(rv3TKRny2M^b^@4kQk8}!p-%U5#p*y;`Q@!`5=Rz5y?JsWT8s_)fdkFWc< z{deV)S7^A0>-Bo>vE8rHb`RGtTOqqFyM(LMH?{JLRyVcs`E?(+|88pKuV1HD9uDj8 zJiE1TiscopZi?me>ppJ(-4x4Tf55Kwar<}g)A#RcKk#cmcl}SFw1*GO%YEbX?LWp7 z_%C*^<@1O5{mLQ_{flqkc?czar$dz&X8(_1C7gJeq^Y;-_@eec++q1Wz|~#+@?qld zeMZpxbrTogMwR-~;J4=T;V>-kj?RDju=<^P^AaHa13U8r$xRy{{b>O>mcOyk5ZH(4 zO1Fq}$8LU`1EHUSQu!Y__4ph|<+suQf~vSSdNHKx8n)g`Km-3`<~=Q5j{s7!|_|;iWSNN_zy6C>_m-^@& zTvT=Aw{4t%DVN-v0>><$I8E`yN_j`epbZxWjt*q0kQZaKd*@?D=g*pc{~^WRpF|mZcTBZ!$Aerc z4c~N>|AZm@{)mhpGIHMv3c3y6Z!maI6vqB|)Z)8t1 zwe9Ns?ukynFQE10V0?Sj|2=5eLRUUp?)QZq*tg8^*FaWYQ40F1ec#A0Uc1Y9 zP0-#%A3&Kgy!|IlYfHLTTVtFN?&1X=Hxs3%C5zle8pMIvvc}=$-f$3@+W)!uEdr69X;gNVM+duoV@}+@=rT`euv(> z9xw8Dl#OdKB0r*Fynqe)qr2`(OvqpEOuZgu@8;!yXY|J(ErPE>eZ0xxm+Njo^E&3 zC)W}G9{S{!XotUCncQ4UFFkQ{Ej{1v=306!7w@HK-hy3tQ#jvh_F?4zrf{BbcT+g8 z<>F)bvR{is_+gx>Z$TgY9WF#lg;{C|1KwQpb8uewQTJ!SX((DOOFuI=$Xj=7$H(ez;E=i!4rNIdh@uPFL; zUG&%o!IJ+i3macU?koG@Ie_OUn*Byt?tgyyo4+ae3qJK_AiYnYW)DAnjG7ZyqeFga zc~cKhUB9uE{)D>c&wTpRst^2QGB$2eUgn~C|NXrx54<&=<)F1D9JBz)C^QX^N z?wx%(!thJGw%ek<8NI*2=zScD-(_7Z)4SvIm@;2A{3vVN4={b3^v*6{!jAaT>Z5eT z2VLav<0GC>QJ+3Nt-C&blKpY}<+kxSjXs3YdZGBj*PT}!FUe(JH0*oM@>j{nZ(#qt zS_1yLcs(r-OzxRqI{#)xJ^k#>iu(KYj1~2zF6pJ7%YVpINPRGy>4h48ucz>JbY4g8 zS2SNy`|qokuQeE6jlB9AaM3rqHXfV40ZjC57SO|WEuiT2PhJTs`WDORvE5H_f;?Qm z&QbhIPu^qu+cdaMgFk2*TwkB@s~6nn!5fc)9-F`UKh5Gsq&xKZ|}x=MZL?{aP?m9ndjo}MsNrybG#&8s#<*Rc40!R@!L^f#|x6L@`n763*-xxd71=X~2af4N@X zIe&o%{<~)S**oYfHe^2;eEk}W@~4-U`{rjq2juKK?7jC@K38vFZbEYtnpYb8uUNTW zFzDY|=C3l$|F|+QZ#A3W1z_sQYCwOQEBV7^9=*FO`2(H{-*#BH9o9E!zU{F7lpWR= z2$$P3@+T}KKk`Jfx3li0n$=$#eH3@=4{$$!F};4bzIgGOU+8-NqK7_xQa=B9GlTxu zVmzNx6lj zJmGEjFY4{{FWjWoeur?B`^=OdC;9&^)Au+H_y5n{bu_(hT-pEPEf&a0J0gR~Ao6Ak zIR_#GzkaCqWXV!_#*$||9+y8!UTFl|33`~P$Hs_&)Wx1h-1%Kp;# zU&Y*?_Ijz4x~tdg$JT$`zLRW!QT@-C^s~{QlI!E(n0*UF30vgHPX`E`8H1LdofQUI zBU5+UL<_Sm+bN50)HGX`qaMB;R=jLUNEziio$Zv zHoir!8IBF#0#haDgUk+)rKw`baeUvT0UcC*xSL@owR>w6lh3JqgQ#4)lKRrv^>##( z>5V%*-WQ9?SNir%5jT=f+SkGEql(^Nixy=aE)zxG4dSHSnG*Smv;k?0^Y}Y3^Tr^Z z^z#-OPAhQG@fJ)_T4ANGu(<1xu)jU{Jz+-49Pxvngr^W}tjxZ<6k}c8tvm+h-}5LF zjKzBoikV!)hq27!UW{uUjmL5#@bYe3#vyeX^lPaL0-UjNnky^}r1K55C%)5@ZP94o zjPRS_4(M||yBrAU^b8<)Gf5aYRtlkSC)7wYg4|3xTo+A>Ouz9Zq7po(_Y0y9madxa zycZjQKv8+sYe`w8U=)|Z$~YGHTna1bN(DWclwK>eMCwJA-Q$4otL%hwT#oJ%{LbU; zq|BVM)62fk)9DrCVZ@>6lf+>gB>OB`F~%6mWlL|$W6pZ>wC$GxYakQ)0G(dch!nmV zi8ENxd$6deHN*oS9t}TnXu3UVgs397VhO-yb$RPcFUrM0!k&)1^RCG)q%lOblf8~6 z(!+WmM_l>zUD0BG3SYw0IcuQv;>GB_+C@NQc&}7V@VCKUT4?NTn2Y_6&-Ey#Yfa)x zjpMTIm>wjK@x{5T^`c?5JkJsg9s#D+-AMDQA36j*2jaP1Cf3*o;WFA2@!m{iGbYm{ zo!v|M*1=1jxOkCV{g4oxLgX8sXm^RcEc`A4b6SQ;-Z5}iv;C>F=1EVwrJT_Yt`Vq) zB^Z&CVBmStWhn^3R-jAMaG=ua2Q)t)DhVRVlpx@9I7enZfa>{fTtRvGfWp2mE&kX;UFp z8U?G;UF1~4s~#5ycAGj|xF)eKlbk6R_}(fQn%W{ybq};el-bXn6T<~bCo|2(PZy=r zd+4qh4)tDxBb@ZW!6V{i(nM)CxZ4U!e(uwtcs0VhVU%(n?W-wnENF}YMXFa2H259S zsKF#`_H>fSkDu)m!XOsv<#{Seky)M}pv*z4wBFfdgD*b>>+Fe5!yFu?r)d<$*F#~A zum*X!(zF0b1MjCugBc~%(vbs|jvhnDcj3Nv@PXzcKJ5;*X`7}$YIG@s-VTz3lPZUmY&VN*ZyOG_?=>A{=JPt zJ83A4V&;TG<;(ftJ)2c>ei*#+c0)UG{R6QFlANyh7vM`Rg_NY8iv?2{~x zIeM{u{+Zr4D~VejSadGKpd>u2UClg#V#W=@GhOReO5>e;yk7IU-il2kRu|IZLWUZR zpKcWfT|9^n>TC#d&zslS`ga4EaV8k_gUfks7BEce`HPE8?Y*A-RpsH%PbbxER9?>A zDp5TL7)-8JDdFfPoDH27Z_U9VVDCCX2uzM+FBn5C?eiiK^B0Di=)53po#+s|e#Jmw9X6utAxF3-54A@cwTw?xmds3Q|7*&DK3b;Dnq zhQ|ZQKy_7X*No)R#%8mrD6%Tu9~h20Vh|G-p)vph_5J_X57?-BDkY!j)8|gPvqXbGb~uK&&P4z8MfL zP0`yFS2{xNTx6KHLRAiW4p~tveNmp3K1!cYx(Rzy&MdT*TTqeV9ycXu$T%SA8&FnX zAYMq2jGENR++?2{kGf8Q(tCi`L}GnfI_B{q#F&E=Z-FkQy%vB3>zvlmmTXsspvq8l z<_?n1W8g(6luCL4PruXZEMyaJ8eWp~=mY;Fd`Q5eS_UQLC6J^nj|dfA7A_M2o-7$- zfzxG*;h=AiJ?NXoG^(I&l*+C371642O83?*fgOYu)=(S?P}Mq`&ISK?lika_YF8S) z5$91^MNG8k=oe6dNe)*qJ#dmPvWqHh5R`Yf2NZgOsjH?;eFlpSofnT2J^C6+%(cM~GmTr7zV$hGHp?JiL}C%ns9{Ln zBEr3H&iWpd>0YwOegX=4Y}XdHIC9?1APuIZ_4XrWcELBYHi|K~9poNqL+f^(&ETlS z_@IfyBbCoKFXurauEl9E#2>28ZXbwHMx0&Mn;fXDRM%H6RPN~F@B2CEdAvv);>c)L zjsnyH+F<+P2NOPJ>ZfdW9(;O5+?#n@2e4V@GsNACaX(^)-x{l*T4nSn_BqiHO1+2q z!_5h6U)<3{k`w+we|rx1K5K}}2|UtT?}}{eFye>499P{CvH_{kkRiuPxQFGPHc@}S zl9!olxM4|zUN^`92uIEVkywA|@cYlXTxWZUUyXzy1U%`V_H+-IpG^mxa>a}n>6@np4o$o6}} ztqG)jw@D1o*L)#s7Jv_AF~#vIcjul{1UecAD$nDO-ZMf9xm7-eB-en-p&z6V1#lXT zFr6-uIk#qABMT>6Qd!`V*^!U#+KWRe&kw|Fm^mK+sYxahpz#+1swv1DkvT@2YOuFs zGE{Dm!RHoAF}mR8{GZJI*RrEZ)GmlVkS+vBxJ%)M_X6(l-U(r!z7x$^wd#-F9dY)F z)3MLRT2Y!Hl;p@9Yu;FJNz>LksJVT- z8xo#vhRdwFhSCScXxoE~ijO+p{AX(5^DgcQko6JYeDRoTcHdr5f8DgQ;R4*M=5l3j_Ihuq1Alr4@pUjJyqk|j?fB?OFCvYNw|m7 zGk!JjNvlGGI+)hhO0+m?!PUFR8}$vQE(jJYL2}na%Xg< z1;uw0QTt1`1Ld`&8+wTCa_?(}2DcKE;k45|q%dxOnu=U9!@K-EW>y6|t(voBi>?bK zx1AEk5T+ztf4?o{jWq8#A+4+Y#vUQpCxJP zwncaJJwf?^x4wi&9GxQXC#lcwA=GXR<0??VJpdN1FDIxRcX_d7>Bp@W&spr0OoQ_3 z#hMO#WeXEuRDymZ<2Gzxbb(y`xraeXk7IsC+4sx`iNh^ zl+vU^KAfQlJ!$}S54uyYW%02UD;7Ji#lZ&xzbSLDqWJxW`PelovT(1T7ZPuE?SeK3 zVr?1>WoBG54ku(qaNh{bgru0W&tjx<5b0b0;jmbe8Y|38)b=ME&8iJ>}k9 zC(QwY0O-Wp91BeaOuwHjGCy^hYxKY{AZY8k(Lc;m`Gei2g zQMxkwceF!nZNOv_(I#<@H8z0-59}=+fg8Jt{QwbI`)HGi|K!&m7tv3A)rNz`RkEnj zHF6IEN!KKR^}f5rHejE}k;g`uIg@9zWYxk6J(~mVZda92tcP4YGpULb{P3)5Z9{CS z@TgQgC4hZYP)C9fYc`-2kyEOuvssKr^_1kiP201Hyv2;Asg%F zA!1mGi-M*qpRN0D8wq^9?s1kY*e!Szso1?Ff^EkOJ!jAT@(v}a$bN z-4Eayjupye-nU1NI3HC;G$v8z&gZF8jOLd{Zr3dASM@-=<>;ViY~K2B?XMwp$~tT5h@vRfYUR!_UsEJ;}1+A`-HkwP-Zi8bZR}Y)Rk&1uf{~D zVuiHr6;J3ql{gR96xIAWSH>LRs5G@5m z<^Ix9i`sBynJrT%QR3k@9xC+N>Ryxu2~Fm5F=BvkmfO9));Ccf$m-7f*Y@(!d#JfV z9oXzag>1FbzxFqP!5vUu_wkV}{X2KB5q*1ISrOl#s-GlPP72MT*GYWC^^PG{^nO(? zrV0p5rag!QRc`ua9rmj-CltEus^*d1QC)muqhDOjqKzx>!Z9%{T`1Rr&{X{b0qa1l zJEvKZL-_jJhI(d@VSDm}4_^qEW`uVBiXi5brMK%=O0WaZ)`B@#DY>seRuPaDb0eke z5Tg~)M1XS)+n|zifsiesJ{WGe)zhbtyXf92@WBBE$y_zS>q4686y10Nt@DiHs!;&^ zc1gT@KBF+%I{XtKn%lksgDo2+dTUqCYp*EW%KWN+T<<9l?(v>%62*yx!l@5QkJ@z_ zlXgzUmxb2-3SaR9d!?7RX$f@deYP?%TcwDt_-OnPmDb?Zl^?I+iMS#slpNgY5nf(Q zO+p(M@9x2^!y$T-$9IYwwCGq-o|}f_2FO$!PJB$d^}Bh4Ycq<0YhLPOMbwRonO?^V zJ=7OHgJt8Ea-#(y&VxU&bI^ka>)`8XECy~ttnM6g0F*nABqAOG^561J|NP% z73D-5!MmLJ(2tlF+{;nbq~^HC`VvAH`@zkKKKh$Mu`g-AQVOY0gl6Vkf zrlSC->@l9Nj6oRuv0ql0=&5T zVQ=<=!$LP+lEOyPUh1LpO>n89>yWarbtoSzRok#fr^IlsVc0i)Y-Y||VdF%PiDAMC z7PY4i%j``l%pGV|XouGe7s%lUMtrs^lMv8O*ni7Zg#$~1G0#j4oqgvo;Wpv^Yl?tQ zLb35B=~hh1whEQ1>ObEmY(+-IFWDW6BS!TRdu9`^iQlDSN5(^=KRwmGjYJQzdzwPx zVxU(<4!!hMhIMAo<44Q%&jopWxNDp5!hV#Lm?C(?yZCdjfabxmh7+t?_!%?)Ri=S^ z4ZC|s9gQem(7-?jLL3q}$ocfskq{?UWb}-#wbON~W@yoR4>iM6iU4wh1G^mai(aB^ ztlrPPvkZN-LUwls*hPbd(6+R%*em8gbD}P^PsW7^35l;ylRgEyyc{@tEE9M}S3Vk_ zL0D}d#&z-FsjF1F={svcJ&NkRHqTObf2kma!JLa3!wZA^^fU9dFaYbAvEGbqR4>%Re4vbI1QsN0E;_GfsE1H>G`KI* zsRg*$18_0`Ydg{~h;e(MtuCe_{p$IZ6f3#GYG8Ba-*IMIk!x<8v2%t?=oFW(gP;^c zNn(4v9V0h!YHc`&|3du{Xp74(Yky;5d6**J){(eLObyxWL=13~YUW@|m*?Bj@L(0o$L=&chw++wHugvpZ>5W2c;0XDH9*;N znhFodCaFR@g4v-s_`*HZIouy5{mB(E+SB*GY5HIbVk6dKXcrs? z%zvX@Qn=Av?G^KFlZ8N_hmw@;IX)hYuXUNuGn(J|bGoCJxM;$8TDrFm1I#ST+@og;d32|O<#p=6rmn#~ zDg(C2gwfBUYC0pV-dNDs%W^I5*jq^*E!UFi0`>}(6Y$HQQ2UvN#3LOE#HTvWdJ4|% zUIBeG-b-Fol0+2&9eQqw(r+Ymtsw(zeG9!#?{?coH}X+ZIRZ-@)ONMo<@u5{^Rpoa zbwrCyu>jUtL218^&ZFTPZSDpdUHrm-#jhLtW;#JBVEzUjYV)MKL2K-;qk{K=zjQ4% zi)ksuL+vF$-f$<)6zbRqmKlNVbZT)PUV^9uv8crROa<#|+nABYp0Vf4e|uzzXd6D% z!EBxFLTP4VDX)Z)i%))3_X|&p3kzfrmy?%T?3+W`bwJafJ!LVr4v>+M>_6knGAiU>byZ~m z!q%3w?>FbBcMqgSY*Y3X0A;~^=E}skg7!LPJl|7Ri&~ew<%M)13O~jgut}!lDK{#R z4Rg1!2EC&^R8TNh@8}Hy82NT`6q47riyzHeJqKmR<$)Es}5CampKc-q_PL{gtV|B0_q@eoz}$aM91T4JJdV&wH+gV z7)|)qQybWGh*)zr`2@PW2hTIe7z<=0{5Y+rlD*zSK=%QbqmXZaq%o5^-hGVWNcWi5 z(aiVeT8sv(#|^`_+ROmmbum`YmXs{f?>sHP%>S`>y?6VjGj$joIzCWg3l4bZ_lM?Y z05g8kou=Yy7EOs#n25Obry|-Ykcr*V9uOV}I_rQ3gkN@=F8&Q|IyTu!|Bx}?LdZ{%CQ9Besg`q>P zRpSlI2fD$7MYsEKEI_v`2$9A(0#FJH)ZdP?okmh!7GLgM3pNJtWDsTL@93yc69Op~ z;F}K`i%jNtUyZedbHWDduWwC6aw97yV=^>@MpbjWxj6uH2-ZFF6)enF zv&Fsj{aG;0jS%ToS*ObYHh8r&PSl<2MB!kUYL1$q59j*v2~=0qva_Zwpb%NJfepTF z_WEY!+E)PV+Z#%_YQ`oOZ)RNJI$63^j3tU8kuvU%ZER;vEg4`3OV((Q%{! z^xx;J|9S}MKY6h>xkb6)f&tuq6(v^7vb~lc2aRJT0F28su{~1Rg4g;Edu5C-tE@(s ztvWi$$Em47$5jRD@G|P!r0|>4!4&+nUt}9As&b7=0 zvZ;4%+ZUhtuJbmsg(r(VC|YKQ<>KZOkzd^`LgF*up>{+yYSjfc&n^PU=oKb`l>1I);;}tgCX{mv-?NR z&!>%5@qcp0y#xdAIeUUkXz$Ch}kAq`l4UH;+)HU)e5)Y}=5H4DJRbc|q(RJY_8 zzTjB^i`891HKG<>kyDPLn&U5CNcqxN)`oTg`8?*qa>V->@4nEM9iqJAovJ^kKj9-Q zD6N4a-lHpCPXPJR5a1%MD^5APTQ35g|7(lW6CX*Ug5TW3N7?Z+xqxy{Xb-jU-2nD! zk znHpdyVtKT^0oDKu=-um&zJYgtxOJQFJ=E%5_4UC4NdH}jH(YlC4hP>=2E=Wn< zlQA5+L8DM0$Jv+?C| zw8d_P=%e;-fJ@PgdX8@d<2%0NGyjaQg9dBSmaje>4_1s(T%r=ar_fu*vrqWHHCQwu z^wvA>RU?5>D?H#mK-TMtSH-RdeEkwR_!qCD4H)0-*N57&U%ZgebOE@5fmQZ7e|nqR zBhWRnp{wrVZviwZa6O7z_<0;^ZDH^2mGiOt%o97S29bE-6i|lM`{SP&7~`P55^m-t zTr0Pj{@cfI3p(fT1?F!C^Y;PsXX_Ypd!YFNuL*M%CjPtri0cY)Lu$lQ9C<&uAvkfv zRvTCeI0=}N-PvA%lN=8MK5zhQCV&S4tOBxb%HypSM>PqAw9zQfNXPCBw-)Ht?;Jws z9Lj&@P^hKE{8z@+{lq2Wv^TD=+~rXOP&Ed4kkQ?94T8-p#y3DuuO{s_=o4tAjtIUs z1%nu-D@=NP9`G^L4JCzd1+h8<=hrO0MYJy>Zp$bt!2Oz|B`{U}>g)1eZ_&hjaYHm( zKz5!y6uf?^h<8Dc{JlG_fvZ-NF}`le`To~o^DA(lE&-hqs0yQes-(Uf_MBnqW|wyEnV1p&Pnq&rHKC;y zI3{-oD*i=FP6#dLBZ%HXo4s5ZH z%BP}&x^hoa{9NrAFJY|bRLY1WYqGeEUpZ?fi6~VW@{Gb`eck|6HC%!JgvcdgJUr`TX zLpiEvI?d-auUa&AhdHiY6eD&$IhQn`pGli4;>36on~~n`Z{rR@hUcXil&VVYyUE@N zl^w9CS2H8S@#Eu$KH715yxzQ7@Gfh1u8;Ue*la8;W9b@JiY1lE?QZ2;ojlZ6?Uhq6 znRj^N`!HmmeyEmxtlF%jzCL$KHJfKx1ZKb)NX+-7(xwd@^IFMPTIT^QnCl-U$}D;y^Va9F}lT@$2!8QKi5bYqO&Q;dNV_h{cUj0fiJXi`LnI-GRvtNIRSbxk^Tv&` z`n>Ovg%@wYeFnQ6sy&42mnKx|Y>bifUg>FhVs+VZA>QO~pq?h6?EZC&21~DTscK==f!sD((6XUEeKB#$i%pd0$)lwTj^Y_35ehp{Zt?c`@%dzj#_Z06Jtz(aZ;JTp|@4})U>D>Q;rU+o+Nkr58fOAX8!<82+Wjh5mLPU z!AL>1vxN+Z;~WXk#{Kj!z^ujk0PsJeq}vA`*e%%Xnct=q`*09{OYE=z_8m36ga#_xcQ(hRpeO4mS1Nc@B25|np( z=5x1rahOnx)zWMEgEi5N9)(%#e(iiv%FTy80{jlOxG#d=(>YIXW3qn42!5P?y&cS1 z4bSN9@d@T&KcCe;UtGt1HW_F)`I(sHm%p#>$9;L)1WHXhh$Bai)K<8i@waDau24eA-hk`>*fux|M7?9PA~-C9zJ*CI$08M@sXG zY`bSs7;x`k#{dpyI=dj0I*aQc9DIe020R$xkP7g6fDGuU{&%%;L!5Sb4&ilS)4m>-ZN7 zA0&GK^F64GW3_@}11zkeZ-9m8qd8+Q9awiK_a@*I%Ozr~tAS96NHDRo3Ra)~G_g9k zqayU7bQjFwP0KHVNCI9S-61 z$H*nXbY2#)QEKp0$(G##jfb(;{cq=oc{TXZ|KET;Q8G^=fGW3ntk7PsyM(Z z|N2;7*VFG1v0DE*mZqoZ@2DKy~k;W?clZHtZ3I<#GJ#>o&23Jwdk3n%bmq=c=`49b=PV% z*er&>zCIl2Gvb*3#9@|aV(92&s=p_qjc<+i>7k zP#x3;2u~YP5A)sL9+x5;gYKA?zST7k&>ioBRtL8p$O!nhmjhYvr%wQuR&@7?UO9bd zkMF#B_X_Ah=8q0sAilr-s{=DE4+u;=?VJqs%F_aCQ7M`Sv7<T5)nzW03R@@0iSA-RwL2rqrcaH^FX^1 z`Y{^o#bN;td+He{l@Y5s|IPmTnwwYYL#tNQa~mkoBq3ubb#zMw<3Ju_ORuhU@-f+; z?he2-)*nBv{zU4O%gV3M0&y&~KB^xbgDs52k2Uk3kJJs_?pTB$A1NQh5+EYSe?C&; zh5qqbAg9klYylqm^;z(z&!RYe7D00?l+A*x$64ce`f%S*j|$5PV4Cu&y*^au#?c=> zi=ht(-}IoINg6)Fpu0UTqczR*3jwQ3eV$LE9;I(9b&F-l;l-)tw= zr_X}cX43hCwIXP<7HV0)e0#0M_=wtH9lbn8KKwWSqK0aBbl>^w6+Su6`P+Wx&phW3 zxl7;qlTV+I1)n~j;X8kq2gJ|8^a!~Ss`O5yn?B!%KWm& zA@4#wg44_yxRa*wZyb60s)YKjB}W#a|!u`1M&-zdj2S$nLMtA}Z)n``2f&k{DX7V9?ib^p!FGyGL$}rz3eok(k&V6=eeSJjNNA!0hx(!Gr?W7g39o(=X*= z@9px(FLfI(b*g9W*T1|z0NylN17g#f{X~&_aW;oi^CK31AIsm-|yG zt_93}*I>h?yE2$(%vd@@F}Rwm5BR8h(eN*2;E;Fuz@{A~3os1jf)=~H+L8l)+W~mG z>SJ7f{NZ&STW`Unmqd~uqI<6K>Q5|7*##%1{>2E}Dc|7;11Pua&S8YkqR%)C3JL46 z;gIpg`}SheZhfzTUfF(QsB#G4^s~360j$3otUulL+J!lcjyHh$$F$Y*2PI9OB~vfO zF)Zv%1%NP7jg}f<56j;@%)A1yhmSww6Cthl{vBWS9ba*Tex2Lhajri~{Q7OJbAKdj z|J@(Mxj(Sf0D64>jpILxs_hJ^97tsyI$RZ9-qY5aI@;5(>{rxK)@KgMQ!{2TyovwA z=OCz+l9m1L-**YH@7(-MU~y1qM*_U70eo&BuFm_BMhbcA7#RJL z?>L`+d9Ma|f}wtN41DSs^Tp16m};r}Rt6R57(E0q96NQ)E8mdLJh4o_p*Y~2FeLnq z9YCc-lFrwTNF@+N^LLCKP+Hi(xgX;}LtHaC-SUKQhZ!V3+abPpI6k48f@)&TCP-Z(deE|L>NYxSL>~Bt! zgo=uXi{Ci8o}778G2Z0-g5(5p;T$ce)Y}2Pww~~Jc(L>@1dVusB_4GV;&9F(C3a=O4FxT(6v^gC4WalBi5|aHS z4G;2d%mDAAL2WNzB)S4?jX}K#tYJ)WtwJAcd0XB!Q|6}|pr+(xSL~pEd7CvTkk!7; zfRO;7ry5^Qd3v%itVBcyTW52|j+d>{p9EmZ!7_nGO;fObx!VV-tId?>7p*87L1VRQ z1fJv3>y_D8SxsRhD~jt!-H}caK5I}1nwfKpT=v83<23Ru8GR?1pVng$q|frUH>~ZJ zW>j`yqK+gRG4nH*JTqPa*hZO})LH7%G{!Qe(mKd5ZQHr-vo!o_rRU#% zi1eN#bt&)nix0oe$ko-Vzp7A_eo(+pE;j~jJ=6r!N6`e{+AmlA`% zZv5Sz-lAb-iKQ|kKMKj~N`JJ>qC|bso)?;R$-yw5K~~3RlZsfj5u=h$O$p`n-NF{C zcP|)q)<}o@?1rPdS4yOWC0f@bq3@>US@QA-9<+z7N65Q@s9wAKeP9cA(FEfKsmq1p zwehpIL7kEZfyGEDhcB;YhUt2Vlqw9dc?xBJnd3l*2rSFG;wDUlQH}5D{kdAr8YI`H zB*>{IkuoF_0>)MNmg1AbeE=Q1s!6aSA;zPTpAec(P%~1umm=SyFylVQqN|_kC0*XJ zupci~So$U*fQETOnL%)$w~wRfS+D;(>-FeOp+s7DxLv-J+nN-8D#B_U64D9@vgho>UVd9^*gJ!gI+ZBvx$=fmT?U#t5S09i9LJ{ca^bU^HhPzLJ8Dy z+w;=+h>tS5rQ4g5&fWzW>GF7ztNMzl&qm4}-%Ql&4k2NcdY-SIIG0`Yq2CR4_dDzYpf#0I zD9SXm==!@l@ROHykdJ)47Nh4B73wi{QMt(FE`|^|^Hi(8QZhjyOKaJkMGU&}y6!w- z@IVDWy;?$-AzK&I8~nWU2$y8NNqXl}F*f68Cro_}rVpIHJSSooq_7|vo0Yxml;wGF zHuDOH%fstq^RmU^I<}#`z@(Y3Z$4TI7o*#|R2k#vGV|X3c9DP~Ve^l^rT|FdUe&!W zi3xn8+;>qZAgnsQW; z&$U(Wg^P-P-QU7_*=*apf6ldvsO`AWA!|tYYd2E2=c8qv)up$HoSYB4HJrj#Maymu z`f1Pm8?}g{$NomD2u<%xI8q3H4{ydOLof9?t{C`WE*Z~z{3WuN^b!TCl3Wl!YXJQ~ z2^zlO>m)Ao{f4?z+-3;rr58n+FWfDP*V_yp=cRKc+PB9#(HJ#b0g2kPxa_i`lcZ`! zGr=JEGACF^xEB`eFA=|>41qKOemne*XWQFn^i|w>YsZ#G&4)sK*A~%N%kh2}B+*ot z>lM<9YlIuuk};Cm`1o%Ytny9c-m|=UXq~x=&x8Y_?T>3F9nS7OuNl2V$@>0yj*LGq zm~gWWgxw-s@)r`oRgXlA=z1YC44wK{L<*rsXde;2(iiwT>n{FEk51NonOo+jT-?kG z;bm-X(!~I~!F4|a&*Q=KBAdotxapgSxtUenaaS>$N5D*@jbp%6OG@d__SANN<&ehG=VcF#ZCbLq9CJB)FW< zBU=e_CO_(}eay^!)_y!fc}1A*87)5UV?zbAtoiJ+#-j0?2Q6k+L)VgGgvfiFH`UoA zHuwN!>=>Dh&H~b60&?NAH#3yEHe@=M!Ba)|+Myq$-&YcQ@rCSg>Byuy)*!;3_u0et zE?m*M&s)J0OZprIs36ebYO)f{1h+(|3<|c)iCN5*wnh8W#(wxY1C3_ZhefdNT7Jz@ z>aa$s(EE;;&+bg}c-tul#^S2KW6$v+B+pSV{oHnxRZ|_Vf54u_Je__qcX$cl<^;%H&=I24W0hSHi$S=;1;N@6Yhx~3jJIp_ z_;5-5`0$r!Cu|-A^x1_(gmpKYJzuW;@DjVekaqaGASk-SeXhy=5H)qwY-XRf8-9Hj z^4dPq#)9AX%hP0gQZ{m*jZOS9ks%|Z{JTJL^Nz|rbf6kG!j176yuKdrYqv$TQ{jPq z!mCRlY6#lI&B+Pt%iGfHyF9z~4R6@T0Y?~QgLN=E!yv3_lNqCvjO`=9;6=~l(T4S> zj5m(gX_j>`G#K<`%e*6?8Bcki544d@;O{Q=v23G#O-ADcm(KLEj-ht*&pdAF z?H)*ewA1qszp9)_eVEZ1 za~u$UZR)pz`I1i@R!_kFUmuf%J}p?>zrNxDRn}nt>tnZ{uKE6#|EY_uV1d~}M@VVO z$5O)7-q+IyJDstf_iwEOa>i_vv!*2&e`_&(HO526;WJCY5}W>v<34O16%5^(3mSm& zP3X&q)-(UEF;Mis{5$l_zhl(9#mh=!-Os!o=EsKvU*+B$?SJ!jiaQw}#kvsF{!v-@dt7_MhCWWcLTd{LL!@#x}nF@pIy*pA-An&zXd3XE#V_+Y^V*o3;fj zcGilZ&^=>B!TX7oIppbQ*PYUz_URk*?&(;Kui?XyZ++`(-Z$RZW{V+fdKMo6f7fB> zC2GP;)^6W=pugPta@GTh-+G`9t8J?D{?siAcd+~}|KxK|k93ZlLG2t1VYJ+}l|3VF zEYE1(Hx5OV>>NRK7MwXx>^dCePrUZUoZSAI=Wr|DQPpbuVIK}AuOS%^bi_t^lt&JC%0Ky^rih{aZU!I4espSTO|SUM z`wJCR2W=8cZKrg>v}j|Ud5cbEiN&Eke*9nJ*Z)Ns{iO^P$d}S)cQq##+ExcU2se3t zSJ+PH4P{07c_frSbr{DtA6`Xiuua{Vr#(&klS6ylDdP^6|M`e*S!`_`DH$tL^G?wM z?5TN3v^*i96*T*s8+e~-&4XV-R~Higec$-khe(6<*BW6dqF~L^$X&#k=B%fhAZ16Y zqh5eb4y0)f7Vc#}!CIv{H&y@m!8lTL-Yc+54BPV4nZKDHzj1GUZD=(3C+ECI+JHc> zf8vd2?gfB6GBuP(wO;rOlj`4j^iG@66F}z5j~B7SN1$i!-8>JxptUA5N*#D7HkRfZ zbG4ArROxiYw#(Kso^(EMqYm#IGkg8U%+!nQblWmWUp)we<&EO*A78s?0F3dko;EXE zxkPb;zW21Ox-0sAZa`KkF%#-H2RT|PpSVYsSlaZC?aKOT&zuGZjLkg9CeE7nA|#c+ z0NFMRu=O|T5V{)}*DW{U+XO+!vmQD~wH7}6$%Ef~3kBQikM5)IR`@^iQp<^qulME% zBlpqisR{N+_TwL($%!?t#J&2)8trunG>16rvUUiVh;sLBLW_x=aUS1!o21w1NuBbd zhEIG!%Y*m1dxI{k>`!Pp>KgIa2G^psXg}i%&zwl~Zw=5=0DJsz3@RFvvtGPGBGdAf zJ3a!PVej8OeOE84@<#mDv1mK@<~C&=b~$BF{o;Q8!-{WVHF`&{s71SDzN0Wgp^bdj z?$3-IIHlcP3-C;N1T&gTsq5#lt#=97xHxT``mcSRKGWNuoS%5gVFvoA#^#W*GYky& zZvysjY7uU{;q8tkSyPGx~HT~FCrsQ zxO>eUk8Jki-QiQ{%t<1dLq2n7SK&_#;L7sWy#xE;jG>tKGv8mBUq3!<;Vv5EzdFVR zc>NL=p&fi!p!a<14PM{;#*;TAVXpf0{N}7|*X_(%F(xSoOM}W4g>bQea2B{6#L1KK7GXL=ZvEyKe0S&;O8J_Fh1>HnWke_ z&W~?pwgltG=UI&451#^dL|62Zsc(je+}J;{yn$$>1l0-jOcj_=b`FTYbxTM6{P^8J zc|R};>>S|*gUYX7n>~3+^RC^GoJ$~Ql&t-)9bVFseS5nJFxziV$hj}|x-5iI?5gJ4 z+@Hu<7qs7nRyuP+h{?w(=iDoaKVe=EzzX#@-gu4?i+*#HLSRe&$xRyBbh!PSo1~s& zw80qT)owFUJI7d^W9&5TJI3-)UX69;)qoB1`I}dBuEjI2Ciytc#>8br|k+ zjH5EZGGN^Ttm-Y8|17Sz{iiM{J#&+mSXI-R7K1Su*x0&imVc|D+ zcca7sKkFiOvzXqScwEnT%7*pC^}pI-bho(+tbFskGDo1nbB-UKm|PzrfB84&c)5?M z<^fyRXqQ#oG6&cI`D^PA^s5tZ&{rqkw3K_Ro3IXBMhstDcj;e(mH~V6x}7@Pk@iMy zj+vm3^sHUN7e%dZ)^wmWVZ}FyPe@={e(JC7tHDXc^1Gj_b3Yr(?|#N~ux`44G5_^z z>y)2*3|)Dg`}yF%^{@1aX-Fjg#`UiAe%4o=F}Ul!{Ne?|n6y|w<8YVuzqlj8J%}Sa z^>$7zAGNfbYcT-)sG30Z{2#r&h{`Ks?w{)xRBs0Go~sDS!-v(ih0tl?_58QaPhsFg z7^v34-;YipEhUYqZ+%r~WQ;B>-u|ugBlh(ZT+CPmdcFMSH!NqS_jU#L{fdd*kyEB~ z#%`}G1XX7upH7w&t)B6?2e5tDKEC6>H7z-svDCdJe7tcjd|@&g&VH`!cOM-_x$J=VfocNh0%6Q)xJv$}85t7(#C^Ee+Jp5B6$PAZvC#bChQK30^+2r%x@>@?)HoKm5*hN-0@?`0+S^<+(Y( z{Bs{!sSp3HBThW9);T`3!_SHGA`psiefAd(NZyt-rYT>ed>*$d8nVX=} z+$#bz-@IX|9vQLg9Qt^lFh^4_5eEZ8Ut9rW~^%2rHLV=Z!02#MQeonM{HK+1aB1Gg>QgI z9-sJZZ6^trC3KAlT3zfz9%o&K3b55#m$Aq7+2nsP-jG=E1JBNbI;Y>djBI~FCipw* zg0;LMZj~j^*y{6__~@wjYo{2u2|LOh;%!ioxAkynSfs$8;+XR}{8jR*hZ&>g!a*<2 zZ^tc|G1;WsWfzrdii@|MiO<;Xy^7*m342^9&U;Du{Bb|wlDi8l5J3f%5IK9ZEX;-D zh>tD4#R`tsh%DbfB?1`dMCQaR-7m80U)6fL7V9h9F*zcx<$>rMitBe8u86|gFOU1O z?AjBbvPuKrm&?mly1(b`qTQz@Pi36w$`lvww{pKQ=e-yCy!Rpt_eZ&r{SDb3?U6s> zB4j?XngYvOE|ihkyA1Y(YsM;eK` zE}uXvs<&M6Y1r4fDmX9jkNiICPaoUY9Y*nZht;|r6%@aQ#Zhqr=f#7GZevNjSIQNp z3VsH}!+WJaH5we8wWd>{4K+TdvR@*YVS|K!bS^nehWm`4BOQH=hD}zOt=fB7X#J}w zdPp*Fj%LPCDCB}G8U{S>xiz-a8g{U0a@Ot1+1{{g)!fhhBY_l$fmoPPn96;S53FqY zbu$+*wjG^<{`SV5@V2Oq085Vk311qIb(5mLUW*jIGsm^AfU`SisPyb@qx$rZ?{tOg z4rtpkV4P*X(O1RfOkJ@FLqj7l$H{y8>7l`}*L$SyHI?r1z_{I8Blt(nZb#&9fdA&H zZ(O$fm1?#1X^nE7vCPwaX3PV67CD`M%sY|e1r}*Rtq8Y}K`AUmTZ1eTd$8f_@`ij% z|1@X4aI_a9(kbua))&$}vxY15kkVp?BO~M5T>I?TPl533-5CabrKAhO8AuKZIw0q7 zKOdI6S=YYqb&}wJv}e96gKUMqD_?keiK3wbaEKgY9u`$PFgMCII}}xkXU{w@*xB=< z4lS1rX4J{goX}^TJCX3Ycu3J@JyN{5I-o~YsAZf%^Jb!7Vkno0BZ8X`$3V`EJGoVI58Ta7Fe$)JAV> zNT#$%>041-I_X6L4)rL${ub)%CosSM7TXf@qrRWHtMyu^fm^J#fmI@g&TB`-uouMm zWa#RCLGy#Zt3b3?e6^VN0Baw=$-i8q%}h?B#YHkUF@K+VoZ?OR=?!y903NIV;cGie z0{obTULf+@#s#FX1sgfPw!Yja&A8ajH}Cg&X2>i{15A{5@1Wvu4*&2ud!1mc^v#V7Tl+nB-~J)?S}SQ7o^>D)Ui{>vU}rts z=lM^5dhH|=uyDz z0UzWL(%aYrd#Tv7riSqVdZ7FGG{4CDU&A2BQC95*lhG=#W0ppGtBz!MKJj;7)+3HMjrzH%J!S8Qs@sklqVFMw>r*($edhzw^Gq_yO9#5%FNb!DazCHu#^cmdl&rcu$p7MDb z{sj>7n90+SIpOhRt0u$pTKvIo=&Bm%0sW18FlQ|j^^;fjsy(`UklSy~_mVgC``_GE z;mp6E@iYIoR%BIxBtrNH+{Y!{hL>&etV2L^&z+6Z;z8#QFWdn72h5w^JYUG zJsf%w^m=>G;sfJX6ZQNFpIJel=lPp8iS@)dGi0Z9u_|9Axh*6|pA%;@e3>;xFF~_p_eK`SRW6tSy)R%K6HSLi+rN z@204hYSG6B-2Qgf&C_VADrpiyJVKrv=cbG|B@F;qG0@xP@#W$Rt1}%>G9!1|l8pun zZGzOT6mH7S$N^W{Ep7nW^$H%He6!W1k4SsH@axAo`_8=o_Q#rXSopVhQgA!h&2(6i zo1eXPfNr@(U!R|+A*XIhfBK7g_^F@Cvkvk2iOJj_N{DuAW_0lLK=)(_DR%_)_DM2v zXp#p$QMq>ZH#u~+W9Iz$On>YAW~c!ACI0Ct(U+{|CEFh#0VT1Qzjc0K&JgIPcjDK8 zSiXYl=e)6KtSTC?`|EC!d;QH@)vqq?cBr%tYxd(0pDsOkcY7Bc;j5zz?tS(*c?11C zXJ>Dsl+iny+V%v8)DrnY(Vk{Y@I6yB5IxZ)XoH$9RWhJjS;* z4fRvOsAM%!m$Oe%wTVXtR>ci4kDr)_PClJpx}es#N7mV&!40akcIT`m5NabcKwl9QAz=tF$v&OvpL<&xRs*N;InBOCu0`xqwLK{50V zxK#~B4`L7Q5?GM={GChnI^-5rV&8samkt5y6_bMeSYz%xmnH2MM{eAT=Xll}$%FJz z%V`f-itNQt#dnVmP^*n9?Rqf)o_w14xIFAXerSE53yO}|?|fQku5xYsscWif%_;s{ zldtz#kc6H+cYOTODUAcL)aAP-w>4vQZlUvYO@8b%)+zxTje!X`_06C@*I*r4YgD^q z(VB0)2H+k&*KztBPL;xsXAJ3LQit37*n55d`qfNNw7PWs!G)s$1NBd%NfvOK(nHt^chVI%EChzkWYz z0rtbiLfgeC&HS7_+wjw;W{-qkEamODXIpgopLvvBgB$dNTf_RyMR*$3s|^SoaTzj*U10L<{XU{eQz;&%B(EoA~l(XK&`tb#|g97lm@+TLeWu>0`*Z&-5=UTr* z?e)o_?Iv!)(Z!#$uVI9r{^u7MlZdB#W2XC5IAV-P`Pb(+Y#LBZpC@O&Qvjpg^({Gw zr>Q;Hg3aYmE5wJ`!gg9hgZJRE_m2FnC+V>|6~9fNs&}QHH7d!Ucr|Y_qy2Ba!COD& z6Nh$4o;B`36Dg_jQ(sIUcmMt&kFUZkBM5COz z&{}2Hy1>;@Pb(t1r|%i8?%gv)_$H;lw(m*gQi3zTbuU)IG(xQW@Vn}68vVa9L+2Ya z44`(CxU=Spa*uA}&X{3<_20T7`HKtRXWh`aiOPzWCk1s|kNB+c^lGXP+%CC!Qi0z;#g74N#6dG$djg^H?VAIyQ;BO1EX;;Vx6?jd^u1*~^* z`vlg=URrv2As*wuuy zr`S1eoIJkOHg<=xt(8Zt19ODqOg zv@8Y&r);BZ24Nt-*w&%$cT*{pw0#9NLYM{#No57}SdEJV)OZSEMeReJ;Et}W1IQ^@ z6=?R?O`Lt8@4;_=z;7Z=MeAa`b+qyEjf#^ASz_5C1V-3h1M<+=8O>?`6Rd^wis?k2 zpHn0Aj+o#Y8-V8u;NFh*;(e3n2_af^>F>1QGt@Av>kDUnCMhOy+7N10k{s~B`$9#N zn|}~~J$sVsc@X6aFDXF|IJ}z!aN|c5%g-Ca+c;hhJ3d(qE%oZ?Tk2g++41k%I2LU(SjSFgWrilfY0 zA4ZevcuBn3?wfeTpJW&Id0mX;COcuOH<&O#Q6eJ7)_`UFvwjZa>X?VIcDFd`9{8p;4?ZMlD2_In!{%_H!6N3nts9$b#)5{+h zx}k0_cj59jvm)kR66TSM%Y^T{Y(Q7U}LhSJtb~a$&H{Zhj z5M3@3y;O1AJansZw#s#yfYYxdL`kz||M-ewF-XrIChpn8qPb2%*51w!o{nif}2hvgEam$qr#lL=@zx9Ld zm&^Y2+0~sZ-HG!rrqr?mek}ji$uCZIJ>*7d>sv{-QZxddU?bFLd;4cGR07x2H{K0c zWaQ0jbLMg6zx@!D96pxZD!h^Fj@GqmT}J$o;M?&UZ0NrDZ^ml?CE#N#enV11ZhvsO zb+sFb_GbSZ@8-YxEB&ARl?d1Y^T|@r*dF;?) z8(aF~%K01fe{Y@t_49lntxx{-^CTGHPFMrAhr|Mom|5@EQ--fSzn}4g>Yjh|yo}_` z-_tE{k7xeWi5ABh>*s--1s#Anuvhr;kn00dw???>Gaz61IfoLMLk$x&WOe`aD$Y)y zH*;&AfQZ0~arXZ-e)^qe#8#+-`dyE~87q7vXTRrL>8Zm2(eVwH0MG||;=i8b-4~l@ zyRrjJ^omb^Ui9nF6N;+7<}ihyxma@9^u<0LS%LOh%bt8xTO;($4Z#8CAOvkBEjx3)nm>JOT#_0k@}Isn9Rk^U*CpbFmClMD$;l79uRm}9@#o3EJ`3{e zvsg}_#qsO2sJ=c6KnG4a51Z{csDox}4rREdYu@$YGiOO)ny`X?c?e!w{pWMEEu+J# z{v6{^FB0)jKCTWKSWf@jUs)%W9W}*4wbu&BZF1us|Hck7}rbLy9S@so2%p7jUUb1mAx zeG!)LTD-7YE$iJAtVJz$T3gw~5935XvU__XV=HfmBI=kM7QI5}^r)=AQd!Eu%{c!*W2J10Ua;9JY%Sk)) zE~rv?eEakh=X3t_M8of#(K!EL^gup&7!ul%$`1Ka03H@yQZSEUeD=Y=)==~1VPSu| zA>D$h-#@y0u|hFFI7f8P+Ia+ft%ju`0R~RyU-ytfWddV4wfI~>#hTMmuXT*my57hK_NO>&VVWoe*Eca0&I!) zrxv|~pRU3DtEY>_R%Vw5)O9-fKf491{F4ikefht=|M0Hy+m~NGd#+Hw{UkQV(^7im z!!y@^;Z*PJ!wLcF+J5`6T8!$dfZ;l4PZJKPnBWh$R`+`!QRc2^_s)4#Jh?wK3=r>739U((uLdtudqOfRpz&d|pYTDUPUirgYi3{uS|JKP% zi5*{JuRUXGl22^wh%V-iI8=*Y7Wj93%XfTp!JK`uTJopwxKHRL zO{@&w>ePktLWb=)?5V{UL7R!c{r47>u2VVt_Iq~M*h1gC@h6w&akocH`!Amv?%P!J z=QCfJ^A%ikl`Z(@o&EOILGG`w9rn(CA?~+dNcAgUfCN+|cbVkuV=Igwr2z|pLVNP` zh2ljy6`Oc)wGL!`8y5=u(>E!tG4q~W9DoxzPu}DfSLz=dmk_eCIPE_^@3%o*VjAEr zms9iOjXJ=FJLD3X#?lwfuM$*zTbf$9sDI>G?yUtb)D6M{OKhjZYt2FkC5HZo=II{LKDCURZc+D zndZN+zRb>|mL?P!V~V}k>CgJ>PT!c4Z9n5s?d5!h<=#~+`5b2Fj(i&Z<#;@;xMuEXyA=;Y6S=Bu;46`qcl57bb)YX!=Y8HcO^ ze4uPE@qXe!9@vi=78>-Af3d4cYY~2Gom3yJ?@U8~v2)9 zc;oZ!>BQZ?Igcv!?Q5r%&v+pk4Ix#!z|OF*O8Yzs^vsiL zPv4@oupOi2$M9d=%0-_JeyP9fZ|+A{3$OL>{9WlNb&SvuMpN@{ztEn$JVV|VWKw{^e%&urz{=h$7*-=0Y=nxo^X?7$<;>lqVOdrWN6zXYWD= zymR7c@#nuj)K0y5llhxl@Xb;9vxm5mrOlO%PB zoYdLpbGV~uNLqt**2ZXnWWCQE>w%Gjw6vS$tc{Vv>VWe@ zxqILlOPQHnTzj>tWs(X9W4Q}wKNivqL<7AJna(tHW~=Hb6VKkgmvrW-o=$DF?!D2- zfA-mZcf%q(&fM1QJbi;+YT95w*QXmP)xOuQsgBpPzs{T0dbsWdcLe+ou3w9D-^R=m z_WAP)>F5n7U|dw+MAv}rOhhutJv!TtM;=4*twb=S#rIPa1fl%ey?lwE%N^J>b;jZ@ zd0oxNaF^&xY;m6ygL^Yg#0z;{9;htyFR`NC+4r01l|GT?T_$3L%j}1&%Jgz<57NK) z@e~`0d{b&G!3DO0t8&}7O@$Vspxw(}Jg@$}!C#t~HcO6L*PRwUTx8#5S-RjE0yGik zf(JR+BfXkOh_)sN2cZ9yH zWTCK^t)+1#$va-#Y)1D3@O@^@f^t%b4WVMdL?`eJhretigU4!qyW5I=!L-pQO-ixc z2yBLyCuPUR(-ca1Z5p-VPkw8>I*G>=N@Bbe(n@c{V7wsM=&}rRl38)$ZwvB>aXIvs zGoxqePSLFt8QiIG3V1eiF9B!it;6@sE|uisC}s!wbmAfH#yC}8_TmiFj=eCBrA5Wa zAw~Fec4KB*Qd>F1V}4hxYE6Az_P4)1$O-nR2YCmNejY*!^dN)wk+xyZz6SlFx)9)n zV{|lQYO58jB^Ouw;I>O;jU*r+hGR0X{>g7m$9Inv7Ye-d`-b#~ez#x-)3gpD7~N4X z+0NScS53B%hk`{Q24E@bJHM~dE5uK(QWE%Hwc>4iWpm2C^+O9MGVuD9&08(PTDd0g zLd#rzGV6AI^-$yGZ_4%ImqdCg9xB99_9@(qC3U?)O*f*ZJOo-nz3(wE< z``p2F&S;G#3-ZxkpQb9^?!qgp2SP+BiB&sfAYa)F!VE**^ z8ESs{*2KE&u!;P~L^Z&_F_dMbE;SnI0ra?0p!Kjj71h}!l)G&x7;F8ZgkewD_2VigQr-8|9_vfr5lB1no3b3y&Yn;-D2<3+txrAtx zuYb;Klp5&!_@DC{gS~g-8&3T_ukpG^=9l;Okc^lOpErlN{N&?GA7u@;ksVKe5Jx@@ z_nUVy_FSi)c^BoxkEcI~+s?d;GavV#yoY;f(EfDz=lHa9e1K=1HJ%^i%X@q5bhK!tt-OMtn7ktb-IjhHBX`F2PiIj%op~4Z zVcXxc@``-&{2JBoDHz7t$Fu!YTby=)SHi!%@&S0|TOt1N%7;-o|K=Hf^Hx&K3qB{W zY_zin_42nzfX*%cZx4tw&rmIc;^=>SK$PDe5WZ2pnt;FnFMpipflXYSBcD5gwg|tX z^;?j|#vQihp`kgyrjBUinVTAifh&d+WvTIWL|*e|rG_ z^d!GT&h3j;;PZT$&-Z*8>-T&azNnhWz)Ixn*IeJ@nd^lcvZ{Q~vhscWu{P)jVA5BN zk2+99e|(Y^;FVn*{hU{J_PN};c>0NVck8P-%3xdGmwgX7Kd@(^tLkfwL^cbEM^`Ug zCz9Xu5cT<#G5WE;GJb#iRFFW%sqO!sEwF}YyXt+6bpe6vfBdF-%^b#=bG<&5WMr-Q z2Dn=qpEd3Y{kP{g`~=(={rc19;kgcL^2eX10o-i=>rWHEc^CG#j&~>zdUKC#`ugzE zFK$+6_luj|Q_OB+1?9o6XRfA}^FYHUy=&akvtOh#eES6a-_M3cPanP>G8(r2Irs8K zo_P)GH?Kj5#g^0bMt582n_rW%Qm_A8Yvq0G3IT`pAQqiBVGH)`dv548+D=SLetXZO zO}3MD;GMZ?7JVVdfHKrG|Lb{2ng!lAeT{8a-y zT~O3-e%vmZ#nG`wSgmAyLzNBPf;{!vvu5HvGsfX%tpfV_cs{XceX21cOXA7Nq4gVo z^G=@*^~YzREIG{lkG=)X=@Wu7E8_Z(qQz$qZKC`+=Mw(uPw^Am(oQ~EtQI;QKW9eN z`*}V?OpC63plfD1{M!}lLnayJ)GY+SpXWKDS#ALHd7cycNB1e0A~f&z#sATLMswIR z{}ab7FAs-P|Iy90boz6eZ!Ydz(R@TY^J4$=nUdP?S-;SE)^Bq9H`vz!Dfel9O1u^( z%t&?6AvZGJjKw~z$Af_0r*3Y|YO+eNy*-=_h4!An?(84kH=g}Zx1T)qdHDJ?%0E60 zz7`YXfAm;@&Nb(NH8+PCD#uREfr?whSs_bETRkMmEzkleq{_~Jcr z3d#;*6wT9sIO}1AJdECi6>B@wc8>(Ub;qB)%5C7dF)5DPF|ZuP&}B2|@s#l{ z0~t4`Tha%d#(bXk*Ye{-a8l<#e}R4a3+(A@-|#bUw3>hSh`!_vCI6d;i=R30`Q^;F zHh<58MIXU8-%MBQ~ zvxm#K&jXU(wrM#*`Ri9xu zb_3)8p8Z1LU)}r$?|AyHq_fYF_5XAxY6`rtf22EPr`BR%u#b--|t3U9sVmFgN`5SKUy_vuN3 z+kgD0*L)KR53|1ggs88-F8C9>WK3#&{?m^f!S%D&c~-@lcy!?B0iMPIo_+`_mf2u0 zqo40yp5t16MXgvc9jXE-efounD4 z_&HbLeVYmiCOQC)yx*QF%XtnRcE)SH)5hI@e5mkDp`Yc<{f_|O|A^<=FJSMyV5VCP z_)qT1Qd9P#{+y5Po-t*HtYTAh_tW=m&mo=;43!Gr8NkZu0fp z1LuWzDh;=27nPRURIQcvVeD%5}X@E@WBg@YI1vf>la0|$tdC3}yF))!jCt~}&C@RJd8|6rl1~o(Y#cC9(Kk+*{M3vKzqts{ zGZ(@6<{~iPy^@`ALiIvP9CG$`cgwc#$}<;1?6bE2=Eko!>iQFQ##X<3W%w`7A6S`i zX`kO*1pL(5%AYtt1A*=LZ*9WTeerNGsFne2=y{GZ_mfXwf9H_Q>gv&buA+SE#AZM1 z(SFXyCMf4T|3&O0tPLO>?O3D)oMfgC>wESp2{3>3jU_EC_;Y?N6aOccw4CQ5HrH<~ z1Ushl?A6zwvsbmXf_49&y|P{*p!3eYYQQk3I?#z?M+R3){5`W#pX_f9+3k8Z@4uX9 zuik#^EXniiRfqt3`$5LU+Y9IrkdRCVxMn%^_OVqHw|i|so#&Wr@U8ss91{uZw%bI0 z&wt6!yd7)$<3ptYm;WFANboD*YSvpF8jI4hOYTpo_3Z)C{Pci$nqS^@I(c8hX#+mw zPwyT-8Nl8$3VpQy>kS}x-W}M?vpx$Ze4Hm5wA?vx-*Vc~Ddhn7;+;XG@yQP^Rv8lD`W0dEvxyj??9%~GY$LC@pVB@Ct zc78_)UgDKC*48w{rvbPw8!A-^?Sz@^Qf*tJij?MKq%FzNpLINOK6k5o^ZmN8x?tc` z^dTI&2LQQpy=#4PE|hjpAAnsN3s0*G13$A>BsI7L8$9~xNXKJnYd8n7P9E;x170Ye zN#s~aiEw1w(DU6hq7sAJwfhXUgqI05%d)9+$*2}W!1M|H2-Vm_W^gZx8+z^b@aBby zZz561B^FY7oZ7?SUbuH*HRNI!XU8qyf7iL z+cJAbw$7`SAXY>Wi3O&?~ zW$O9}&O(YX5TGJ)_rj7RNnbF=xYlrg-7)C8F<}A5?>kt1h&ruHol+A%(FAQrFRBv+ z=y-5ilD_)YhHmW`JH!WEV;23qX17wD5}0w=w_6*=4}t;L*i4J}YFEJ@MB*@;u8kB3 z-OyLX=wW==b=QPSd>sx|3)2KV7hb@vF%cY$-p1R(EgHD%=oICGf_u_5Myqbo0(6zz zIiOIjqIB~T4I8s3;EOVGJAVTQzX78uxMrW%?41PHbm9uGb>}q_rK*R%++T9b$AHdl zZC45kz=sFJzfzzWk4~s(KS1U76|=;BtIrbta5p%FItKFvYj!sS6O>+=zfT}T!9%zvm1eozAkqx~x1Oe>2pz^oqZj~fyKNhJ8 zkW@cnU@8xK^mPeZ`{RMjcv3qtb*YXAQjt&+GRu|wyst7ZrBb}vD{~Ne{d6%b5#Q+r z03Qf~^!IQG3P%uI-VOB#H^lIXuxq`zUj7NP4JaUmAmBsLKHr@65XySqCc(qu2`zzW zfT+=Xl(&h^-e+!fuIq;js)wEM(uHorhZhSH0&F)c&9n?tZ>BqO|of3$qzZ1=Xhpl?DNlvdD z{J2QfN>DJJVuHa{{4L(WHX7~?n4^v$_okox!d3%}8y4g0p6mRBHkF|3v2dPtY>_P8 z<-Me|F1iwlb?^f1e=^svuE%p4ijp!S>rLO4$6*w5zAm2&k{AlP7nw6`(9zD1K8jRS z_AI5~eEE%+YUo_Ect_ld`jGnMzGvumxdx7JdELmtlaaVrAe>z*KcR-?{8bQgN4WJk z{C?z+O9FjpO)H`d5QY(!z#@JTR1w&(BdSm){OJ3O>(k!rK|&gS8~qIO;m{HUym`fd zVeSs#0g-gcKb*eYd`F1UKyw+6UG7}|M#r*{OLBjO#7DAlTX#9$Z9XpwophuLBA3^W zB9WbW5&QzJ!u})ee89kp(+qcLJa{~JWq#gLVdPMGoiIHfk7AU;>_d_)X0O+{zD1W3 zjyY*K<9XTWNe;%!Qe4$~Y@6q&98UoIL{v=Bu+m1A#cYn8Pi@9+fSKt*S-1XCt`N$s zalKcL3R&g6H=Kqdk2!?<2HaCvnLP?VV->R@%l$uImWZGrRH(!`M1JI{%v3~uBcbx)0s9eX_|=*b;&O+F+5 z1gOHy42i$fBXc+MH|H7xCs?`Tu8Najrr}YraeFp&Y`~BB6-%4#P@4<&oEp=dkTwpt zM&Q{hcyJJ*{D!(d91?Sl8$|&u zaT)#Agx}1CgC49?uQ>z2vMlWlHf&ses~v|tj%QK7p0VmQko+{eqadk=G~ZqAW^slh z4qb+tIy{n8GqJJRt(Pq_1?lXbr=To~?$W%71+Af%G1>hR7<22E&0eVo1xLAW?dcg7 z;G38uNa&4YpNI6cw0@&Q3*4fE3-V(uSnxf2G>o)pIS9z0 z4-%UeVfJZTf-x60J@P2Wf;oTMt+SSiQSwmE%DoG|TbL$2fLlA~UXYJo>TRVj6s%^2 zz5&1amY!w`9s}|DSitb}xd7A@YW2j94JUHaBBC4yNWO!Zwryd~t*I#;EzMg(X(B9s z#6h_iwb#pKVxb}@E@Hr8Jh(r#ObbQ9t2vMI6BO(?By5{JQ8tW z(DNnTGO=Co%uE~vj0S&D!8l-4d}e{kVyyyxo9ODSXTkGe@P3&n3K$3OBf)*$9tMP$ z^J)L-se3mw2{o1Xg>AP*b<-=H%%ApZLdETvA`j9Z$#kIH%kHKvT7-9W@T9F}0i7Ih z3prO`t0aP{K5vv?3^g2`iCu04SzaF`_esk-LOQxis3&t@9Hp-(Z--{^9y0oPE-uH8 zZFF{0HE9_ROlf$d6nF<0yu(yG&G#L6AnDup9!rKJa1Rddk*$}x*Wl?TZ_Wd_zw)gy z`JB&{pNm7XW4F{$Mdn~d6}xFA;5#>`2GfxO*^tjcKou|@H}D7DlFW+*CstfvQiAsfgS|etjuech=2z#j2#j zRQ?%3&*Edz8p8U(4uRiQM*za_CLeK1IK^-e;2F?{Gi}b>pz>k_^~J}ubR+>|eZM;P zGqNUv27JU!;q=Okl0j^6Z=mwBJ`^0zfU(5Ld0%XTIad)KjGY5(?i$ein@vK+LI#A#{bue+@9cb`9k(7YG+Q7SpDx!Rb?UZ`(VV*aCuaY7LzlDPD9$^eLjmbp@ zts)Zmu2GB|1jcBebFjWtgaR^bGqBVV3;d=FWVd|h3dkS?bLG`BcpUf*`Wa3Mco!L= zz3t$Y!+*4d+)B4NWHKYLVevYFA z6tJf`-v=J&`*1R@b}1m>i)#qx;|<0E_Oy;DV9i&g_RM@R?+m!lxmw^p z3A`5u?$aS)E{ZyuC@@AI%z<7{64*rPCx4#@-d~!) zo&e*^Ca|vaTc}tU3#?HY+!KB8N%)9v)tB_a@mRv|0z%`xcvD_c&y@r7!Dv329OdS` zZ6^W0$76uUO*7ad-)Gsojy%9R6M+104hyC#RS^!%Np&f~eH*wh0ek7%n*uHY86IGc z@$sCygvYfQ^52&n+}D6FE?~W1Y)eH1Fvk(NFZ;eH*gFZBH~p0Ju7ml#);;-#ok)o= zr9ykm2juy7$zEmAVKNp0Bz-Woq$CQS%MK(?0GVA{IxsV^H@@@z1dH+po`3zyngFs+ z`i%nXJp0P}dfsP)ITFBoUBP<|NwdDBEQq(5787d(HLJs(aNa3yLNSiUIJzpkkawi$8beC{^Gw3Vj%lQNFR-M>73+l zIvw^fySlUVPFIy42RB@MS4b&WzDW1m{vMb;KWu4+1S!K*^H#vtwVG9;zzm`S&(c%2 zQMGBijN~DBi++=9^h)7%GrlAL<-AB7NlUi=_)M~lRfW;jK_RT2>eJ%^yX3~|q2-E%3x%CxF0k77jGkB4x#dVf@OQSz(!mk(TQNyEZQ7|F3Tu>yTyj(T zh5J129u#uw{nKaEOqs%hnauX-!{=v(*@cISdkYC{N(8LVr!=_!0@u47GV!A}h z``vs4f#3i?K)}CLwRL5}UHsf@n`$>0_0i3ZQ+RCdQu$ImhKj=SHR%n>-_u?ZLY{6F zZ)7N>FosI~UW+Avz4VG6vf$b>G7M7WLnVM~Wba7+@x3O{v+@|3hgLk^mFZH2@G#tM z;tbzhX)X@sK7QUgdQ?`7p*3n9D=~Q#8E1{)W6r))>rpgma-9&2-&2ZnxEjdOV(QL8a@f>!z3rT$$JZ~uSznIZ)r z_S+e7AMstSf)(Bg3i?0y+2ny)l~23S;{nu;8j^@(^;yhY7z0)-zZz)U;UQ7tPw3hI zhd*CUfIoGBGadk=g$~w19l-x!eQJZN#mDG^wSYAa`rqfb5%JS)aGAG?xdwKmjiddq zK0mM!!s=L+5?gx}+HjMNj>VgvX_LL?!1G=V+8HB7{BtjL5w!OI!+X!?CSt#-Qf$w! zTnlcJ;eoOGdYjO_aE^l+-u7s&&;ToF2v}PDq5l{64uTFa;Q!V*|G&Cdf&gxo&pFI5 z0VL(wIbT})(FTFBI_Kz4K7h-B3y^@99hhRK2jD^vfHgVv2{;@BFqsB0Bo093#|C_i z266+Mx10fo!<{?eZ~$|PcgXJ+v(#V}d`Ac0xd6WL^PL?$4lK_6%Ws~5-xL6kKLE~F z&)-nMC4iiZ0&oohx|ih12L^Dj2{?q{)Zh{Tr7GY~ZHFv3&%lN2yH~p_T=T~jLzrM8 zBk=B*&x(cD7m=v?l4))A_ugF$=3RhU(>m1aJJ#9-UIg35Z^xKlUspVEZkmKvfpnyJ z%nP@hkI!~6!O@KicR1`m2yTBqP!OOfOjcd@sjkcQG0nJ2Z_Xv2z32nuB!9RU;*w^`y&i83fB)Rv5L+@kftEzN0SMLWHUkw%qd}irXUMYq&x7rAwiSl$X6Cr^R|hBPo-pdvUJA2lLYAhGrK>A1chbG#6;n8y$@= z^)kFMN3d?h`x@P#iWHf_Pvq-eC7VNg7KT@KFN(iA4+^@K8wV#(6N?4d2Z~JBQ3-gf! z<^SUCKXzqTwrl~cudfi)r2u*-K#inLdT#|mp!eP+$*&jJy>-jHswdNs&OUpSYevLm zL`*kEWUkDFDj*H75qUR_XkTNOJHAQrrvr7L!At<}CSTp5wm=;8O!sP=uF)DhOB=*1 zOCfT4R;zT2R@ntwCo}>wA@Hvs=mM?2e{@aM4yc(cxIqSX;DT>*dB61SP`k`&?EDes z&FI=Kv&*_JY5@d6RP;-o$JOQvX@?2|Ha`+0r1 z-A|G~UE!-sglN1&`oFe)CLeb1#X(E_Bid(wM(_q1gYkUrM$ap1?jInco3ESy*@)H= zt$^BjM73RqH2|~c@lkh;NcSk8i&y?S$6x=@JqI;`p(nja`y9+@he-TQsQEian9X;L z{Ems~iJ8w=m+&{{bh&rUI+4<^Q-Q85nSR~HIBWQ~mAJ1+@BjJJLWc}y-G z;k~hiw?{lq8w429cLO0tiAJqOWWpu}|Gm7EbqASLXwG?mjtL=&!#JGaxzERS4TeYc@H$bwo)aOE3XWlxVg={qA`Y%TA{1E&fn<_t_X^>5o;;+g&@2wx?|Xf zFGfJ{_MET%kVm1vxoJk`^2QaQ5<&KW_WkNOA-em4EijH62(fbyO7sWUNUDY0?l~XR zI$Q%(Xz@=*Lf=<*mv-^Wbej8*xw1Yy}#x~;1s zUt;!t<*#(?x9=OGg7&3M=uJWIye4cOvb%I2cf%{7Dmr%vu^1waxNJvPet5bD26u=_ zmFDgNe{`DNHFe+!pNM>Iq*93RZm>GK=aspHpWUGI#ubG^30?zgZk!P~ZF8MnV7Lq@ z#X-p1zbiUaE8$_@UiA&E{q0A9_kc*7qZUE{bY;IYZs%}GLhTFH@6Ye}H~!vzzPzja zofi4dGlcN>c>yt~h)I~Q{5kDEc?kjZ2vp0kA};ZPF0eB?^VRD^@VozkIGB_Q>2LoV zwBNYGBItVi*SZ$I_LlJx5Og!tKzN>8kfT4ahQ4-*U-?(p{^pI(EBK+AB0lGFR-Z2& zCkgoXo!GCg1cLu`?OKVObNaTWe{G=c%&jq`uPyu~e)nWXUL7iJ77^Hzu8D9&4LyH0 z%3b}nkp#T*H{KqT=7|`*PuCn&;!A`_48C?b-~K)HfX&gDudPdneD`t9H4r0b^c}+x zDR`Ss`Hm?G>+cz+TfWa;q2DWa%fZA*2&5~Z5r;35zQFm_1@z$Si{*U2^I}bn&$R5U zb706!=F5{q#);qI>6^hZ45LtD3FC2o?%Kxfs7DZGBmR?lxcAChw_7wQ^YNuszIqT% z&-}n5YYf}HmwV#w@vcF4Eya@`IZkA<*v(VfK0Q(qHI`BpeW4R@^>7o-rVmF zF+j_x5h@2>$AJv5O}W&S(0v{J_AP+Qx>0%Cq#2~JONUEA(OrzYZf63v%o?k*;klU3 z{ytyt9ml#aPP;7*z%;Df&W_VU8pACh0Tt0QDekIo6o@pdjLwQxb*YPO^i$HzUVz%u(I{MqN5Mao zUV>GHn}WXA<&7V-eaN{+Y>P$*Tqrxve-Uh4kel29Nzz)xRb=w$v!t?xGjq_9tSwjB z1u9hifJs37=p6XxfKMS%uezlpW%e5&iq3%jEbpXb>5IZ)#|9SOkE(ozmVWrhb4S`a z=J#GWd9gE5FqTgbo^(H?eCAxH+@Hq|uR zkbEA2xJlX=T(%KLU9ALL$`rw$*Q|AOj7-b*<+r2r>o$8!Yxs(IMhSG;6!jV$PlWbh zsI6T-*WCe?T!;8?48M(>e`JGC)yQpMb}gxEr6f+2j6JhEG&r zbdj9|{r5Y)N%%CjhYf`j>M~tewvQ7o#VE#1QlE3J251JX%>Q7HlcU(nfqcF4}#I&CS?9TOLqd-8F_F5w`=9cC({tzUy%X4e0ojj$ZqIr`fQeyzIl)798 zjKwtvfz5-_dZJ{LZ4bm>WJ)dYwtRe=!-0FFPP34GpA6OH6tG5rrh0bMOI~87Uv)zgHR7ZZ^(lva|4wTMW(<&Rl*2 zxfehL7|*8yk6vm-gH{^QZdb1Y;c0{-5SGj*(P+_d9gaf&+6Jfs_vwVNXRyoRR}xwI z{8}SBGU6=E@Jm#lzk*mLzzzlU#`Ol{FQoj9!*{0+brYum#H82fdaN9GW8Q@1ManPEiCv zUsj0#`nUO9oIZoni#-&!)YpunP^SlX z*>C8{F32Ek$|Aa8x|xYj_H5(C4*`YnVo`)-`E-qeA=FG1Hgi$5`8ZIq@lsZ&x|D(+ zs^$!;Vpi_k8{iFS@s?OH5rRFgNz9c z`~#G<@v!6FT>WKtvRICA@H6hDCnWwT(%xmSEHLv5KJL%D!Jo5O>M$L?!KK`+U>9g| zA0_ia=y27cmj@qHUVa1JEZ3m!d+g4>BHbMERbWx900Bkdx;^TnU&S zwsl|R>i6%1v4?gX0;xuo2>gA#j4O@i0?brr6^ht}8>r@LLJ6Y~&!^yvucvMh3iJ1cKOMai*T;chA-;qfjol!tJQb^MOnB ztrEvzkfq*g0zxZI$gtW!*276{d5MRtRpVQ9M44dfrGXPZ08gW5cpoziJdwv%;mzCT z6V(C;dx2fj{e3^^ZH4Tjb3~w=od8jJ=K|=^(sl8obp=C%N`-HFDmtq(PhK#ab=s9wiT{WXA#0=c73C7)okRqfLuh;EdgFnZ?UA`@ z#;C0joWEFy`3BI0WX1Q7Cl_Oz7`$IMyA?!Gz3cge7;X;UX|x>ph5%~&Vy|Eqc8@}g zmO|~FK*zFr$jq?Q<|h)>_2}-g97ehwJ88>(W?CV)+gsuaQ1%l4l?GKva!YMJ}K`Z-xQlqCiY-oC;tBX_A7VJRp(+Y6ciCclC9GJb2g! zpT6(7L!GmR_=WJtMNRTmyk8#}~C5vH7j zP|IDurDA_Xf$R#Bi~FEU4fs_60xwfIF0)awcQPHqxcN+r}k^C!2ug$*2 ztnP^Ty|BU9^cU;&0~#OSoTzPhpnp@>&-Jf{nYl*y>TA4g7+%ob*$Z0pXSd`=K`2)6 zJ~XBihO~7OzmcK^aU!|l4e5YkrCO!w^4@$H=eK>=$WVWiNPrW+I10lQqVMFaRxq`9 zHT4$_aPT)13sz4WW@fSNuP5(h4- zM?O@beID>dBQ>#tc8%m9W{p1BSu%E~FWVggafLNt0T02afzp&aZM(BcBO!b6X5>rp zZZWwg^Xc#le%qZ+R2xnijo7|^qrh@$1nI^4ZoV+G6G)P#mbmqpr6M34JeJ}g>RW4q zU18cA_)s>4!gL@5)EPSuUD&g+DK&Yiy~H^{wI<*5zSjR-+U7a2znd7~%ng##+N_{> ztLv=)*3i&f*{-b;5sY1f%#_q3V`KBMDB9}byj26qSd9elSpZOX%(mYdn5<0^E2ov; ztnf`)Pi7S9>5{p;@dJ?;GiK5YoSQOf_}_~^A!rbQZeX(YCw1lY6W)9RBof;}{?JU2 zA5_HP27>GVu+L$9gc5zKsm!YE#4xyxG|k)JP}>GZQh1x1V@Hc?isu~`c#im}tf)_~ zfMzQC``aQN%r_i|ACkVa=RB|eA&yX$N$^d^&A7I}Ll$(tu44(6=b5g$k{+A#a+`S? z7PsM8VuPCpai|v9?Dn}KNbTk1jC;ym5L4yN%aLDti z?S0sly^j}{m2m75?unMy!$82_?e4yE`{KX$L~(67$*$EIc0CA2Q%N*r)>nEYFvCha zd39b=R|F=qNZ%9Po8<^hg@Do3x5pjHxuxD>6y`=4zX9M)-dR+d+Din*-xznnVNcy^$5?-#ZUMBApNP3q< z?esZmfu1mh(zo)2{qkbEqFP$qR#4@Hb}2TkW)+TH;w>x~ z{^7eFX1Kw0z6HOJ4Goc)9W@wgMkUHYoccPhF^2USF3z_^A28AA2#FVcO2b!4M|nc~ z*NC1bo&9JX9Nh_Y12SB;yGf4pikw|H76eGgB+WGU6y$fSo8`|3iL_q5e#^6N#(v27 z5h?ta^dk1X!@^VKS)+*w0JMF(@SXC8{i%?}U+3%20hB92J?p$JSHJ_O?2!`1fFAhtW-gOmhAVA#IoSSG>kv!Wy9NaIJu1xNC>WY~EJ0d~QM@VP6@Hvt ze0fb;(wX`c*joXJ5yAI{2yy%(-7vjqm;j-CJ=*J~+*)e8!8sVk3h~ai1WMq4gJ2iK zodLCjNZpqaA~7|T2zMh0ks;|0Tppd17#w68NWA6f0)b_&`aN0Z=uCF2H-*-auhAE_ zA}g)tg}W+tE_C`6CN$4^Os5>>*+e*LM2pXUb1eIgWU^P}CZa!Ims95^_7^ zHP~PY_Gsx32!DU``FcBT&?Ta~4HX|_`TZW-qoFH0qt|WBH3F6gG5T`Q`P$9cuwp2P zC4an^CsxJ0S)rPLArLQfaF#Iq^%&HVp)-d_d`8p9eW#hY>(PT@h|)PLrpXYgDZ4C% zDhIo5QGun;!FR(5`dwk&@2B~3i-GQO8pcgg8)D?^G7she8!EiapS^&W0IWiXdY+%C zjp8~Gd}3hnS@!(^*pg0=rpy6-R8KUgGidNlG|Z0g2|_9gkLq%I5-`TG>pKdLvup59 zMU>Ph23&d?c4vZ?HQ%UeJdF0dfk#y+*0;xI$#?n>rl9zI(|s zqXV~XnE(L+#6eSt3L0z29Susv2D87L3M2>!gCn&UiM)WuULNW;`t47?Ib(@-XETQR zfC}P$AOPqJ$8gYj8YN;}U{dNqo57#qyEIv+$}jXhbM?W1f-dO|7Jk>SxAG{B3Y4U) z6yM3=>Cfk_#!--sIMtrwi2@I8%jRQi84#T}2d=BEqqWipp?o_S?l4f?`q&~t;-(oE zXRCA_($tcK4M$09eR#gx{2hO4-jTq;7v#Lsm9!9{vugX|I(UH3iwyx*Y3Kvy3QiF_ zqGf-vDc*U(8~I7_-daF!l`!bOotvf)(MQ{oPy~1-U`&cZ^UwV;I2L?4=cexYR06Vt zReGW@TOyzWv;81b%I)-5m3>&g`Pr@EJLv4)=29@jvG+ODthYl+j38P39j@l!V}Gf` zIevE|xG3KTw*Ihll$AmplXvnR%wGt=`rDTvP5j8|uOeAq4CI9KGkxIAmkuq4*-s=1 zU_Tef4t$eK8G#boY^}|!w(l9Z4ae!uun6AC*E>wdQIhvyaJ2BSglmj?=IN5+aFPd~ zVf%hZwRH+e5Nno4I)ekn#&b5>Z~7fY**!M`^bX)If{#V_$=BuGo0LKT+1$7o=)Lsz zI_BE#wr>=oiHgiZ0(D0Ls=rSwc+OLK7v6W#*8hmAmm|t(u~kFpyWB}{<-{;9vfw3O zGq6%2Vv)W9bGzrTcZIHzp-SyFfMKRiT8ms?_*>d~F=;TRwZ`4Ft`)6SQl~{Iru$Ju zrfV@RaA#n3IoG%1gSFQm2`5Gz!Z#>@H&7B?8KjYzg<&|3q2MaB2`T3p0>P3yOx3^o zub>#4ss=pUm@pjTwoCA&4=|SRdpc)>AkMMV3>_;vy>9Z;LWX%#>B{-l8;i`y(~0Dz zt}e0eaWVme3Rao`F@j71arw%|K$vt!4rHh57vXmkW<};XIs0{Hlo`SM^Ss1M>WlU5 zy0cQA8rPz^{HhaMRnf(7@rRi42O+xS{;_|Ll+YE&0H4@Ast8oZHaq3#bm_A_1`wq) zES&kE5QyF=0H*-h+*uQG5IiECV%mtV8`ia@Ppyz#Q={Z2yCr|DF^1|$8Y?X#cRJ$E zn_G|^fqq$*>jXXTNjvXTs$;TH)BIv`j7UCLIvHFS(P`80ueuHBxK2{o9 z?#}RB@_h_Ru7zWN;feBTMis`&EW;;=hg=tYgu6SRMT6OZU!YA|IL#%jUpX>0>RK`m z-&T~r6vy=;_ve>a-6O6dPXWH=yyj4UFD+%tZ2Sk~X}tjw19CI(}` z;mi8~nO_p&@$R^azWXdbH&*lvTYj~BQ5 zDZWUHfz*Wg-{aJ&MyFm_8CZ*>{f*4quopQ84!GAqWZ4W3VvsLT7^hEM}W3ApIdjpCldScXt&? zIy!z`_enbHbASJ?A@Sp^kcxTE37S+M=;%&xKxMzw=GdZGw}>AEu0zbE@q2AE7&RP& zJ+l$zV&MT)=hN>i)=Aj_#?C!+={YEX_IeguF^xfl_!X7u2y00@=;}u(B0^mgqH_9)Ba*yBd}IukXsb~YB)s=v;VJlb-S-e;k& zF7-l!tI-X*39Ph&t@sI|>@N4wNpEq2OMEM7Ry&#G5!=gg^iF(10Sqyv z*7T87LEJGfe&SL#ZQB|};r60%aPNB*8_e_NtIm4SCp*pF1#|>2BV#{$cYiKi`6LC; zDt+g?d^@vLssFfR{pqER%_>8{nZ@y#;gCL%^HZJQ&-eDmuDrGRD09TelBX`>EdR9Y z_sPADjjKdmSVFdV`-OZIibb_pl}Eh@YYtOA+F}6nuVT@ zE$?N>MMKiglV6CqdPgbY?h%To(6m=OXwu{YFN8RF&3yjKYvm&U=ZjUGwo z+~LYgP8B|cElMVURSz2NeHkk19o<0CfALA*ctadgp^21WW8QraTJID~%{JymI?*!v zowW=&5moFV<)r6w2XW~`A(EGaGi83dGK3>nM@mz0)B1ao?ZPbdkL1XAe)j=h)>tBR^vtSbn<= zap&GhcAP)Z-CrQ=#M=&nOlU2R`;F$tjE@7CL9D*LQr_6Z%>WhI-vEBua;XU;D5m8P zKW8qJ)buweszh4mu;NKM;I%)vc!kTWRw;z`OUT<2$4(IA4i5tJW7SRd@a+9Xyc1E&j5MuB#r6n{hq8(N=mkfOo;SR9+Ap3>Rd#iTnQcJS^ z8PJO(Iivw67?qsqyx*vA^Fk0vq!~!ue$<}x#T9A{0m`xf&7_gZmQvZ&1FcaQ!)F16 zN5a$F#($#$8a%v-9Z?_^|}JTb%~)X)i3-**H=O@r&munQQ58 zOiiMdpvzT&_5;Rp0?o4bOi<3khLwJunW%PEQ~UMUm3Fy3CtT6)fA`&&E2=4<&QH-x zSPh}X>LhjRBLbcC7U0pi^^C`(pd^Icd?Ej(kCvoq#u;nJOl8W^ z$Z{$r**l(b)TylptEABFg+Ga$&YxrOZ)&}3)!V4)MBF0|eYC;3wV=;OPMx1;^MuVJ zCsBfz+!^)v=EUZ%vuJ(f-*99scNW0(D{bIem%?~(oRcpSzw`se1g3;GL99u_4PsE5 zTAcA*-8G3{7npkxqyX1>=`eNMEZokV+DR}a{Oli2t>cNRD0S{{sYHi<;5IS-LhrGl zI@{C>a|v~S$t?okf@#pRKh6H_ z`Uw{XDfh%vHrtm-CxI!=@}16>DNQcF+(OuB|kKHtw^r}s3=r+R)T zvsA8;8i(gsU@Josop=&i3<_k7nc1Sf95pm?j4wx&tP(JXzCFXXI*bl>zGqB4!n{!- zs%VO)mZkt5zXdVN?FkP+yPGVMFG>Lv*EWqKm{5vKh$g5>O=cicXSoie$yZR5omvnZ z>;6s5F=bdWWpbsPQI0IuzzUY|ROQ9W$2MS7SH7rdI`olu^T2r1V@``*4GmqpiB5D8 zI`b{R+he+{`WAIsbg}g{>i~PtP!vi#?i7r2oX%6-U`6Mg_orR9d3%ULvMs&eXUgWh zF$0D86_IrvEX(XWeeExS@&pwax#Ekhm*M?c2z)COt zI;LtD$Hs8x4}>27^ekwkiFmWum+jzOuLuoKuvHwW{;sv{Mq^yT(kj9VFPN?@J|?rBJ?fu}eTL!N$AaEn<) z|JkVBW=bL3s%LNTNE1UE>RV-Cm-t|9DsiiMt%oe$AL4bH|BN9Di z30J)L^LsyDP=IyAMeg>h2vC7>!&UC)`f(@vMXJYdALVI~fH{Gy1b%Ue3d`c6EZRs;Jt%{Z<_KA!eTcP61Gw%s;l~CEU$kb(w3^E zqJWOFj<$t{C(^Nsw8)ruDmdi%dxZUgF1GWtx&?Q_yH~#Sza|~B9R7LYQ|=a0+BLMl z0TU0aArMuW($cntZ&NAPYr%H|)`dP&yWTI%%Mh6+ZNsdQed`7zXuCiO+mZ4^?z?lR z7ZTBZ>MhsqtKZ&+7%3pM(J5^7X{#~)DvL9Gs35P8D@u)lk&P#MAYOc#WjcO(Aa6Aw zU{NL4?re#Ym9>%fd4yb?@iz&bk(WxT`+R4vYH=DwvpPaN0Z`K z&$QnwF9|2BX6I;++a(tC`ibsTcu;XW(9^pnMho?Mov@yeONm;Xz73E1oSsRMbP{}$ zb7j}-xK*3}8pQ^?F~{=lum^L?ZdSLtrzZWdlpX?Z5v#8A?|Y%?p5vt-BHR;98DYTE zzL3ov=DZAv$_uC?70-j<^B$#}?!}mJsBVmI+SgK~hh^jHFIi8C@h)jW<&JJQJT$zr zm##A%zzLI2SFR(GjPpJDd@4?bD@mg>x7Iui?2+*|A##6inL!^Rb92FZQLGIi&R}18 zEgt|6zd%SP?tu7qcEVY?kn`{sB*&5=&`|^jkPBUdqtmDT+6Kd{&d<2ot=j_3t&1Rv=sbnG4_p*8QxT29re>Zvij=s*sPe8~!58oSn{T_aBQFFwWwsTC1Dn6o{ z`Bom|KIsEwFVx*n+9VmN16UBn?{Wu(s9-FPU#uo|mBc12}=2d>8YV^*ya+=eY%xUhIACJr^17+b=SJ z8r0IekZ=cz^>N(OLL;9`RfeYP5&b@+>RslVt{*ka<~OgxHGMazT3o1c`R-00*xx;m4B@uxeI|zp@ zQuVu~XRdbo_wHXp1$N)B*`!N`d*MC?uIyMIlEV0shZuOYu;vkJ_IoTm{m?F)!C?VT z=c@mIes-v6if}qV9A&=xyaciYt_YVR0Ef0*T; z=$PMr8OEHSce*4U4mn3*x+gJ>dm8eB^Wx1Tysaw&N9)E)j-fgcRcqelSXlq4DxAJ7 ze%z=__A%fl%FO?_r6E+#@1zbdO{RJyPHsJc3fJA{D9dV()jBRn-O=}&v(>zd_FWLY zgNbEo%FEWK_!oypX3JQz>>I5WB`=o4xm1podM7PSQN48M%Hv1jjC-k6K0xJaqk^>2 zVtRfOQnajGu1R3+gk>ZePTo?gc!9zinA$TKC?NXZve@h~n(0ri>$Xz7Y_zk<9CryX zSdAm^VxC+^u4oB`uZu{#uc0sE1f>Zt@1a!>x+?dkUynHY%gmz7PqHeGjJn6X{3xcSc(T2!a5)rTPK?={rGBOKpqO1!)e%C}5Z9lhFo8YxQ z{;{il7W_x$!{4?KQNoRx_G{C?6mNG3cWWq`^$9azbNkJsT27xlAQgs78=X)P!CoLQTtmi^IYPj}PPogUA|0XpEkfJZs;ym1&HPQujLRoDzF!T^rW3e{$M%%|CqWPE|IDIb2!f|n z?V$&mp1a<14h>POqI$$3=Z_9S#RnO*)@QCSX(ySDI!%9mRrG+7a>2+*Ol^k1oYG+i z#M(0sL6`+wqvItx(NkYa8?I+rRmJ8-WVIc7l#)#{3u|*dGFtT{R1-(7=<~BTQA3pc#bx@>gs4{7Bb8!8JM^R@Cn8mcA=>4Rkqv3#A&V3)G zO=C}wmuNbIknbAkI!D9rtr@A__d$cyB~f940D6#WWA6m1De|m?X5E>FQB+KCM4OET ztxzIp0f10R*?##LA9g30++eLDLIe`fl(YmnXcoQvD7Qej4JyA-ZxFB&3QA(MIfN~* z>+dWFAj7ysPc4ldN3uc=*{0*3)I1#ODDJ)D9VNrNaF9`R%laY5fQOKp0r_i-b@b6$ zr1S-B>2(Z_Fh3@yBLb&T3Oiy`+fLJ3`4v&<4bDgwAp>JYw1Dq&?Lu!MD>CG}G8(9Y z^Lx0qfr_fI^-)a~^aN^Ut7W=?c~_QOu5?)W_^lfBo0PPDMV_fCZ449hv5ffys(4L* zTBbbfd9bzBZrS$ij?cok(rYzl&Wua-`s(}Zx>9F^r4WRh;(d9lGF^RE!uMewzO9rw zor;n^0nu$$rkT%`iBL~%OmF>s`%8Dt-!a2oCY^&^)6myHlBiHi&`&9#pw?tlwsZNA z=?{s)oS&Qw4Vd4bK+}5Q?my=gtGK6Lg_V-2QvaGLNfTmyf&D@HIzbd)mZ%rUo9wmcQ4exj$Eu`04^i^sG{{vM42kR6 zUAW6Gge{D)1Y=Fejb!naR|j>81oHzPG+Lirp9mxXmlgC{*EV?XNO|OTJiStNkkgcn>eLw__Xd> zA7Y7uiC)L(axFWC#Pq&L&pYRf-p>dOCV{>dalkkcF|YwyPDrJsflve1gj4k0*C>Sa zBYZKP+vf2H!jZm&(-1+SUO2Y>DDwLdm_mf8E{tI4*B$(?yO>#3zJP4GdMYe7LEKMK zXk8C4QQ!aSvC=$|+8&IHRm@RnpPdMlfM9(}X{~Lm$26+-IWL`r8TwlbZ&nC-@Uc8> z!d1m!PfY7ei@y!93i-km^B>_>`^D=hJfQSPZdSeJ!yvssgK7Z?DW;GT=RO%2Hx>N- znoBq;GelEWse`d!zKr>CPlI|1>7y3qEWCK8y4v>sU`LC;K&n6IK7=}kE|9rGcV{C_ z0Y3uh8`r)z_Nml`11>x2XlUV$rFIo7*A-bCA@1%kPG{_gmvgJpVuQhV3xc29j57<2 z;8Nb&U+NGw;x!*a18D)n3UohPSsLps!XfSa>~Z?@Mf&1TD83RQ}3Hq{x5o9 z&uQUW?q(>sXIPfqFBouNMGgIi49{&xb9M9^;zEf!#Re2+1j!P8b#z)%KLno4H~v_0 z-4JnlK%6jmQ94K+HIND=ZA?*B8ATl^Z)3qoL*FIVSJ)0OLI)PgrF%vG>DuC83kl?o&8tPEIW4UoG+EJyv|N7wN)eneoUnlo_++S5|8*1EC~F!9!)sZd3+ z&$AtZd>vCxRE_lN356(Rx7%egP~LSLcx3H!A%|i4Fd|~l1OE_y=^Lro4+T2}7@Ls^ zzC7fI@%uUbE&w_A|TDGHQpxcIqbha*3RTKORSsGdm}r)4lx(3@iN_Pm0Rjj)8U)0lJy6< zq+VrR4_F%6{y`7qceZ>KOQ1NP4mH#6A39yIFI&cG&8a0&*YO=MadTSR)~28P_1BM~ z>=qUUxJBqv+cGpH!3Z=MpR)&tt{g8XV#NEVkeINugy# z75^IkXv@vREzyC!?dUi$E|rK)1El`6mVJpnqk^3+QMAh4-+2|*g+3CxAPIFXNDhJ; z%y5!A0xIu!-yUlMTnQq_qs{{b27320e**2TC+H>v7(R6A5G4PVcaEg|Ie_XprnkiF z2%`I{$&2QbAhzng3_6zW#FGiHaTb!W@Mv8|@NCW?`V)`H+lkT0n{hS-gw1EUEBY6Us9?gwhUS z&r%^t?GhjYilRw*#~6H&@Pz{y3sLvZ*C#Xnyk7uD z>`fkjuMyr;h&@gqp!Bcwr=!A+Xwm$_eV+x|EqrOe1vESmdrEkv-)ebhP_Mz+exl4s zv%nf+Xc;QOZ$P!g1(XH#e@ce?U;`Lh11>wQ{6qg2g>MITv*7it@a}&Xo+<7G;s+p% z6#n{b`l1BbE~~%xYret0I?i}}`B!K^2gs(*4*?H<5g}SwbhwC(l=_Q36ny6!kOyvo ztv*L#8Gey=AdV&j!__AGb&=6D|hhzR0 z{G)SM4&D#oc$qvfJ_TL#{lF$jnPc3109?aim1I`p<*?7gG`6q6Vc^`LBfBJ1#K{Uu zy15Jf8r>#hUb_16h&$vgmwGpm&BxzJ)?M~fv)laje_7L-c4!QbkKuWa`1^Z}=J#0` z-txr&-&~hZF7WtvcoYveRV-~)x4xS{XrCSBSM_$_bAJt3%=5Yn!Taav%C5{UW#e#HzWur2P_}2G7-xDfi zg@6Q0G3~EgAp9ywqT1ds8@2ljllTP^TAW^}0l{~4KrvFzrlC%QIvSejhkA09tj=S- zbuUon?00mjR4?j_Jtj;8I*^mW1gk&b@e;zex>Vkcd3Ur^>36u2q?VEYvNm=G9H(j) zcZf#$+6wKvdc9WloI^OEXFaM&6qtp1v{$F`Qy1zAR4gk+Jl#v5W)Ur$@yi#SX-PIx3pc5=!t;)VA2ah(cDWj6hPNe$5oPn9q)K%w z=^u*qm=YqRYF0K&8O5_a(PAr`VZJZHV?V!ONA{@3`0^W~1=?A@pvhI$+98Wdr6VvN z=S|jIg)QTf1DoxbDraJ!SHPLig^%Ocb~e1$xRp=+H{a*8B^p0Yc>4)C} z&I`8BMv?^iKluJawdH?$g_qf?<2J|dtodVot$3Q4lA`$E!oEP!mt>>jJ_{SO9|>w? zI&w7gvuJ3pt6D{T?u;DY3BUN*s+Qr0AJC?}6OgT1viK@*+^u0Gt|C}pc<0+d+B@I* z*X^g=@$ui>E0&R7^zbp`Sr0_5JtuQ;X6&xvhdpDSWlC4ka!?w^n{)gz3_u+?Od z@#=T{NU6GJIE(DvM?tYt$Y3q*sU17wC0nPQMDogS^fpQzR%kAd9&EL-wNTkc?+nOf z%5~A)L-V?I{J~L%+o(^-VAY~>JYbbl6U;8>kuFEmoSEm4F41XMv7Oe7F-CPmP~0`y z9n(zV@P;8{J0gFdMbf)C<~~s_Hl9D&Xi1Qqg~A+Vc-PRj=-vJ@SK57ku#8NYb7mA} zH|d&~9`H}hyyOYbtMA;)kL<~|l5lFPxU($IxiMdIZm=TqW%f(8G>8=LualH!k;*1` z=#bERUWT^b^$kRKiB1h%gpUlh)z5(IWWOvb>hJX}Mdv{N3}^$o6%AZ=_9~F9^CYRl z14l6+#u^`r%Qbe(w!nZ94_@-`@#7JiAmMNyQh}A zEM_hi_lHld>Jh@}I&Z!dN#LApdn!tBJ^VW|bTYLTC@6;`K?0gS6BsjA^IhNYjSEGW zUpSbL9%l=zELMY1X1mY6keUV!K~eKUFT&X1G<6QXT0{#*^m#NHr-`^)|iXpy7|vO%UHzVmIYmv8K`kRO09hzzm41YSo5g$h;#@xdoh0B zd|S_IYzx1EYYIt<$hG+i$ z4k-tI2l={$z+j9|ISro6Lp-H@p=D<;{OCD)Nrq7z7P|+S@yHO>x@S2WUoxBR&Mtga zf_VO+lRtD5aH|-?6Dp4hgN}YQs|l8ulrR7}K*qnikJxmC!LQb1-CKs_4uY!jT|MRx za!JuXXxh6XKO!I3SDu*I*u86X0XbNj$QuU1*C2xGQ`H(p?bYFlI@=GEJwWg@rF>QJ z^7#o~ek65}dpIDOF7vRwL?{%GunDJi#%98&eQMHWU0;?I?C>Pshj{3Qevq4quAm}Y zWpmU()^?RZ`ceZX(>z$myAaP4q&1p2Wa_u*c=bj^JFvoOz?zb--}XhCv={P8^rLK9 zL!rFXmS5^` z!GUr4({B_gi;3OO+Xjm=@fF<7Zljoi+(>m{PtBX@?h?!gYtQo_$b~IL6@4U<+yv1d zxn6fjqku_rW2Ccgax`Dj6WtQT(g5wRflSAm7lqqyLXz2x9svcJkYsn&OcPUpl>4UL z_K0a=N8NI>>*io6v}LLPub z?`8z{Qah*g;_i;celjOiTUOY)-G6kO$EOXqI-gL3=V`fPcjy!0C~QSJi&7Nd`b{^r zLVZ=7v=>a6twjDLf?6KM0V)hgt5JxkaH#A7a00{RE2J!A~pl?KG-f$HYP-Y zlVy&EfUwu~{PvP>83XX3q@-l{#`==SoSgbf7=eX5PJf27Sko`&HzZ?WG!}q3!{87y zlIlX$qJHOqiBnodk^FShs6>8jp)gV&19A6!IuTvj0I%y3?WIisx)*VrgZf2ylB`uR z&Jg)tHl@mlxJ3;ne)E2(>8<4=TK}WH>KX7&jQyj)x*ueQoSK=_!~1tYq&nqlsOX|$ zoW9I9D!!EhJ}x7E4PBpctlBkw>ttZs9#q=<5*6k9gxBJ0YVwvdH*sNJ&NTVNL|wmz zgVaOFO*{T&&f)LpS^X*@BpcS-avXO{VWe`Op!-|tkpEWW>BdDrN7z;Gv}h+4C-hm0 z^v(If11+QB7J`*8kP~m<0=M6)^v-d{Z=02^8-8+h*ioEIh;NL`#;T+pVUI{K5&*q6 zvyaL#H=%8p`U9j`nU2l2AL3(f`}1Ye`urjd{6jx|DRHt{weng($qRqJWKsU)?^Ctz z{$s5$RQIXW2a^WrAkMCoJ*w^jeauYh@djwkq4824uxc#TxEp^SV(y?~EF4=VC3h1! zZI^!^ymK^eK|Zp{C#;_j0siogtCLLI76k@XpSPZu085UO*0O`*t2O z)Ab*hCyUEa8{6|&0P*#wIilP1yqJgdV#t9!1Gd(@494kjKtcQ37IHN&r%f)@E1=j+acWynrptno> zrsaCs1m32Uq$fSK4ayB&E@T!2USbh{dQOO`HQxi;9h6skoHQ@cMXQz-Xn)qEErF6V z9df@f)gU}-ZZ^Tk&X!s$I@e0cs>A4I3m8k zY)DU*MCpJ)D!4*WLP{bG3c^2;L7t?{wSXZK zEf4R=R(-n~iIDXxd2)h(KH%kGt>ixyI5}3AB=%lM<1mdL{S_3iqb1=8U3YaKC!{LW zR3?>;cjO5_9aMRrq029h=S6kE5z0T+h8Q#%{;Uh5>jTQFR>?=;xcL2H1p0j6hK&!| zcl}+v?t@a0pGQr5wEL4>Q(&s0n!R^Vt9FZ-wOcTd=vUBU$od06UGn}6LHL8XsQu-) zPE5^!vX_*(fs;^&;OV_0w^U`K4ASJ^Qb{O|Q3p7@chV|kZI$KE6${1rQJ@N5KTs5C z8x7*+2yBm&k>TxG(r$O+hXd&T^|DG#zD1$yH3?0T#=9wwA}6O03Q$3PKEq@WEErU5 z@{hoZ0LpK&`Nl|5?br}*Av{ZfT84@}9^PkF7@;hNh1Ii%#si!D@oAAuef2bU?j9{8 z788ZYkK{l(TUhg_oqs*c$zDfB!>cQN%)}U`Y8&+m?F!fk#@EJ5U60~&1weXNx zQh78+`b^MIMDtKMEc>Y4D)mWx0LO;IB3veN`Ta=ta$NI{LhNm zdF*OS^{pI8?$TTn!Ef+|Un_M;+^7@IYtuWI;UQ*ijh-#4*47SG6R(TUcN&7bV8G3x&P zK~6~nq4p`01?N87^}XKm-_G7Xsn7DQjn4?RMX8DagwAm`8T3VjA>DaexD%u-p!fp; z5ND9lwphf=R3=Yk<0g)F>CHdWE_qPt2s#Tn{@d6{9Yoz~0jjoAHE^2g#knJ{9mDqFV6 z-kKoIIMbI4$49WXP2VPO#G45Je)qZ_TY@~+eZH}*Q3z-w^w2$Lo5b%JI`bt5bhJ-* z;A2L-ow-^yp#0K`Z5hJ$g!(39J(KuPzdCR!d(m{p6jWvD*ayfRma?hoTXD^j2!&>j zWS8L#daVZr?hw_lK)H-X`2{_a2Gf1ffK_>d>?r*jJXly0SQB?p0?`zmBp@BC|9m(c z_%3HNf$m7I=T$!aV8qQCOr@5W;0w&{0Wd{i4tXvElIkG3Tl`Ej$G5U% zy-_gcdBoBL&5ZO012>J4!n4-n}7UjL7?u55nzND$JpEf6A(H3a=Udu;U}cI(J=>~&k*~W3M;5P zc}bj~vh-yOqr(#M@Ee)XZc?d;-s=|e9B4^onu~rb)o06)7WHxFSy1fGT*OXh8$kH^ zb_z7NZ7l0Zl*qjk);Oj^3zOU&XzOai=y{Z2c=+KZfI16*n?=z?>F}04^Vp<6H)BbE z{VxdzjMDhB&cJEGs|8Z1nFQeAN3Zv(~3l)=I3B14r&$A8mjl zUI>GIP3T@rAdl#+qx(1d_7R}ggTydpESx`f8v$0(d{{Q=giV|o0|&?x?Xiq%p?NmA zQ(RQt9?-hNv{GLC9u(}Kq3lsM%>vFO6648!9z%>^#|j*Wzl;pum~dZlGZ z?d+<5AaYt_&90$YoUxfbq6Ud>oIsbIUZ(VYBdxr^+L1Se-8`2`XK3}pwIeCOH@!nDHsWd?Hp5(cSagsuD~?$7PzNxV z;fDvm9yHDtZeXg^%T8BSDIYjUEbA^?$Y_yZXqOky*@(2XR(QQQo$#$L)VXFeL{%I9{OTFyODv7eF1qZ}=QaWnV}J)JUnn6@UBE(Z-y<6l!MQf;`qF zsEiEEcK(7`t8XYG)?9o^Z%fc2g!oEo*6p$#4r&%yT*p6oMQ*O-iZ|n4&vZbTnL1@P zh4LugGP!rl@dXut#yicC9r85ZAc>K=l0K+SpE^=}4J<>&@WUair5Mi>n_i@(Mw2m_ zpc3fE&iulMF5;je;7zR(EsaP~wwf3@&1-YBYW=iEZ*xwZLQN2|Q4fq|Z%-RWLN7MkppFn%i&`Z|R zb5fWWAdMhu`Lg3jWv4W^jH0Px0>$;Olhkx@C+2B|l63;#=Cz2BNJhoex!tVoR)s)j z7Ub8^{yudCuhXr=J_s-G!Xl^YS}K_DTrsrwSN0>kR(`kLO)Ua3RF zU#uy?U-gk2qN$IM6ime*xwXgFt{Iqef@9T*_ zEDK1l*xEwF-LLo5Rxx1(8N<*pi$Ron33sPS!6nD{@v5A3(fn(+kgpY=Gb?!Rb4`7> z5LLi8>XAJf8-A3QL*lV+|0z4ReH#8B$-b{| zKHQ7#|MY+PKmOnTt?_M6(&qm$ug#h4#sBHwr2qGSADb8HQT;!*dq}7LZ`}WBPtp8o z95QnrLOpgOw5{j%9%n_Qs9x?pwJJ;IU&f3w6`{js=LcGAcH&c{AsQNO+Yd<-eEJt8 zZQx0sDF}`(2wo-#;v@?PmS7hyR0ftMbha(J0#JV9Hqe8;NrL;SnRrRS09~Fax`O+$hb_3FXiAOE zMUEsitVH>v0pB%H&@306cqasgrAZ*fla(|A5G4=-aQTiQK^n!wXNM6GPiqhYp_L}U z;si%xe?d%9ryr=Y?#d%9`L0~#V*yr-RA}}YH;5j-=u6$TijXzjfp6gw7IR>;iPyI; z=A#K~bRucF+u$&!#7JiBK5Rt%I+21qA@$ujuu5GfD%8=6Y2F?C!}b=_%pc~kKSEGJ z6==rZHR-R8L|lh<@_E8rKAJCmv|HjAPu?YN`S8pKVd|GpP3+g=#Y)mYR>D?@@S;|3 zO1_pSR+G+HiP1XS^u+e}1Oww*!4!Zb*{LSW<7Kv+El*NdzIME~0PxIvDYS{@B13%H zeih}PU&2%n$4uhC$!aWTehF7WrUqbzJWStKXC+h@Yj##VL1dd+_IibFm=Dw^Y|U7| zE^&75*MFddvnO4wpd<}eDYHJk^bwrtb9vS01+dO)r7V5p`5Vy@p@u?#U0q-ak+Sik zBS`G_R=Kalc0$0uX|H1fc4e5Zc0Ma3boKq28NX_7YySAv^0VqFW?$~#TDQ(gz@b?g z{z<*Gy{D<*g8%RJ#gbPkKRcGPO38u>)AeWQFgkoZt_@wi$wXghf8zhx-|{1A>y-bz z7B5Ktp6v(9-?QyNS%tr6ODio`$Ffz5o9lw^L7|`iRzVp4<|Dkt_tnq)&2s(eZXfRkzs!L|Z+FdQLZf5S9XYu)Gqclriv9udWmnVB ziDj$8?(TWL0D>g*RkFNFTB+%uVYr=;8udnp?>ee8&LA06UxiF@dMhvqU3wEn(K#kAO`#5PJSxe|Xb1!uxXBBw0RSG6Ls6%#B;s*ZM@6H_?s_FGP4-n2jliw--7OrNvCLf z5l=87*4#Km`mz0zTy5g%_ip`07&~dUWN~4}a~97;*sPbI(8J%D-NcmifIGm&Yfp3| zVTj^nNH`AOprFOr^}OY42ptdz%-?PUb3xHG_@q}!kzq=oXq55xU^Ty8BUY|lAWNJpx6CZ zAP0afvlC50;Dl3>{`a4&G+R5?(>=2<|+(53}XaF}J25&ns0%kcXS>)58k&^pU`nmMpn=4&_ zl7D1sQKF}J0d#(jO1RQbPh8&~{}=_i}D0xSiV#oaAxEBz`z0&Runl^;BMEJ(fw`h-XwY=Kf{od-u#Q+67*MQR@HG z{XJxRr_KiM8vp%%+y*}$lNT@IGu{^o8^=Sv1ab8DH3jl4zi={`J|_C+c*8|i%)Woq~aXo_nZL>E#IW|f+$z~xWLDTt1;omaeAFh*YGxp5yU<^ zve*B0uY+2|uJr3>p8@*3SPbll<*OaqST5dy$X4Bd zZI_*fKM*e}Ho`%9{or{0^7VtmTwk9xl4l?QG@##~Tn4y7_z#zsCl~^0o}VenwfY-! zZ$K91mwbQ>9d-Qmzkl4rF9*j7ivIH%oT7{5&u3^LT*>{b&;k|zBOhRI91|tszd-nn zr3dWKH!tkKzxi2|l9;Fdzw#}#Rd)0M1Qvg^a(~X+IwOX|nRom1Nu|Pf@Vmu5RBheX z!QHSy*FXI(^lk!iU&{ICcg5olN&axlpWmV8J3sWdh5x|ICS2nAS)cjuwTKv7Y$@@$ zC8r;yoOseo2i8UY{5D9^hfCtrRnu5a4+j>2CC?vu|HxEj_n-Ov{JGrg+t85f zo%`qi#ecu=|JSwumzeu6YyU4Xhqrf3A+FIqz4_not-pD_zOBUf|8O7ArzVl0xHas5 z-?Nsx6O5C|zda)V+a6^a5ex;MKA-kK<>!Ccl*uFhI>Lt0U&BnycVM+i&@smJSSNml z?V7cvlu^#;?-t#Qh<`Z~TJf|cBNa@{{jYMJkNdA26T7M!zm`(}ha3ZM!{460{E8e* zd3<8+&)>lRe$Nu_;XQ*kkLrKFfA^dEAwvM&2;v}jaQ_!yDP5I}&GdiRhYScVSfvJs zJ!tBdd+GGp;HI*L}fc3H%L|8VP_Y2oLu6 zzEkf0`O&`>2&Vz8A1UnBp;D#f7PYxi)OX-B0^?zxMz(H>YP70E+=ezgUXj{$=N=@c zrT^d<$p`V=vJrm>U}UeRU#M80P^y@F`m8Tu%m6{WUyAB0@1&g%r!|bSbJk{_9Ogx` zBYiyOpY%KtPmRO6c$eDYb98aJJQyGiL}xL>^kD|;0|(W*f5TG(%*NjONfBxqEO{X4 z=@Mo;bD7|?X^mQ~KqVmGalz!e_KkNhWtTVt1vZxlwD!L~SAQouLAsHSzr|k_>8MrF zyd5JOf0!@Qv)h6dfpykr_CC>Ky)4*)!w#%(%!~KQFbm<2b}9ZxRJxDINRZN6i_T1t z*jmYdyXtKy;#8sk=P@|{@mXe)#i~nK`+vGhdKJZQbbM-vVJ4RQ=aI!LW33k?Ljp4? z+&_;j>VL}YDHiK4`5&&nSa}I!Pr`q{{txFB|CDhR^kpW4iwe=A{&9x!8JqJC6|6D1!d&Jm{S6Q@_g#%@eWJNJ2~F>dpV$UxJ_>MZ@;8VLnSWFD^d^hK_B7^Jh>@&;aqccuh>-01rA-O+-KcJ;jy z2$x#dO%=7O{*4jqpT{?tEY@Bk{Ns3sN~I7uR0~Rhu=!`mWXnf^xsW=9@{2C@TBvh) z(In`;HN*SxxAZ9&afGQkdZ=&Eb}tTby3arS^^K{%h|r^bdVdi9(dPf@>}j?Jq@m`U;#*63 zdqQj*f5$SXJ2C75=`SydNb}kubUKEUXmBk93evTNz&`RDTDVu`GcQrp*}rj`Z1VcV z75ndYkiLm68auv*kow`}?j!fpe;W6%bFl~wM=0MD3*Wa5LJU9C(03!)ng7Jg=M#4y z-Ix9?sAhdUE_`i7B&a@v{rR(9yl$uwF~jg!w)FW=d2E9b6OIP-SN;1LVN7nQ?tH#W z$3CdP0TrWKsaXU<&>#i139nIJv#EMMfc@XO%tphhm;A>$BqToQ%S`leIXd;W-$^l3JV5mqXXdQm{|x6K-52SQlh0F++yB-%9~3& z>7O|#)kL+bm}!a>QK=ey zfnxvs{9Bz^XTh<5|EeK@Y_E8({L}8t-?wn6%|4aV;_gwp5^RM?mCEb5r|A(aekE{5MDLt=qmuHE^=~qTivrQ=jC#ud5=r&XZHfGU zto@q95uN$}8q-2iaI^(qFO9!VP5p0nJTLa2n_-LNv?KrN41dDS;h%Na{`_Na-hAVh z330dS?QI2vfuAkaK!e*pc=Y!*oM*!E;Z^H+q_k&4VakE95-6d$_F0)a%Rn$lz=dK& zfP)|Al{!JiY(K_Ul{sdfrmY z3qMRw@}I6BG$p74oQsoRIjkHPtlf}zef|95;EHQId8sLLN#}}vgG?Vj#ydv>{)!V0 zOX(PfY=>4bw?=ltzAz@)OgtU_=E6?B&psY=0y(6~fA972RNdO(KiM&4njy`6)|t6Q z!QA7S#;QxWRCJ~NPl0mOeq%VgBjHdFe&uPg!FEPm?13IgZ)TIyMSzjO>v*3gTOT0# z$jL|GR4+&>c!6P|G%O(cbniOicZa4=kSUG-3C_=yr=_$Pb@;qCiHd}KT926ijQaM9 z%4Cm~l^O1j1j6U=k>A)xq7Rzf*#O%_VAC#g5N@@t5|XqCs&i~oF&Xu7Hm0BniKPkA zXpzugkdOZbdhqp$7i8NvWrX!ZNhEX<{A)u#t@)A&k*Ng(Ad=jl1KQH@^AC3axu;`V zYS6h~shwKL0qd@4LZoZo6u_ zfcPxQH32z!XifZ@TMF;o3ZsV+DFvOafBFW?Q_yKU&XxSEuL@2fF}7rT#3cB$HtyUtq&AKx*|Q{-h>$+8A(J;A=%@kyQ%0_>uvsc zH;?G3?n+N_c-w=WBZ0TifWP>uI61%K^zF0iH-!~n`13E@Krf~GeP&D!tlayU!<&Bp z3`p~*!oJ23Nj^Xm=qz~mBlOZI(LUMsvEW~Gbv@vNnr*_VGNBj;lwaQFMxC%V2%p6(YsOz)Dz>WzE79Ndj_(D#0aO-@DX z0c8omLB$^ii+`rs{x;cxD&{rKM0VeVFBEt=964QQg;!sT_L3+gUmHe$*Yf*B97oZmGTAvQ1>7q;UQ02V+!@g)Np*~_^AiyCqV&=sP`ml=G ztAw)Y5@GKm)H zi8fKghBs70wWeY^n*FYchEP!DJ9AJ1wiF*xMj29{}tD5jdHnPk{%4*_3w4;jlGLMZt=89GFmf(x)vD3={kP8@;TjP*odcU*2WC6y5FrG2PJGC8nNS=40qpRv2sh^($Mo#Fuy^ z-wWX4|G?Zyt>?cR`v>N!rhmRZ`A^VgW&cLb{Qv3tzhcb)z?yUBK-Tf*C*G0%#nWCM zq%#uqB6R0}y8c&g|DW-u_dny!ssD*X|74i{uh*~t-9P?h(Erv&g#V3;aQ3>vPcxdI z`#*E>KWzNJKM8sP`2Tta^zVM6{O|naKP?$U35xyWS?&zy7MuRq;vdJ{wCqqnt@oI= zk(rIcK=Jrc_;>k;9y?H)|+o5%>i8Mmx3Wwo^UoCvmt!J-!8G-&w49he(*4?SR(Nvfsvg; ztI%EyOJD-CelT3jKF{=V&MNnWkJ$g$n#t79TZqf$Y+ON|8!UvEK*K+MZ z*b;tpiN4}SRT$|ky&`8K&W>QQx8Z(8MoR$hWVWOH@&-{ zBTRCwU8&#F?nl2ED_+#cJ2-pwg%fbTz~R+5u&=0T6(F73w;_I?J^VfUX#So(y`qHw z{S)@<7Vz(U2lhGcvbW~=_8cSRXJc>&7mHXvk;j-ADh{;6k=BHJsD}}aDt_C?h#Oeh zkqy`m@>`?3bYa~?k_}zN2beWq&eQZBf7E>^?X^ECyKOH@ZaWJbKpVIR$L|Ql)Fkb7 zzS5e>VZK83QubS)&yMA`)8XidYn{(7AvR8QT-KCzS=J<~gSzh5-mdfSvW#eZk9~Pd zr|dN|A9Sq>uun9HzN>W}!0h=XGlGrgb%kwOBVmAz3VEr$$ zF315!4kc;KtfRO%ALGxma{QZ@!CWs`t%G4-{lGY?2+;T%LDrNs@E9AkHhLv*MdTxsCDax zxCfV;*db9(d_J;Pq^e;UU#b(h(Jb4iZ1_L@|LO0+%jW-+y+3Pq6jj)iIVP;|qXgWa} zD5_gZtgcO{rw|sXE*II=VRixdMIAI<$}^&n~Zw2Vgk-b^`Nowa&u@f@6#z-NRQ@fXVja1 zbZ6&Bhm-qsyFG7pKe%&DuyX_PS>D zGFe0%F3J#EqlG46ZgCi0hFQT;kvdG`WKk@b>k}A^3kG%Int5EF#~Xg&+VG&K%aJ;B zf_u=%*HLs1_vTWUX`zL7Z1W4#UkFIcrstxb6X%#s$D?vSCnw!{-9(U=jY~bT%OAfKNI~0Vs5##ZR;z$&#Ee&LOt%46Iouu zcfmihGsc9e)hE=A=VG>(ln7J`93}G`2Q!4nUHDF}kRQR<&r@YcIL}M__x-lpN z@)0;69hjz6POSyWs)o@ffXq;wdCHA_BacH)+cV#p@?@MHPw8bFnJ1$k z$ayuBVtQOwqtw-NtsoIgT-DeS1(7iTb2rT=Fpi$S+*k>*TvO3gF+Hm=CI$LX_O#Po zX=|F7;i$3pRA>uSZ&d6On}_-(jNWc8({4`}6;0ZGb`qllj-EXgG=7pW*@R|?os0Z> z3f)(zKI!Y-gQ)H7M28K6%@nJ3i?~5W2D*M(m(=ky#(J%7xIor&w+&4#M)8iIVll~=yry-O!Bg5Wm4H?*bqd*#ZYvBn zmU0Jg!>X`$hO~H=qov)q*X2?((39q3OG7e-*izor9Zs1x5-NH6wJ>UhJoItAT5RE~ z2hAE=36~1-7DhaDXnNF;6yrdOA(5`i9X+*79N)+zRSc#^c4YXZ?lT!+Ty18uo-33q z%;x=Y-tex>M;RDeNGUkUdRnSc=OjM9qWB0QVn?&xMD8LMnz3nOLQCg@m9^Zc1b1zk_KOVEM`a|Ab2h-NaA#8yia$6yW>*8Mpda|V9W?sBezCuzhVo0p;^B7H6z3oVK zAwV=!=?KSC65%S0Bevva9g4`orb3tt^A)dkeUQWaS(rCF>zjiZIWWjbj%**CfXC3{ zmKSuHL-i5I^+=n!nNB7=zq!SzHrPrW=5afrBy{k+u+GGCYhjGvN}I>#u1*>F74x(g zXMX)sY`zUo<%kw#f3y}7HE7CwrJ?6M&3hScw8B8gd4fq^ah7o1DB^^j324Q&Tt`Wp zeaZYOG_i-O7z_Kn-nE?ajv%z6YXEC%hWp+&#{Q(%^_?A@IN~;JB;B;ef~^)r8bj;p z8S5cCM>S-na_?G;I0rN&pii#Nn#1rcJJlh}SD9I2lTcY0pK|iJ3{nP_iSzQ%q#knIj^OAE7hou5`!`!eUxGg zRCMsQbi#6)^AnQVY{!gMXdR`JBp?j44K%W=%}SD}YgkG&@q|{g@g%uaTumo-Ybm55 zTvk3a!>O?)Sl{9;2w1t)^cU2-MUftwt~;-#{lvP{Ar!ZT4dOOGl9~kk{7D%D4E%N~ z-8n=@uZ(-PenNzN#)X%zz$$frUHG_81$TRFiY2 zzGo|kn&wDh3L2saHc~=^*sLbo4MOopI?0-3W1+wiJ=U})IlrpX(6XBD!h^E9eEZz@ z5^460E6vr&A(G5WMZ+t1u4>J_;akbtwv}si8z89M-?f38hAAM!6-MpBmx`&6x2XkF5wecOCRwM;?m8 z0*Qqt$aan}T8CK|cdHy6KPm2GrCQ01yqLCl4Lu_8JnKbC%kt%zTP%Od68W4rDGqD87d9_UT=da;Hq34z z;0uI5(WBfsP<1+$eqZ@WdbjBN

2>d2|&jic~DJ3hO+thN5i;rF08%4KL~9`#Rde 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

KD@y4LZc3?-R|ZepCVkAB`V~K4F7B_$rV> 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 DQnNwn literal 1103036 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%0Dg8~@c?c=W!3 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%0AnJZoKqP`^F@hY3GzugS7zQ| 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

H{^|{~8m+HJ&Tw`Ua1((xRK33!mh>MkjEq~w5 zSYQ3j@x4{@+MCZ%JxZgp1XU)b!n-C#!iB&2e4S)@#i5(Nao5~>cb>*`_%c>sM4a*v z<*vg@`I#_dg{~-HzK_?im0*^+PU^uFj7U`jwcJ{g%`1&DX80fU1*_B_DmR+5%Br)v z)8IOtz@{kd72m1xDHn`;AsRXo&VUc7fG!ymtkUC{alhU1UPe~VASsww;?M_Ukrl=ka2xKQ*Bnr1Zwu=9ew zQ*@(o?+wgqr_j0LvFR=(re1Hp(2?GH-Ik*woKQ8+*0ZNNvrICWFxHWrRLTZ%_CckM zE4h*?4&I=S6%H>Q&jhx&78j;Tg0I#_?9Sds1#y&%s=i}ifJiH;Qo%3V9}y%P93bPi z-VpgXslS^Y;NYYswKm_C6cAfd0}TWXX+@PmR_YSvfbQsKj=nm`NZLDb+(Q5kO!z1`A}rZ}3a7 ztiN2Vu({3Pqq7Oj0CvVM);1aktyS0^)(6<$bjQG-UxVUGf+s8S(aqw@Gd{cPn+rnv5v->+NuN9QceraJTVfCn zThzKPvBeJ#H!RFxjqkOU#zQL|r^i!B4Q9JSDdsSQw^Hlfmv7MuufpIPX7f`g7Ek=F zrR#(0x-Jw`bW4ku)+up|iy0QC!5d|Mnc-x_RgL$UQe%6(={6NQA$L+cP+~A=P|<5S zTbtQj!BL>dEzO+F^)S+e5+RuJXK{W-sVj1u74P3R`76~mfi>7C(dfdkq&N!{gj&?L z1^Csqm9Pl&U7?3fwGz@E6?9}`9~=Q^z8DT845ZDX3)tF3atPqsCSM7ea@F>oHy8qf zcyBkX?J_JyZr~EkdaayyJ_Whbsg&+qZhhUl1u3E53qtwTPM;M=tLrDWN4cR09TOsh zaqkK7Y+bO?4KE|l0UYcxc44w>jk5!2Zt6L@0ml+l1SE5@01X$&TUTFp<7Sn0+eFO* zx=DJmNqn2czx~CDCbC`PLyGeEyO^%2HZPStuclzU$%M{LTPu$R4l8c6Z;iwr zjI@@bsJ)5SEfE@LXY&zPhn1B*Kgp4c{076$=M`s&WG$8eAU z2dfYONz28(R7id>z|T=|zL?I$i@__K-@pO)*qb7e^}%4dscryEB>!R-Q_>1m@W;b+ zCWMP}YYAjpT=o=+41Ktm5RSZp;=~6Y*=S&b6~uMG1-YGhX*W^>!H9GiPqyr!Vrx$n z5X!Mrt_0ZxK3bVVb9UYgr0HY{IHkI)kL)gZq zu6v6)bo^!lG5MrNgUl5_Mf;l*{);CqIlUk&$3PH)9mG_3*S)5Dga-mU+2TCu; zC3B9X+<3r@w-^_CDX)*3kHYPlPO0z=%Qs@L5OLX&3ax{zj^{!Li8TlHYoJRR*x+?c zjgz=39IGDsN~CU8EWoCc>OZ{Y5*C@ino*Ur)*nl_75tRMAFPD|febNxeAA#g&P+SZ zbxB7b+^jp;5-Q}V`x2$tFN7s(>rHdf01jFQnHi!$%ay@+|8DcP&Bfh}YJ5MQ8{xqc z#%$E4)!(Fr%ZCj|>XapDYN~Q%9SX9_CJF&L0ikZ43ud z`ceerG77J6z4|BR#M(2KBTy(ZFtjknjzV@8b6hCk^fT+$l87)wS2iX{B4&`L<3V{W z&@$!tD4nu2yj6%ox}kLLF%zqzb`%70bD1LLJ6&Dkv7M}`D;JV|y1=ti4)Rv4gd2-7 zzvui*SD9l&DBeld1dG{41_EKuLEDU-VrJm$MdeltASld~@~6q*p;LMALJcQnWzOQ~ zr7Dbh7@PRgPVf?V4kd~p-trn$Mod5j96+7M@*!0C29@Y6MT@SLx@e{iRMNUw$|b7~ z6toL-P`IV7Ett;M?>>;HK?X0dGOG{JD9(oqj7#qb<_OJU2t1)Aw?R_t7GOGguM9E~ zFa_q3GpT)@Ns$s%Wc_&rcCQ!10Jn@(QnY9LxTGCgQ`tbJsQBpi4%O3YdDJ&3inH@k zuQ!D8d%$m7l~4K?`Fuaf zGq1TDYUvT`swT;UDreA2-2}2p9cK@S31ok?r*_^TO}Jd~k1b`63}sml&I?Im9ldUz zz<7=9qYS?KiZ$1-zB0Ni1#P0btIH1}Fdbtj))T4#*S99hy9#1lGs4t}%cT^HK{=Io z+J|isw-%X4O8V${WGtrM*6mBFQqpur*%iRXN?bLb3vwwZmx8i=VYlfL)j5wGw0^6S zA9<~uNhOPfHBu@#t)T)a&q0iD9 zhqLhiXYWg!+c=W6zt6Ae<;0Ev83YONhAqX?5^Xa^SD3Or`$`I+0W`=SfoKdG5XF)G z-`~osDyzF12PMn)thqZD33S()m6?^tlLJ&YNTKtxc;ku6%!FG)Hjv7%zNG*p3~O_K z09$GG^Ac2t4Y_vlBS3~{@-f#9C^BP2g>p$m6=737F0TTh@pw%_pK&kLK`+Yspn>L; zW@d;9E~K&7sS$;9Bky?LR5Ru$Jk@Z`c8LQPQU>d{pb-~W#`o;G?7jyTOW}f(yv#-P zTo!#XvLKk=sAd;oruasVP2g0j z0$K!B(6@dRglxs8Q_7_p?OKA zy^cf;zor;|P*<$mi}!kB)%8-4trI6h~wk})6@JpNm-k? zZAGn(E7kH=3H7Cdmu}3_yIdR_q1Bp5auu4fKqOO81f=TWu3%!lT{dtaxXd0RNUF;j z^ZB=EeHL25yUk9sJeMeP!2?tL0;RJ@N$5B9s)Sg8wo<-~oL6goQW_&#O9K_;Nm1b6vmmZ8SWH_5(;b`lmhF*_+7?rCWIRguna)v=U!D9B?Xbqk13z|n)nF>IXHv4<`Wt^ zH~N|bG1!*f@Qk~hbxF&P?nJd`u*zG)ttbqdsy(AJ=Q>mnqq6j+jZ?c`f?$QRQbd%h z+JVH6IOqY2>+y^>W;D5iEL)@VnzU<^fWc-hkwe~=T^Ys>rM%SAS_nEu7=bi&a~D8K zz?sTm@dX8g2azX(S%QU52|K}j1Ho4nDbRe)xK3gX4FE6r2=I%Etpd-+f4*&Fd2Y*` z$w=WfiO})l&DliR9(DN0C*Di>_ zubyq#SjK<~2W<@#Gfr^tfe(mn836z4OwL=-5*PEPTjwz5dFMW}w z`p>vvc6bPba)W-?Asl%=)o8jfSH6D_ke;k~^p*^dK7|$In9M-4sQ~jS_KCO$EDrZ( zq$F7I-3+sxfjpo|xj4{BGe=46!ig@pl8lcC4K@qYi$`%(B!ec%bq)Yi!$@+L&Dm%~ zcRkki5mElB0&0t3~~Fsw%hhFIgcQF{e1s>Gu}o;C#cf9{1kaJz&84PF39 zSfm;;i06xc+HpIzPjRYEBpUHFE7Eioka7Dl$%$KTCbxT5kRqj!eSKxvJ;7LV=Tq$Huzehcs z%uS%on$`}vQ4rO)b|t$QnOk%Ge64j62%x|9mX+L28d-mit4Dt0l}52#S-1t zrNG;mAnX83EHGM7Y(@q2rJm*2p$7^fu%f}-0VZDQ zgjjwKSqeRMbZTPk1I%y)OJnKALquh~sHo#}BoTXt5U+a;E?#1kd#*UeZXB})C^?$Z zPZau7MR*GcsncS#MikzN6oH$+#e`80#%R)@(frJA7|#C8U@1MZRR-|}zpCjW|#Gqz-!y{)0@R%`~+ z_tyORx%}?CwciCdsz^d{uey7u_Qgb3IJLqaEp3|?aoet%x9pBdm}fp_`tFdSdx^7y z#CX6*3x?kOn1w35%k*Ic)5`y=IJp|P1_~Ar4TBNhZ&-?QBE8-MI4EK>v*bEeG%1>F z#i3(Aos!|9(^TXwN}82rSy7TT5U2zZ>6Xei)A>^>_r_R`WKkc8!;}LDg(XAw_+U!^=lW8|+>Q7YL`Z3{$L5r-uZ#EHMt+aZv^z=FLI)>C4+G12Wwt_lAxS zqdf0p5t=){uXk`{w71PS!9Krsy0Hm-IX#C#LLQbL1#i?Kc^yow{Dza{R>FV zvP?bAkNaz{3zC+#|M$AT{+ zbH%5l+LM;K3YZoxw{aaiC$=tj2oN?qd>pi`Vh2aUI5x9HkoR71y~t+ZsJ7m+*IQv{ z8k*{*ikZzqz}w!?+*{(Y;dFypmgn0XY=B@g7!EPQbZb=9XX)i7rRbPRNm2^IOq=G- z0v3urLQvObbu|{AppAC&v%_O9mJH``G4E&Z&4%b@e$r}$GxW?of}@5II2DaHu4B{k zlU5Tq-pU|74ob9lN%FT*dTo@))cOQvRyG$1auN(s6b6mi6sj6C8*6ZYnoQAT7^{LI zGFoq$c}jYTo8^5+UQD-_+ABydx-;6b;4!x_k2R)x2)@|5~bP}ytzy@ z%i+n>^~I>#s9W8lL;fp^Rhq5FA`J9N1Xd}ml*L_U2oWGpW%FnZQvkff0?=yzBV1+F zPuenS#N>EEIt;?}_u&GL-bJhiP=Nq-6B`+3*iSmvo02om3--=1AwsB1RtHNQRS6&^ zIP_Wx10@Lr1&SGjqjoFcxz1Z!_=8-)MHt1mrF3_N~* zb`e3@yzVgTqMD#WEtnr8xU%8c*=3JvP~^ohKM3?0dbtrybGZct^je{v1whxKWHdIM zD*)XtZsf+BVxT z9_bdwX@3^aQi&OJz?Vw%^>8fA*c+mCnUkC*cw=~pfJLq`SPr~=*r1wdI)-vIpitGw z13O#{(28OCMO~@eI3$$qed&{X|xkfi%jI9O~*1@&8~y0@PAg@Y!5MrN?7{ zy5WQUuuK)faHjJKQPczhR_&eF23Hfcz@Y+JM}meqKx72lw&T-u@*&XLlVbL|sDep& zLlHsV#p~Eh0Mb(-tOrsDjOsg^Fg|1?DQQ9-w)d$PahevOr19huY;Qm?ikSLUg~i2e%v~oM(A&pj^_-KKQnjxcdt` z%*uX2Xigz8r}z?Xr6B$p9m!R#sz?M~Qi(p{bLF%X@;7daU1msFSjZ}E#;R;%r-Pv~ z9nQZ&9std~sR!@I<_#kV$g;^nX}E&8+5|v{g^UfY4ZzCs6Q4C2l8RSv0FGR=m{43K z9(2US$W@fZ4kmX2Eum|VYwAIiAn*^ea}ZKtdH>-YLj_*?Ggsj#mHz9DGikk|0c5S#w=#~oGg|_H1BKHauDKeJ%`?@5H-RQfp zFhy!km<~9DZjx~@!WnLfuX+`G-+NQ@ft@>@iYM!SY78qSYJ1c@_Bze;%H*lL3Uh?? zbnir;WKydoH2Tnb?ilo}F-6>NK7gcx2(nPgT*1+SwmU#;vB<``^XHPnb)$fL(6OG< zlVBVo|BSjFLCITx&ZQhO@50})PL@*ghy;!0mbl=2k>{lEbSWQ?AL*QE5?ouJ@rHmd z$eQs<2r-oePGE|x#w%^vW%pOR$d(Dg3r=o%)mw8!y*C}QBdm~|0d5>(jgEyn#_T>* z99r3PH)hr9-EYp%o;<#&#Q%6vxZwGEpZI44{X>RkFUn}GZln))VQInT;w;=gM!-tX$8sq)$SS% z7@_dYD@3&;6}^$|(!GLj%glYB2@DYm2n&Y7H=>(_UHh54KN=QkcW)M_m~#n9i@Db= zsKW?SWwzGb#*OT4df!W&Do_c~^Qx_hjHQ-;I<8h$^y z%?gDPnI7_bg;1hFHcX0>F=v7i1LZ1LKGOsksE$v8 znuToUmTbrbObAGtOe4wHLKbdDeuLp7Hg`I;iF}H-SZhX2+Ur-5q?(p&i+^glz5%12 z1}0f6LCt7}(XjS~La77z`K1IzQ(Xa*ggrf~{-QBn1;kU#K?*-Qy(k?y?q~0umIkD!AIQP&@n_!!GJOk8-pl=3?`XV? zdQFJA7nqJ(y@%Z4y#&%EoJpiFwYrTewM6hZyp#?B87Kb=mV6|-F?@YYo(b6;HXpMS z1^wXDERPA!j%vP18FJ6H>tV*^R7VrR5zLVUhQ~`o;Xuo4R@fX}uW*HUzHGc{={#Tw zCyo{4P#?z7H=T2Y`8=F;scq{V+ljU*?&DSKjmw?nd!Tb$GO>~Y+SO&HgOFHDVtBlv z?vQ!L>TDQYEt$P@q|eR{DJ$RwQL!9F3n(U$Kv@O!R-Xg?_1IYA08FEjdz);_T2fu(ls8{#uE;GH=~c_+Fczb|X?;-9i5;h^9e zn%TjzWJI+GT9M0fpkRc8VZVuOs|z>}66)l2IVsGYk_MOD%e`{}qKY6!h~-S2+qNuU z^z)^1Y~;(CBUUWBW%J7}mm)UAEeR_Vz&Wf5i@_7HNXPT&7HSw^2JNL`c#D2L+-sl= z9PTqK>NsZ(ykJ8as_Y&^Q#=Zfty%5d84t9{4?wxbk%jwE0RpfoIR?z8bBQV%!qh4X z=FP7p3?GMkDM9G{B-a%KnUm|OKSO16Xd_F#3WNw%Le=63F4mQo7&eUNmBQ|$bID7^ z_gy`3I{@ui*F^z=JM{V@4kz^;oUKK;m(B%?5ilklECBZY3X^z!2k@Q6KYgf z^Z7LI?Cd~*LX(3CNV4v@L%(CB5P4p9#EM6LtQ{thuK#gZ{|giyddZp&%6h!wXb<$9 zzce#p)LP+jz-f!5BmO=e4g{J9gkP7SPYUW4(%p471ZOX_1(=8m#?ONu)J_ zY?E1TbS&!Yok+ugss~GocqjUXKf2&g)YG7AJDZCg(i>}g+B{2`tBG0_h;- z*AN8^v}`>?ic!Qgng0MQ*&mXJgipXEqht2j8OAbh@QF|C?x#{axODUS=hx`reXMQ^ zn+5=%*J*BH=fdYpcBJQ!LvwT^cu;D+WfCD6`0(cu`)$Sa|CN(gB@>@mcS%qoT_yry zJ0P%QHogVY12k6*JED`c$ejg}t^~mjI8{5h=;uf-1ob$JZbCc|F>jgr*^Ze8!p$lKD0a&TV_i zyo(_!UdP_}=t=+{Cye>51HyAA1&uM-T2XmHko}Z+Ag6gkSsiHqMJv76Z2>4QowL~z zOmnQ+6uSu7Dkw%H1FRQZf94yKN(htlm$|SJ=u;g~L36Sl65$Kx41;o@Kk;F>L|t5bQB1JAfiV)?sDstG*nAG;!gnfvpXa?Kx^H7$V*?r{RR*|;< zq#j@?2S4OW;wY)5tjn;cOAPqI`0L4%Ve`4xK%Jl?fpnEc5y?RT~Ytk0pCmKz!2cLN%abFKNzcE;5&fr_2;g3#`Saj9kWf zj^fQ5I+djv)y~zHj||7GXtA6%HIo!gO(jW6qz>6_b4tgfAT$cIFq_4l zvP%jrvK7z?_Tn|4-HLfOd=~R5mVv<{BM^;6Q5S#~)jem0sk`JDD{w)atUD}oEXKe@ z%wHFRsqDD1dX6aL%5(oY9rl03+xvP>vBK_otz3aDa!MOC7;@?(aZ)*u*IN*~@p_AI zU*MAH=?2mfCeXuO0jxs3WtVV5_x;29wBV<(aD^LrF`dKA7BgfXM6XICY0k4QMzqxG zHdCnR|I&?k-ZJ|khSAjI&oz8!@@T_vxWb3#?-W@}y!Qg8LhpOF#y5%!w?dZ*TIj0+ z!zw7r?`1mqR}=8j9*2$zMjBq9F&A7sV+(~N}Sgj5$pzFj<>LI*^LJSJL?LUMa z{hk!6-_HAZXO^(+G%x2Be>}y7E_I(Qq#(Tan?w}+c_KfPX#ewIeqIr(!Vm(Q@F$Hz z2-$@`TM&X|9oYUm(bFss*@eJDQ*p-tYG1|{1c#(qSS@Y+lp?iobQp*f2F9%G-+Wtv z`jRqY3!(U1avhJpiopinp2Ab!s~;Z+@w?L=0!Q)_@hh* zQeWt`msQ4hVGU~DVw8uZ68Rp$ZWd-=bi_g>`|i_=Z@U*~&mNzB-?e}or;i_he|B-< zo(|Ul3^;AoE2YtCKQqAA;N(1~vYJ4n?C34}Y76ov8 z8>h8}*mr}ofg$M-<5E&V+eTkR63>Q^LFEN$Q_|CWs3C&BG54Hu-*_^Dvlyk0JmeLI zIN>wIn|18{Ih8iStU$%((c2T>a^=2|f1nn>jiYapWE&nsC#dAL)+@?6=nCy#;#p7< zp`#~XOuLB^4#bgdGmS$)najByQ22uK2B$mtWXU@W(a;-uMAYT zK_Ekr^41H=$kno(`ND{Ea0L1QVmDSuByRfN8?*wiw{VTLuawskz1>_LIZ1dCzyp^r zY=C}09;5h0gV-&*4B5#>b2P6q(z_*SYF{G(PiN_MJWI#74i0{vb%1^c7_wzH$Skb+ z+Jbx9#mH_TU&_|;fdoEP8baz@8j5lYsPv-AEh9Gvj|8FzrJSzHFw7+Sb4+}tc17^x zaB68YX-1Dv@fp$;-h27Bbw+Sb-VYM?I#M%gRG3-YjK0Zc-qxAh)+kPAW3(G1nWF18 zL0okByF7WQXqwE@cr0tcS-a+tEzlJ|)>+Ac4i}RZ9dNrAmfG2m**Hqef)J-Eq%~h9 zBZU&@m=(ZZ!HGtEa6>BN+qz^F?|k#((asCYb;?R7@V9g_gsg7nA)iUvD>3O`-59MZ zP%zL_!5Cd;o}W|ylPfAj!;?IfCHm9+{JS{gyB#!$+R1anAn)~1r6}R!vehFW;qk+5jZ^$SA&)$wVJ#>G(Tk@ax z-VN@(`WkBK!M_OmZT}j#;u3p4m+<=BM&uVzmp>lVt_W(P?$D?Y>P`_Hrxa8OG00dH z7tUs2j94s0ZV3Ya3=R-NDkPLO*R79KjCkZwG6*4QVE~9OE!<7wk*i7>nJy4VE1~e^ z!02*<{=BBJJs8d-!FfhLW*E-`qCVyTFf`4R#V`YuNf-(S^KHvcS6BfwI8?9axRGPn zr$V>zDW8=0=71c0iOC+WOO&33HEfvQEK=44_{VUyxK(Hieh`=aJvPQzj0e_w(urEl z(hJb}dk$YNd<7MP62GxS)mS^U5B&3WvtO%!X+yCcLUX%;A=LKo{pvQ#Q`ytqAAIaw z_Ks9*hkk3ngog#I-d=0f^+@-sMta}8v(`v;Yx`9r4G!88-q*!po4J@h3QQ(CZN}|d zy)d$1KOT|0PcOi11ch>2q9sysSnsTeWd!ODBG=2o>VS%$H7|+r*PK7Za8yT{>sfha zGALW%#^sgu-WwI6ieH!k3SxF$MM^;M7uS^}=MYNwK%p0^_MOd!f`@PB>WY70bhDj_ z>lmLmDg(teo271Xfq7u6TnxvY9`|8GK80;@A7kxSWUx2My_q$DwI{<+uOo=@upQQ1 zVuU!iO_z1Hy3qX4eu%f-e;SquQFJ#~w}xhK?BpmyzITX8*uA~OUNicd5aSg2abr-v z31UycJ_ila?p<&qm~JHV+j>5fQv{Qjz(eAG#F*TlI%L2nMI%Fi6Ac$0p-LA3HcfC zI1qeDMTSYkt(Z(OxR8%kP_W$q+1;Cq=dPpYe}mdN>g3QViaK0z1eQ)G-ty}!mr)9^ z@*2#)Zm#f1KFt{xF~DDuSv8h?+;$(g>Eq~)YyXwyIYvs^pF{imp8FNqb@>Tcwm06f z_9ksax0OxhpnjlU?vuyW;mF)u0+3=7(U4m(ic7 zR^l*7za6aQep^;JuMPKMJupo8m<;3cS20|zq|6e3rlJ5jF&_-mrPJb9*zt5t`zGo! zoQFfEb0CAF4;?sKuG>l`SRY&m`9dhsjPmG8yhk$e82TKE1j6znTR>+3rMq3PHLS4o zJ_gfEoh-l3xj=&1{2CoB(P6q{Godb*sI>I}7wG)L1smUb5SFxV2vnOU z99#{On^Ko~C*4-7%olrjQ*`ak(G{XK32Ghm*zvGiXdbT$QkdQnxPG-ody0n~hUZeN zad?^{?9BB0ZT0>*?qgnf;XQOK*r}PJVfrInWGWZn9%XlG(djx>E7A6ZtHolbFI!E@ zY(gQU1P?7O%w{o_W1v&tI7Yvat>y?ph@fGSa>1+QqY36wP4+NWHZsuCCWw0FL1to) z^(Il=>#fTy^HLe@`}WG)C7K^#$#IGZRP?=#%Lp9ZVbfz(P)KKEXka7Yu^OYzOw1rF z(mzztf>}Fr^^;UFmnj#|23LrE3jnXflnA44D+1pVi=cuP_@-YkHJwFWuyqunLCus5 zr{OFzWOxHx3kcqynF%(d$IJXdSR4}+tOb`v7>wie8gq*$SlSO%cwUC`8l#&G?3*|V zs)xK78ZkB8d6&!u4%@05W#WR9?1*&`N{@z^1?Nsb8wLJ!l+YnX>Ep&d@p zyT+>ax7mWklNrR)$>EY>)hgT2ECF5?EvDi;wT)rkiiBuSp`J5&0Tm)MfGP9x_7k&O zh5(guD5`yDb_tUJNgy~%z7}sj*PBOOmrE@-Y;oXARlvqm0Ri!1OsgH^xl)>GuwOP4urDem`G=(Lh zij=ct8wrWPyUF3oH3?_8c9JDQWbVdZppi8LBUZ~|ue~BlDU6&VFI1+NfAPSYF5t(b zVRPw5b0IicqBBDhw>Xi40quhwKa?%Lt>JhtpjfsVaQGehAscb0@YFed+Tmska0h|O zbfR6jA-RfN@?$tgmz>a0wLX+gU-@d9cSlLm#Sn=Od%pZ96avp~;VViRulUmFfhlE| zb|ID7@W<kL3f zo@_GOHJ%OPm8|hvAP8*jw}LkNPT5LdMXlpD)WI3Iz#FkfukmDXmCd>cT+qET`v=7L zHT?A*{ZY}4uFtl*m+BfjtKT(m%)1q&VlIxlcmP;spZ)N(`}ec|?Y{iq7iSl5$|u1b z#bnr>WNVz$s+Tu;@fXeDw*G>@H}IdW!;`H}^x-e`+?I9OnYE`(aP#e}zeqbD{^AC* zHHohi^X=AG#4rCv%#tXCINC$AZ~xkA=$B9}HgE0i9qif9e`zf5!D|%vr=ro5z2mz! zN(CH=`d!7va6kLU$47S_yk&4y?JC^E!Evi~*B;ENgR|F0PvEjn4v*XWcbty%NlahMO822@<=wN@heP<#I#gJEZbJDtVH%n3z zDtbFSIM}^wZxC4AwPanrIh+7370-rYO8bMx2nZC|_R zE4payA0FI!<2gdBqUm;f@6LP+P+_g=SJnQ>(czsJ--R8423pa>{@&r;58qX6^x||_ z)%3~1ofn7idKE1n9JcS=GO0uamsrvK;lbgZo41;HMcYS*M|Wo2a0|h^ggLW@ZC}P! zhwAv`@a~67bux^XbaJwPcbQG2?~aqvysGu%<2xT(8upUb_jV6<@2m~@VKP-6oE+Zy z;6j~hj-tS;S49`Clwod!|yBjdKuZmWRqT&tTRCUxk zQOY;}_C}uFn#S`h=wjz8yH0i{=^)!Syz@HSnI+RK-y!P~o0jtJ(e}ad@wUQp*&Zh2 z6pTOH`R!z|Gs)7~_H>s06Kv)?Vw$2~cJkR^hoj_nf;hlHL4k^bBK z`ZB|B<@Lop9h(4dN^KzqWDiaU@- zjnyv6Sp)`hG>sM((M}Jn^;D=3_{@+ZrOh~cWI~n@3w{QIk>ADX7&B@Vf@wb+-rAWi zpN)%poRIn6_Xcn+>eIYPb33H+(MjY9^6LVSNDavbEK2YZiHD7 zlzK(h9$QDrZT@wZV@j8KOa(j$tGh?OFdO88dpD=a0DaITsNc{`5K+c%Z;T+{w;1-X zCM2FJJ&C^pSbRQ(@JlSUn*!WBc{k6{DQ_#rEzGjwL_-)H9eL?7JTXhg@tjTn6io*4 zQbp7b8~tHl*1^2`qE*@WT%pgpb4h+R+p5)H8z?V+pg446lEhsg5yRTGY_~EqH$B~ULJgw+{hDH>axZj zCL_7j6yYf>K-aSK(G3Jvvvvl-6jM6v(gPNVGeg4XcihwHOGXGNg6xD>3^Rj5qVbrX zHayKgfPYVJqsJVvXh@0t%J;gqzEb`B}n4 zC_28kx2fL}oR!y209TkIeDp)Fw?OZMdfqgsE+5~nIi^#aSA)`(W7IMJ0AYwr-J6kn z$IiuWsdhEd$iwFfahXE#92z$Uxz5Irs;KM@HYNxQ+~X{@^dCcb)$-*LjvxK|?T=5R z+8ncyPk(%B$bq;$yIXH@L)diR#Y*Wp#64lyB4jCJ0dd?8PN=pa9BR=qI(62JYA;Ge zVzHZ{gAR3>qbLP%9qusmwdLW)UQnLVUg%;JF~k8xcOevcSqrkLkS=8|N(;j@eI1fjefVB^ zSjn&S6>7{68}1RgW~fI;6LLjM4wQ0b2V67Sjs340re6_<@1QRmTY_vT?YhRtnyMP% z1A4`Mr1F7wpxPg3E-=)X*V{#>7sns)zz4?*oA3w|T_DB+BGC(~IBT+@xVLh4X2-^; zaIC7Yx-*#hTADZq>?mE$51^p-MNNaID}kvu%VaDpBxL-3W5W|OS!v11)T>?SAW&H7 zbjb=A+Tc7u#1&aVoZ*NGf49qrK%A?MGVv(?rW^g)H5P%6!~+6~gUW<8d-BelRk*oi z6H+aKYr&1hbhF78%;QVUAC1f}RI6qPm%bh)wZGbZ)3fmEjP!0s(u|&Epk}5`sP9#; zWDX&7jy2L`mtAP?O&#^e8LERiHq7X4If?}_2;j0Ht9G25VbPn>PrO_-q=<)vSM&Kz z7A+=tIicNy>syjXb1yaK%1D!h627m1;l-FM4Mairg1(Vz2w6W&5!-%|n&%AtHKDK= z1ZDM*zXFlea4z*;__fxNYXp!6ojlW?fD1P=6zx}*BCqwG2Ku{y|RXg?7MPE5Ce8RfuR+PT7V^^O&~Oc^r(L-+5p6ypvl zs&f`c&ubG9;?r9`zCb))e-ObpmYPZ25wt)lQEcLYg3pQBAd7NhdMgxFf)F$|MDftS zYDHf}U%iA_DLdtdozAm|(F1;h!$nj~8MQz;05#Kz{?0Z67GWdCuDf<&YIx-S=Ek7k z+i`WkKt;-?1LPh>6m1q*@Q7i4W>Z}YQU=Pb?{z8Kp~hn#r4vJxwR$toyYJAVSgY5= zxwLqz%_;hkVt3&JL=XTJ5+GW&`y69x%?`#9UYYhQF=!HQ$W`!{^!PMSxRX)(4u>F}i{pqOCE-#YAVM2|FQHs&L zW+WBDwGcbvA7A^eJH&RHooI2mA5`i-9c2|lx`50|1GXRN!RajW6_m!yGyt>3Jll4L zivrD+zOE#_sFL&^W!KjPU`dEcazkP`tNtt<9j*|53g?1Tx4(M*u7Oro9{LcwF# zQx&3EZ#VNUL&sF%t&y@K?P{YVmVD22HD#%=g_d1gEY7}yq{Y@8c$xGXZrJF`u4Ah- z`>JwjZf_jqHBL_F)ZEL(fmos8Lz(DDz!5_;_owOH9EbxP(}j#m4sAo`MKXJbZWf~p zX0st7Vwn5aHdece*)>MVPHa7sG9l2Q>$h+x;^yq#uh3);Be_YSkdie3TqW^T%Kj~K zWe#Q&KPOSdxt~5|mI`_CBpIc1VUup>xW*Z*F?z}Hplk@Ag zyf>V~;vMmnD&A=XOu0Scam7G&X4K+4M!g{SzyR=pW>hxNiba!V>gE;2E_BTNM%t^^gECacJf0*6B&*^IDixZ2uaw#b9AXUrr^QIsV%$&VjUUPST3L}Pu zeHhrLc8#B|z_?5pJSfL7DN5=+Diy9!dmEmUlbDctTQQ;rx1NnW42Jvn&39&Xq*F@m zG7Kq&-i%byDbbwZ7|#LJO)0_B_Wk=Lg-v_5DREo4EB!Zz_bT0J%x2NC+<_^(G?FofDxNg7h6}HJVVryd# zZ&ig*SovFW+FEuz<>~wP&5D`cWji$=kX<9?@S69(OSh74bty@FVYX0oTuY1K zE$n?oKNf^0By+=Yz^I;HBMM@vo>zfMk=KnDkwgHxf1<1p3P%#fA+|;GBz84>E$jj5 zNjM>flZZ7*nPs9`<5^5?ec!x5sTGXnQI^lE_JRlsy6-*u?(EUuAt>wooAa~p&;D_K z@$#a_D!Q;sI0VU*5iPi=07&xdWcGHf1eKH{om8=Kyvx-3=8zHqjxRXnZiQ}UqE<$q zsr!brTUb|zLH9CFS8^?KY&w@V0K17N4G(>bvv2GqtNHom4{h#cV= z7+GY)E~H6|I8d~yB8B^K*3~2dNPEHO_+vWZ=of_>|(*Gi6$;Y(y)rU7c^+rS$k|;WRj|zttLik z^I$^R20NQx!=fz(ITpAQUr6YL5!-!mkb$%3LhUE)n1%C)25#aMF7ESmtZBeA;IQpY zHe0N2zH4o@nGN;($y_XCmYnHhCz0GCe$w(9pde&;{{nww&2k}yWu!&EavM=Q!f7VM zdZ8Ubi?v*W`5_G=PyB_NQXADvNB4ErT3qAu~E}Y&Am}a)tU-Sh9J4ukGZs#YeWDQX|z%XUBg5gG0 z9L)aRc-78{wS~=sRcVqnEozyttb8T%QGXH)u8R}*eF$tgEJ|A!2(JaL`?N;C7vaHm z=)HO|7@A-6g(U})7C(f-SseFSO5onPKT8Jb6zoF}?(YQN^nq{5%G?;I2_J8PxuZYW!3vW-8AiuqZ~Ye!W#XVyPohdEF=r zdOqAWwiq<%dV^PvA?WX=U|I>2g)k60_w&+ur+!_}j6)pAAFY+NJ5Q6kFcgOMKh1>O zpl7<6QX}P9?r62AhLW%mfi{Iv)MZKNDPT=#(c;$>4R9c8sGJVX9SDBM5O4y}L{3l0 zc5oylgi$<^Yv}dX3rt}Kg^)W4YHyV;F0c*{XYoxu&VBzDY~`G;S|bdJEjqbc0Vh|x zh=#o9%7uy$@Ww&+Q4BO- zBcat%3P?~ai{=2aJdY@u++{St3|+5&7p#C_k)sLS;;cezbsd_t`E`c4cd>-3B#yw; zq&whs$vGoJUG=hi5tF5a%se9;$u|69gGCBqiDPtE_X&8DVcXIEK3xx=80uz56; zQE?b7o`j`z(5GOlS>bca_>9A${j@{Cs}?R`%;-_pgo)CAlEifNAON{+WCyT`VrgYv zwMutGDhRQZD%DOYs80*ZX>G5Kp}IMFbx=2m5(*Wo7lz6@ijS}0TLJ8def7iFSn9t{ z6-B zDu$OT6j?x(bl&tZ`2bD!7#L}JaG~J$p(m~HO zSdpxEC-T#3(eTDg^vNm*sS&|xgmwyAzYM2I`S{JnTB;F+Rd_ayVbVpOcPV;N`+Ia%J3KXGK@I59@mPh70|d^jt7hQV4}nJ_t#k*%q|Z^dID2;Om+im+s~l_p5p$ zz+fSwWZjbCYcgH&bqF@4Y3m{zr^9r9YZOH;?~A2)7(~Cok=f?Rh^LILN{%pz=`u{p z+=-H0$274MswkykCLGw{dJgh-LsozW3Q7k?euJ{=m{Sq06$G5FjQ6L|0inZX=i(~q zQ^nr@@Iq(_GSr{4XsIk>6qP?k(w`!U!?T7%NkQ{s&*uR&2`Fta&iaN+U}PXh)V{26 zzC5Gc@EO)GNGDWGmX7gaVBzsyL}FJ!Fm?0{7668-w{+J-N3JkhxV#lXz+na!<65y} zcv#OVreNlK>UXbLn8SWSgjG4u_fVPClfGX~}_%qx|6v8pb za$&-Fenso=PlN2q9EW0?aK#Qd{WP9)J~&sEPAC6FTulm$WSs(uR=J|k4q}9A20Dgf z)@U-}C^&S$7`*~&QE+YMd~B9sW+Vh=5n|=58;N-a;~v@uz`&A0&e!&0>IGUz{%~9l zjM2&n&j80l3-&eaI@a2e5QvOTXTj1Z2|%BN>5voJfe^vgiIFD^=8Wb--as~0CJYq7 zyGZ5^n-)L5HBC&j>4I{naB-0s{Q8HOJYA;bhKrto_h+VE8%<%_^;@Gx%6Ye?nXa8v zqU%}8xu4GH=|eEI}yNJWSpF~7Q*egSTZYlZHLN&O4UDhY?9kZw8ItCvtAx?py!^uKWvs^nVi8c1Pxbx@5g8`PzM*FWs z+9+Nq;3ru9%E3z2o1{FbIdTxSSjuI}8^#hB++&8{yCd9tQ$Z+8>RbY+gUr{SN~PeC z-y04<_Z>P;W1?F$WjmxUQQOOR=-&ozcfu~$N*oSkL)ZdcE|Xa8Q-rzIT!usoEv5iL z^(h=-mt<`3iMd>t)mx5=&Td1%e!bHFqGIP%h7y zf38aUhSggM_P&bgewA67ctuI@h+!c}Y0~YD3n#bnkwq&gE&<3*EX#u4{f3UD6#pOE zm3oXbqp9H`0dA=LwpG(BT(ufSxIpeKuIvv~`Ce2@n@Q6P(at8@z>DZ^72JsM*$VX{ zXRL6v3eg%|eFyDpg*cBs=6ZlysOqMUQiLHcI{?oD-j36rv zBYF^U>6+0w`2{}^Z&!Np!AiW-A}8}vX%r_5)=rnFfy8UY?l<6rE(U|mm<8D|zTM_* z8FfH6Vuk6Y#|ImHY$Ya!bg_MQ{d4DTRO#g;Hjh^%n}-f*(HtxXbblMVP)vs8d0L{$ z>O*w)9*><4o}uA$m;&BC*l4QX`ynUQ6fvL1gso%8F--F*mf_rLrE%8;$y zx8E_)8fSZQisG|0+3}@`%&z01ilW-!V8Wso0U(_HqGUqz zh~Fz0QS)lMQKZlZk0Jk;4=vXO)Oz5Q^&%fFLeTk)l|oEQ_+WM4lkiI^LezE4o)|Mr zNVZOfwN+I1dP@t_3Vk32rrj|^je zq)O&`diQQmP2cP$&fDxH%<=V>ojcgjarU^WXgL42lpjexF>LzQ(Mk zbA9nbwwZ-)RD+Zu(g3UOA*l8P;;W2LjW|hY>g2!i+tY=S8Ei+{>@+!|5sNz=xYWEU zl*}9#!EXFl5#hk0)@TZrgv?t;R3LE2)R1)v#z-sxer=tyLQ>?&zv}J3IGRnY02qUQ z{?E=4rWyf*jz!kuDXZRzd-cT2?0y z>loi9<7sX!k2>IfmQ2SnR1uiRgSUB8!hej+w7`teEQT;|yL=sPT z-;f&oLfE}?0Z>7eC$fFXn^hK~ z*B}$rMG+z@c(57gqj!A97v5GvoeFk|fFz(aluCeY#%>iS1V zDqf+CRCai-oT#C&gfKUI3=$K{en*%I!q`?hrHpl4`-Xg^d;}^O+}sE}iFPV8$mwaA ze>gNMMja}7PZh>55l7IDtf?En7-w@EUUHqnwbT3lh0yI{YR>(TLs2BY0fK%opNMRC zRdcUlSr)^Eq<}l`)GUjK*YOnah=FXB|9S>Di^MIf-(Z7cS5ZAhX`Ake?u?4iAXEU2AqA3C-9aI+Xf#gV zr!MGhaFu0qKUqd25T+Qn*)I95DzXHik$LXMutLw#mNxu z*d8>PDlTT0YlDq$wU04fAUOX(Ge3bbLEB^%JnglSv!E(V_9!exN}(Tim7<#E2Q)o% zh`G){9p(Eti4|CG7|9A2)d=F|Wz*AE7@Lnqm}jH;jc{kQ3#2(g#(b&Y!INwa3n=g% z#A7m!r@8iy;P=wty0)+i9=;9OBh|jVHQNYJEG8I|Mg%S{rG=hhW(F-=vI_E})sC#lQb8*0TUrSJ;)x z6@JT{(Hy|f#u@|T`3N5Q_%y0vRk~BU;Ghyv$3;;r(mbVEWQaBKBLQA`O*V2(r&Mpy zUa1H`DbVNzm$ouIU_y5Gs8^mp>FHn{u!FQ$65vEZ6>&3GO0!!{Ae8Fz`ymh>&jtiC zOCVm9q1<6TeQ1KBAPtg&HOuJ9i5=M)ZHQ&(OSA2k+@!uQjubYl3Qyb>xBgA9QFb?!tsrcN_O%Kc35HJ_FE9Kr-@wCLETxc6f-@M!5Zi=Tb)!R6)By8K&X+d#vsNG}jAbQbiOo@l;B_(| zGc3PK$PhI6CO`WO$A|>*F0s{Mb2R-Sf(yoB$-$*UIq>ZUfhK5$a~Ba0QlHpCsC24P zsdF^G4Na-|HglxUtiNFn|5}oniYIuvHQG!pY>R)XDysER$TkI**GH@b0e_t{>oHn z(-_{w&%xq&3E4U)KsTnVdARi{CPG8}4P3AuM6Y(?dld`=0x^Z-zT0d*3nbQl>tHp?M?)O_>DlSNo|?juS5g^wgeut(VWrZ^6_*1&MzQSFa{a&0y7jeS@3|yxEGnIMI**+)iC{t$ z`QY+7T=Y;069Lu3LYbu|wm{85ILoVECDr!c0E+_rFpB;h0!#o%`%*(Np0~+tl8glo zz|4bFGi-#r9z~8t?4AXxnyGH3AY*{ zd>h3%GcK?B`dZm0$w_C1!C(q{dM|XnB$}VuK`!5nDWqV#N^_&(r{bIg>5q}odL>4S zabX=yH^A%(%_ve^A>2`yuGH){@TjUe?;)H7_^tPLR9Q6sn*<9)6!+gN+eOeq6W)x5 z(}c)@25HH21h`1@DFhRUJ9MTn-0)0!lhAZ1l5hF-L!Fag6>iboeo7$Hkuu@=7DW@G z0dZZ+aTX7IE;5q_0#wyQ9Eb*P<*h&2bdCj7jJWqYHjVUZ^&V$8_w4Diu_+KkCkpX6 znOquT-i>NPN(2!BE!@l1&61qt^tc!{xx=32Iz3w!9ho|HlQXcAI5=&=G-pNP$y!IQ}fRSvX@`D zJz2J;V&_5$9eFrkOrgTNVjlX-`H+Uy={(2jK*x4f|N08P;(ClF9LBOWEr!zUnlg|qS; z9lAD(J(Q>&tKX^@h@8v)ILa?-v?vDZP0dSdbynrQ48T&&hjq8h*A+kKrqx#N(5pB9 zfm>3edw3UWj&_j=Kd4}6)tgt=!^<1D?%CMzT!{4@I`>|4f2hX&r(W&8iN1IcwMq@H z*irxCE+olX{?zFJm#n?sLVe$?$GfiC8rUsaQV3#U)xYMCr(DwIt{Wb_-?l#Xe*425 zUHEg#)|Q6veiqUrX*-J34@5-Pgb|A=*2 zqxpjqb%K5`28#vFLj>w-n}ukhAFSLXdqANfYk>5ZrqYn{A?~NSf2up3ui>xn@Q;Ro z4|O^oYIY>5s8}w4VfzPHsk~?I(hN6`w{X5g)BSvuA@I4mYf>ChR9ua@D|+u;!TsGA zvFHsx(u1e(R|0^$i+i|(AUrv$Nuld|U{^}W48a!Td8xu{pona-J8&r^Xb6fW_JuBh z!(~6_a;-z5GTh3sih^1t7*KaIqle4Mvih!_ETg^}sRdKFp24OSE+WXZ7b>6^gRVaXc_%IfD<*Qzr5;Fi8A57h(CO~48lPejk5&Gl^j z4QA|Oqts`9o6o`L2M_@{W5;0~2tfp#J2I6(7QH-w{cH3R0yuP(hy8Lp>ha<4bv)GK zd$|ijp{1=EbrWSQ4*iwHt&|s{c+aXMHVU|cqI5*v&Q(vC#5hrrDm*UXKxSZ1q2+A> zN*Yo?3KkM&xI{H-KzIVIS>RAEA)?eOowPf&y`){?kL$E5B%+&A_qk8Nq(x;BPq&Aa zo8|@7Tj;y$7U;JVpb+qg17;n-jACU5f-}P07rsJeoU!U9j&DLl491AH)TdKK2Qdu7 zT&PunIE!uUla}i+mo=PASd*-VK=uKdR-!f(=Zn5Yssf7!;UZ*UiEl+UI`7Oe_H3O_uSgl8)IQhtU_5bpp>b7tfyz(6A(p`WaZ9&jJzQ(G|FV0o`WUto)-A$cLyi;R|Huw$Fri-=hsIZ&YhMKCp z+Hw5x6V3Binj@z)(Nv+24JXR)cZyQr4zn%`qmP}Xv`Dj)zt)?fJl*l+nYKo5E(<@g zJoRfH^~$aHoQ$B-TWeIbddaj${ElFw85YymX<1VwhNjd*A3{qIH5p*o4^#pht+QxU z@(Fn$z>Ms>!Gl-&wwhYy(aLRyFM|eNHi{Mv{LV6OSz^(sWQWx#jj-WPLnyYaq)Am( zwZJ6eI~TOjMQn9#3yEP2N&oZ7AiFeTHls@Bfro@n8Kex7LQ9#$UZtsQVu+lJSWuiH z!DvEdjXYR4?UjERs2y{c!a5hg33!Z7VtbeJPG`N>>l)C*ugN9#ZYk4SV5(BCp%E9v zWI#Q#INcP5#u1rZd}D#Zr-i`pVkrPya7hppT#bc78tqCGGmNxUsG-gX*FjwCvui9j zGNH@A1+ZC?bwh=YF(E`!lp)W39H*qTB7!r4)XXRooxyM-xl$WCahTW~euyw*rX3+= z*Dd#F_6lGv(KHCSiZPvBOu~Y$DRP)E+;%?x{ zU%W{LXa6Y6i*TAndWgifL{^6@h@8S8QwyHJtV83TKn8p>IyH2G1-C{~@7Wiv9%a9I z1g0==D4!nkbA@mMv7*9jacJsrm8}2J{#R(_dRY6LAl9=XtP|lE;arn5^@KH$MPE3> zR@o5{vbojt$>n}aK~XSmDTdCgXoX0XkobI+zM)z=XZ~b;tVUY8)t8D>z{Toa_I889 z1ejg)laZ8IT9$!0%5#Dnyo5O4^(0%pyY|uyaRT8#HI~)&CX%nY(5Wpn3R5~wF&dR1 zT|IpStD{jv_@pzQt*^jyWowdjp!MC{}EB+NI^JVO^YE>QJ_Ka zUTq^9>`H1}p|UvCi5?*}7Pr;tAE2gkAOu-A4B5hoVm@!!h(*M3{ZcYRF?A74766-q zpo`EmJ@>mmMsC6XfCmb$tf2$N^((sBsC1t0a*m*z&CZc?qI|N`gmVp_rm|c2@MGP& zXVa_XI+?{|OgR4P<-_WL#n#^8`cY_sb}16Nvh{=g^&=JotsB{0(eU90NrZuhq2^{) z4&lcw$TX{nfo!+-KC0o%q+*fV`|XcfI|LL{m9;b~o%=al^{aRdP{9zlZzlM@OvRFHd@P_eY28Pn)uTm=i)@RRJGI>yvz`%_VWT z2YZL>M{krHuH;w;hkKj0%Pm%N*MsAY*8t|-oyPgRTPY0=+Z%+JdjqYS`r-cJ`X^4e zSjkKeH=nueJ8;qN*sMUf<)hZornKs{3>Nl^mhZX>+;U~S(b37?`f*s)uyExr>7$qg z1RZp_xJN~5!13PUrps=7TDd+ayC>^2sc_?!OLTI0u<5Q^;82Vl%+2vmx@n$a<@&0; zjNScBk2p9bb6S2ZH$)IzU2qUpb#k~tR*c7==BA%1rAH#peHU&eRhb&?{Y`NtP>JXY z!U3q~Rc#+0Y)Y@x_WHwb@9wKb;@^I=u(w2H=Z?8yub)C;Ut5LlP!;=C^&SMb!)r6n zqxha9ei5?8{Eg5*GZ#5_8VzsFez3nQ$KVRe=0@L2@;=SyT)2iS#>D_)a5+wV(?v9b zm?s?#Wwi>)DhFEvlu9DwW;)rvHYa;_Yl9s!0<3@Wk2Az^^=rrgKoFOt!5eoUiw~Z~ zgDVwYBX$cK3k2%W}R6=_jAYgxQ@GM%j!WU8Un8m|Fly0v$DMLdh9IdKv@k zxW^Gm#Re#~;T=GNLwI@YEeQ-4i@nI>5yUHy`LzbhKm!mg8Zh!kl*|XsIu#4&6({P! zDK-QQyVyUb;HM+g1yncYHMvUSsVwCnp5}{jBJ=g**8uV35%^zLZKP2QO+Oro14Uvj z$gdR0fqkq&Jlw@#mQLpwh@-$dYR}BkstZxM5H5iGo&NL3568~tmMGc4;3U07IR>Xl1zQ~I#=KBwAv2uZVtq>FlX3)>dre4QuQhBm_hE8F6MI})UDqM5 zin52?mAtYDwF5I+Ha>H8s7xcW3xoEiE^QAP>q0prFgS=}K*KkA&v+>lswlD6fPgEq z>2W25*%A-ZT6yUDVaNkl6NX`wX55I%+1`b{0o|1_g#-ea{&l^`f;QNr{};1CL0hl$jXM-PgLyzdnk1wX|SdgLPL zXN$=&U$!_#gfiLSyJ*J#l@Ri zWm-j{r`CtAh0FMlLr(Rp4v^zgLH)*T(o>ddrMTwG)r_j0NV*38aR9*h7cLHgDM?Dwc)A)q`j)AQn_gUA^oE)w965*L2mhbcn!el&u9Z{&H#Pl@#}$ zMNKqxo=syYhb0Ao(c0B?TK@{)hpdb914kNO2W5tnVSJ<|A(`}7KP~x{J;!ef2N$!6 zeK!lbqW`W^p{)@k!f+$9WPJ7ahaQKeN1BXKTVxx0hZOm!D>j9gVG3Jl-{=Aasd-6k zg9{YoIBYCNR{0y-RQYopdzDVWJb*TcS3SEC7|$r%v(itqdV{o@L9t<-(hjY2ZKe@7nyP++PyonnWvsDK{YEn2tV7Jt-m;U>vXh0 zD+I#kBbG<5k!!9D+$jGb3xh-b2#iAKfc+iLn5PJXJ6MJu=$)e0s?$ca)QAp#{p05O zqW^FUEcPF_Y^_f~YQM{~Ra}UQ?^?UzRWg&BCc{-{(?Ok=lR>BR71`#h&*aAFH-szpi;n`DyRbcye3&+3)G+i2jZqJTP<={Vl37u=Rszzh3|NHd}t12cM$N zw%_KV-{zeUz#m97eL|YApw#l1;Rg%-%Fc!!a4j+yD>(t}Hu)bdCHK3Dy7D4bh`Pg1 zNj`r7Y4>@kCrAey?DI!SwPgXWpKW`(@n$9-dZ{0N$yrM)cA*>Vn`-6P?TWAatkJC2 zUQJ7D9!2w{9LAM*U49nMV|%sgV}`rt-Pk<&X>NQ=qM3g?`?IsouP{Of8VnS#I4Cef zdA1*T_NWmpQ;p*#-}OH|voCj7!R!NlYdemc<%Y(b{#|T2o6_L2VD~?e6GWNSHd(du zcrfT<{qfk?!{x3SZ1t0fp>o>5?|7Fa#Bu{$P_>G&^5AZ2+Voqz+eZB7o*MUEdEwo6 z6?epS>{1X{1Z(KX5Z z{NsJW{JskbHJf+V zKG-->vDk1I@S5Jmh9m}6iRH(w{ohd@6^wtUfTF!d8C^!{Mlhj^WSjt;Uqb+?awrLT zne*y&I!{mk(LMX|?Agoi#o71gr%%rR-`V5tle1^l$lOHsIInnu)pnmhH7~#DayyTn zKYe=s@~QciL(r&(;|E9|Nr%~_jpcwzZO)TvY&wAPE&aONCxct}T`~|ba+?n3!fm6M z88Qxm7NAu&o#^5T)R$u`EC za^eTTx^fy#v7{=c?EuCwT#d~$3|FO7Y|bt07 z0|<&9XOl}CoJbv|kWDfqFj*-zpU3G?B@XErE$WJU0Ul4VZS%RIcZ5r)`GKv>F#70n zVFr~TklTXb+V~AhaJhFnhIBB&Kf(yUud{v>^CA=U5%|?xyZ4|FhZG6EC9q_MnY3ky zA@GUvqc9;a3GrVj4rpe z`Wrx@F>;LNpd;7o3QuztPpGQ{^@FFHArx+08L@0JR-*4wCDatv>XHiG_8zA=^*8i#GG=dx=`VFQEj-8TH44f zG1e7|lvkvo)*ad*9D^8UkW-u`g-M%jqqjJN53!tv6td2xwJ}Xn0~O{C$DmA${({(y zOs4d*GQGYo!Nga5qN98&r2RFbD%tdqiKujLbeRevUiVeGT#-aXD;>cVRd&Sed3(Bz zsBO+%<=8qMhy~{;MDKWc!+In7W1#OQ05?vCU2I56zFKk7oKn8F^sEK?Yg8ZC`s(OX zRwPQ*KGd~m)iG{tLO_iI1FWvlyrIfdZXl3*9#A&Q?|I>}@K0B|HoxQO?Z$EB>yM{T zemHY6Lq}hF-+q7k%^eGk`OaH>*z~B6fu`}@FDp;O8+~Px5VB2} zMe#dxl~cF5b!}uzE&_quK2O)~72Wi4hw9D#A|3Ns3RUvlwb8#$t|I;#Pt0wy7NnsT zR&!VVQ?YGJ#kc&pF$KO<3$$EiD7>rxUUrK<-u>8HG+{e^VyI zwE^-P^~Zc6*qba$1#;8|fGX728K!54dP2))1(4GI2JmURSzfKhUb_nUXakhGK*Khp zrvmxsV11;fLi7JlW?2PR&hf$T^U9y|;8)-H)#aS-+68T(e>+bqYiA(^HQXUlh$>FR z(PjFtugrDPOsD2I@GtcWL_cfn1-%OnKOuUO-9&rssE?~Y-^3o=|cX*b+2{wbe!fWE$Z7EYN$ z?<7z>q&Zr`iE}yzB~SyTwg*K8nx4h~`cfVe4B?4hx!Ri{dAJypac7iL9()tdG%#bOWVjsvulj>kk;)0;&QZ$}(KY_9hT@R*$68MnK(z zY?!RJy`P+{4_m6}qHE5^;3~;cDa;Y_sH(K;!TO$rckv9DdBZLaTAMGF-GOQ{+&^ir z-|nUhf3Wv^QchqImJ}?d+L6dkbtR|eZUkHA^MhaK^K5>_zl*tFIUE%0vxbXret7oi z<@xhx-P7;Cy-)^?r{?Z*`t4cw*$+>ioPTqE_PzS<#SdRUIe*ms`hQ=ZJ$nB5to+TR z(dU5*b@8;H9XtaA_?!w*kXI<0xlgDz6`emtW zBwzIL$ggmU0CGp%J~-@(N>TKTusY&7LxP(@!?2t^9cSihX?df4R~h=$DX-D*CDXN4 z6_%Q!U(wrd8o`wn^HZVspqQ|R#R(=?I|>p4;wt36taT1TZjD51&66ur=qm#TMz3lkQsNLRw^QC)|=19*OfelaWwcjAD!vsst+p9PH z+D{6q4+gdKY6KdQuPWcQYZiFfez(pbczFZO@Hf@Nr#%Rbp1!GkQ_H8&0@`mYTW~uX zXuy40dY|=jsI3NGf!$`)#}acxdX>7(w4Zz#elq%^ux)F+aJcVn)f#V{9I9Pew@>L#> z=Tf1VN(sSSRx>Z#Wlgg);TF-yu~*%swDo40d{pc4h(_$sI5qQu046Rwf`v*jnvI>I zgnr2$a;pen6=p0(xR_s=F&Y_^Xphop5?TG(yYs;Z4xfXOIlKi(M=+Y4LVYl4MIWkN zCWI&%=ZXGe`MN=ijSB6;E5A{_P@+8QdhJ><($n@;eQyEetL2NZd^XZXwT7epvEFQW z;G(i>pC{FpbO@f~IM2D@ju#Mt_vPBF8W+?0IkE$*GqP#3*_006U??V}OBxP~9Y0x-fp1 zr2yMHy%n?@O1(huFc;8-;)R3;W{b^_(pf$y_9K2-3ra*oYDWJfIAt%FE`1>2pz>zH zY7rHT|29uV|Ah&1UdI5Ugv9|7wTjVG3me&tPJetF z4YMSN2N^%sRZ<4lVIhGX;xuEdVS~0MzC=;JT;+smpkJ=}@K@{8fzxULHP1gl_i{XV zh5}}{{>d}*pH36RhLf-d%MqeJ)p+DMh^E_4b$ra;Ro&r~)(QK!oLmm~qp!Y-z+@?A zR$im(*B+^Pmqu%gbxQ2?;9@$`ppX>(S=B0NQji7%zqhTx+`(fzzb% z=TSVGBdWFOp3fRUQ>T{`2u5p0U$nTyI)+zC$@u9kfeis~DYT+i-3-6$&&(`AHSK(% zptdS5wH15P2y`Vv$$EDK0G-Q>P0qLL6n``PW5pzRM%C9^kHirMF%vvGGGjx$9@d{n z%WwZS>fOe(i5OCL^7(L__O1Pdj3_Xj<~;9(ZzX6Bp2G!j_kHVl|G2+$HS9@lcRPkJ{h$3hOOk}(2m}Dr?n>N zby)v$<$ABOz4=Ds2CxNxxNLNkF{ckZ_o`WEgsBYN;_w@#u~o&nYPPc z2fblt8Fz)ZSN4s&-j*pJ}!{dWt|Jdy7{^)pbw{<*9c8^Ab z_Q8SKzuiIQh6TG^W6OfJ%scH9KGH0K7u{jMe0BG;?wq#_{!!bHTL*h5{b9dl4pXwb zw|jCl80`=DcL&Eu$!>cP@9vFu`{o43d&yzzC>|sS@lk&?+&kGf|G%%t|3gmr;)Cfl zdUxH%(5bu=-q_%X*4Wr3D&NxGU0=)dY#tNy`pHR=ELu$<2;lo0k_0`15*026_NjVw z->6pA9D2#DEg9Wm6L#P4p6u-(pB(KcM~8#G!`=4r$=>iN-tX_59d8fX$>3=JaMX&2 z$-(aKemvMeY7KWs{r>*J@lkx-iVu0me0ST)-p9Jz$m8Bk216r4uZ%1ovXH8XW;oeA z0VJMI#pb(453RioimUPHy=FlZc$-xCvsy%X7|OE#J`-n&k$Lf~)49NZi}^e%6seHUgFv(MA>=r5)7=5I-OZ*DXp1@c z)HWpKHzNG_S#s%WJ6YRS4EL|eFrEz~m}*2jW{s_US-3A!)@&_Ur@d|U5(*NQvHYUB ze!ZPQjU|F2&(I!Z7HNJ<7P4$H$ES6#Xk6+;9U)+AL$0m@&5V;F6oVQuz_lAw&)l-j zKZb_W8N#hAlbx&CLd`>69Wq!UlKQnm(ypOx0ZUJl%rs-m>w1D`&C4bvX}*Or5BXcO zFyBUAr6(B$Jx)I_;A!`;^*00`zVMdf!uI1DF})3f1E5)t#ax%>- z!Z7PnB6Lb2D}5|VQjt_^uUvC)8j(0fgH~CvKu)LI#5oHTgvNz9n#DH(s-|O!WTMQr z%v|SBqPU7d}PGFQV_tjnrUUS^|k0BGnxf&$z*^cd>jO*ayISIP?0y=&5*Iq<_lzJhnFPWBtD9VqtU@&Fc=+=`n!jPHE| z)IK=c8=NG2{kSz~?Y0kx?e>AWD-QepQG0mY+KuCbz0t5WY#kq}>D)qlV6i(sHY05v z#UogTfw^lQ9=8woNBg7W-Tpzp-#Q$g>=4hF|M6-sT2 zCO0#$RU)oID^Re&?CNws% zun^XylPAeF6}Z81)0!!F`9O5z;3x1a?6#n81K)<Lhr4^apXp|BIsD2iaHPvB?(NX3C%h;nHt2*?mYs1Ohi?vWT!u>%M7C=!0S zckY8#!c6sK{q}P#rH`9-%T#W735=lF-*4CexWzvj#5cvLZBx1*)`pZN%fpD{NDL{|NV~~pFZjX zC%dX1x39RkZoi@H=hxoaK(l4mL7_r>c_F@Eci?y!8`vUSun+>`T{`2?| zqhADnw86eRjq%)VW4{o{t((IQ`E_QF3;XpGzhk6c9C&G;1AL;>Y(W0gKfJQs`(Q5U zbe7vaJ{`U~Zp|4_m^cHMTIJ92Ke;cwIb z@54c1eTazD?dd~_e~XFBqz0<_+v3AVFOyKGMP8WwrBeT1V?jgRrmuD1t!NkJ?T7QA zj?0^!KKJ>4b)llW6Iw46l7xT!?XhlfKsR*i#BI0r!2az&{@E1m-r0hi%Wj~5{p&Is zKk{P&55DN*)YS|CzB?rK|G$IEy@BeEP_F*G`|$JbBcFF4e*W8d+7qDt6?St{(9@xT77f) zvaF1{=n{aMzF@aU@T=DfdJ}lDe;+!vlK~*2FKiBmuV2==tuol}%l((Dq_OLlRBo$m zoqh4;8ey2Ye(~(K%A^R(N2)~W>(^awt2_jIw*+JS%e4|u*u8gKE6`q==#e_9Cu|SD zt+ON4N8kkd)6@Itj*{MYfq|Sat>U4?H&E2$RTEEGD|<*;kJn6*#Ip(P(V9^hc{)Yh zqqD~=|7fGzQ_1b|s);8=JNSg^9+QP(pD*^@zAC0G3q;25Sj<0e`sc%#O zkAM6F(9}OV54YP8aMd4wyD0lTb^J${j0jU~@%=-vGD zvm1H`$aiY!?QHn7+j$GecWUPC)cmuXc?-vPYUVvT;b*t>9w^_bv3GLI&u;1+Am6E> zcT&{PZs;8#S2XlyE)sjW@7`2&v&k`Ya@W7?>DxC&-{Nl0dYRejM%w(@=z0jxr&#;j z|LGe2e{Qk&_X`eQXzF?;Sa=A}kHNwNE$?R|;Q=^51_uxH(VvZj2jKh|9DJ%d|7CFBQOm95)eTW5Axhq zkS2xSN7d>T=#MN%f80F<@9nzW_c184vi<|Q#0BqYtlRT>|J}{9z-8}g?~?=n^Ur&g z{?Fe(hLlEVf`)Md#t;~zNC5A*LMq-*@34%6%W(ytDiC-qLPxa~Nvp?sIpz z%-u$S`_O*Q`u1lZG9ajf{l^Oxe>{Zy&gi%8%u^3yz=8K&=Y7)JjtqLYzz21I?h6mT z(=SUt_{ig*x_Ntx+Dqiv&*b@^Po6z|^4||X`{%v>Y94H_=-=NO9D4@zfdyPh`rW&0 zb|`!d>i;}I?;)uYw?8eZ4~=$-81hA0{6gP-F;3tk{r3nuzYC0aH2zco-LlLAr}$P7 z@9ysr!Jij(=KT!_T?m^0^`QPgZ}-@B^{Oqyv5ZhM48yVtD}(+ zcxAOryB6>hHkG208(S0CVWWBMkN9zE%Q^0;B9DcODb;YXv*e#F=w&si4BaEi)AWz9vU zrdgQGwM@dbN_Q{byXWrRE8GcE7)t>-n+dE1zG=-^wbi>mVU#EZ_-7J;&(XN07;r!8 zVC~+GB1PnENaL)u!#4n{1b9$Jpp7Fos=79IC}-WIYojvKtO&H<1K+klTfu!R6iizR z0A~pob+D8g&p{^Jw&1%h*WGj0hkNG!bEfTZ(9wl_g9Ew40qE}z2O}o(Kwh2Wcxucr z9(d2}n06*>Rwc7-xno;}2XOLiq;zm{9h@Y0fm3DxOcB#^{c|rLMFQyJB|GEoN}VOt zY}$hN!p-vq(VXOEw9!{<{__08s)h&V!_LjD1~Zh~ZLs)=v3C>u&7RYHqql$B%~kyY zez$||!(z=vM66D^TV_?i__N-)Zlkn<;)bg4djW$DrXroyPFYUvDg`(fv-xUHlH>+U zGftg1Gm=4ZJtYSl6CTRycuel+L(`>(?$AHP*svjdzo5@*<&%ecFdR3Pn1^*4(31^C zW+=s2hcKNVp~x2o_69A@t-v^uapX#iBcaM3MEYQo>%x*_SL$xYq!E!=BC9L}DTr!9 zA23_!oHA-EEEL{BMp`8-sL8V32?i61WegBorU7K13{hFY>Tz=7SU;My>jh&~Ozg6S z;Eoh#sVKYYG8K(TucFCp%+3^rW7p{h-#3vSDq@;0tVy*>TFWgt96ucdredV+MD|p2 zI3l8`X^*zT`9pTqv=cu{&_r85J!FI3$WylhK>6N- zl#MD%)5Qjj(J{>L&#_g`_Or0GarUg?N~&%5naIJ-Or!XdImt>~IKjT-G^_nKEG(t|qx^SaONOk|*K1f+p3r7F(6j-4VT1cP0}` z6uq93#CT1aK328MDAPxqap)?CphY;1*d?$dR1s1h$qlSD2YNYOa7fw&1?HTRREv!o z7LN6n7$0U+PTbBpMy=b@n6(jpf<}r8)mEcIra5*&Ro~iDT+B(r#ZY_$PJs}+l zTP~U?J1%7=q87Sit1D@hZ&G1iN}Ka)yGTyw49+RDMQqQSFEgoh++~I5KCvwq*uin( znYtoi?rgUl5pA^uLlY`jfhKcYyPT~h z1TsJFQ4!v|%g|d&yoLHyRt0AXLu4TuLPA72)d>k}3MP{l@#=YkVQaBGN9W0L$_44b z5u?Sb-f;{(g{B7KE{>#JuFrUJJkv^xA?{2-d3YK^{Cd1w!pcyK(RAq~>Ogm>nGhk` z(Vn5S#Y0?v?#low z_rHdI)Z_H$X-8M69v?B0POkbaU|$C7;}P}%q>JG8iCfK8I*xMDaiU(wv2CE^Fcx=_ zt9u5)!(A`)mjckoYOaksJq+Nl)59X6 zd(Q!J63F^0cTXqLd!5AEbnWIW<}m7YtrTc$?TBkr4(I@CC;a#NT@0RC6$_qe9MkDZ zDc9>dOsc7%7}w!qL3Mp87?Vy{?DQN(nK0D?d{YPIblw6=S_CP4SFSCUzFddAH3aH| z1cq;cupk7z&UftUsDuvxyv6f1sYo6E`Fr?ht&j1~1N;j&_!oNoQ$7CqR7P$VN{cz9SyXRw}!+(cE{RaPfuUlU5KW3s%2a7nq$A1gpV*nmJ9q3g$P*8U~ zQyH42D9p(N^kj)0-2z$#bR4g&h2UVy$4 zSi9?^3DDUh5qt{hZ>`bks~|tnQ6qr2>PBC!I(=2S=&Slgw`CN)(^tX04!*0ftqy2I z@AO5`&q~)u?UOcMbVm)e5$MnTw?w|fp`~2D`{ACucQ0Mw>F6T5fhW4BKUZK}^!oD! z9;SzfyQS6M9>BDKR@)KZ+YBJkW_{b^jng|gJ6stza2g$){G~5+KsNwR$n4>a06dXm z_Hcf<=kMK1eA2_ zH*j`z3-VLDj&A`zAp@G1K_7JEM`GA^#6})>c_v(*ML-9SQW?}MbI~g8%QFm*_d2*8 z1A5XxJqggyr4DxP1c8280XSD2n{<2v^kLg_01q6%Eubl-qd^|j)8U%y`iMC*qmDPS zpnt4Z`J%plc|ObYcR~ko{x8In$ZD|0e#k% z;Q35bx;)CPW&qFAEKBKl0~aZyZkPgk)dAm7dCt0Fpp&!O3Y{%w)A5dy>*|@^+8gQ- zK^b`>p!oUuc7?B-4-V`7#I0M57nZ~InmjA2V2{G}GTEsLG)NOmWdz67n6gTS+BsdU zXVe1P?>5L1RSSa)94a4drO7sok%3GO=wT?s!-FhC)R5m&gCSqj0U1*Pc^G1Y0}J`X znivl45}FU>l}sgs5DXxXrUu-UNW$$=4F)I z%zVKRX7~A+P~|jTOpTSYGWo*M{WCk+AB7{yM3|}B%KWTZ+Cm@CBsvcUtpZ#5+To(L zryvf)IuRG>woO>}Vrm^q)rxdGnw?2Y2~HDIl@n>4OPM;HnF|lRHy7tx_w}Y_XM!y4 z1m+xLM|L-~MtCH-KH~u#Bn%0c+oLWpr_w4hv#TQ&!j&>ug>Z(qjOCG&6FS0kFK6Ig zl&jPd8n0$!H(wP;uM|CIgRwHi$%Cy$tccm?S+uAmGP_U=hha*ZXDU>Cu{T4ZAk{fB#0xMP-v|)wADoyQCx{s!ix|~)t zj|+(-?4u>5a!O9A)HV}s0f(T7=WU`<)OtXf_<)gFh+TmE<(LpQ+W=2?Y_c3pXWF7> zvSB>kPS@sHZpFz6cDKBsZskqmpb}i2jXalV;mD8C2_&QCG&!Wob~+OazVW~$9PCtY z>niIwf*t@YlOEmFzi+dcE81SLok7p--#vTCI zHjs_nuCaZ^pXMy0S{_dDl0$=F+22^F{&keCO$oFKwX-71mM&P%(Q zSth@Q7W^zbC4vLfR#PEXG~1Zxpd!=(g|5fPG#DExBbP=y6KZvVndyAaEJ=I-CLD(; zym_3i$LC3-FCB9%3Oi<=dMJfMV{RMEpvLmN^iMuEmC`A_S?39CszGyFi?V_#&~iAX z%>^dKKId3&c1SQ`C}0yf6EVL?24sOZL8v9+XoX1&Ef8Cy6l4cRn^s#w(?wAv2iqAF zTL_;ahUv7@q#B+#lpL(LX%WiI#5WtLS}!z1HB#O>#q%u~@A0O_c11MxVZcSnwm42E z_-2t$YKS^p#)iopdO318j#=4jcU-KO{BUd?j>BTR#N0J8A4-Fu2xro`pt)f|fcuI~ z*IPb=Rx}?H>DDCYvs!?O+zMD;iTRv6FIsxFEcFQSW5-!&qjV@cE>@h0#lan)X8u+S z2H{jB*A0@HPKY4sczkedei9nkrXX5pj<{P^&%l_9OOj~av4l=%8x4|Vzuu!rwb@`U zt{BIB%!~f67MlruM%2|xOA|zdR20^As*vz-y_U@Nlw8^P)~t_4mX6L`=nAG$c-aCf z?9*nwI~sH$(e-ZWD$4>!Hh`Xuyw8=h;q(V)B~a05eP)Cs9Tgb3Hw zY_bOMmN2qLZAUXC4qHO!MPX`bWU%yVSu19GNx(3 z?Jye639}B*C@F;JJvJPxU~WGT=t60V(=v?pM&^rmRf(G=- ziQPFhOvKK}1?nRC-dLz#40pYwf^~6JV7f*58O!uWg-+pQv)+hUP~G={j-B>S4J52i zr*_44P8A<6{lhKS84bLL#tr#mH1If%gGL;a0tI}gUYrlQd+Xl4a_@en_Qpc)p|Q}q zGZuopK-o=)eA^r3z;}B?;*MoJpiox|cQH;f7sE;SzGN?s2jvH2++@}ne!gUgv31DxB3BDN+q+mLsl>IwLHAwKpEBTyNB5xZc19zROz|n0c#% zxxE=EFTu;qLC)2 zhkK^|aL;zerHg}wcmt<+&%uHNwACBi*i8p#Z}izQtp{)gXelZI%vSGU!9`Zu(< zB)P!Z(I?aPM%UgR#&!lGM(+$nodE~*hr)M#)P3vXjG=)30R3`Yjk@-XBJhn9)ZO12 zOImBNhzC2RGWhTAoN-8k_A0-OEOrM9#p}V)hKFY*#XNH$?F#{$A~c{bS5hO$CycS| zpJ8${OI8_tGO5LKfRQeZIF+A=3~@jPK)fPC9}BwapC3@ul#f_R9gn7a+<>CmJ8*h#^Po+lBP^! zE&Rw$behflWf3vznpMnTmU;82&?P4qSdUrnY)cEIRV3m;#x5ri%P$qyU>ZkVm)SPb zQr?Z2s1@e+*iqIDZH#t_i7z;7k}^wPZ@G0Ooe6%snN^V(Wi1dbwOqF1XvFfYH9o1q zUdT^Ya%9v-Jg+r9t(i!ibKzvbOv-~U;S*s3XhAsH1ps+Zaned%M;T~~QO2=eP8gG( z#LCv$DpuFFJeh>0P;fy}*&K9mCIC%YW~TOZ#4V;1)#Ua9vn|spv!7Tj$%a~9vAYAb zrHx}l&$$9$3|uA(^T8PL*!?0N8iT`eKR^cO@$wkb!#eT~B~hH`vYF%uw&%sU;FQ;ac0Ww!1Xu;KovhD{gL+&<>)?{V5Z} zia1q(US-IVU@=5UsddE-k*0E|tFaM`&QsscIQE#@%=i%F>Ij-;%IVBU zO}O3-5hM(Y#csGXx3fYR%%dq6V61G5jE@@C(HgDW&0>*`>c$vvsYI4X{&F-R(+znJ z`RcrkL*KEF*-;%!>(PN}Hm!V|l(U94+2tCR;avv$p_t{;E}QL@;Sy4p3p%u#&A}dQ z$iZiR1()At{T9NLT4{r)f)dSWRcJ7_Z&4fr@aUZX8#FA*5bcYxy9znkyY( z9vhukRDR+H@VXMmjckn+nO9_iKStbW3U_}zv$c>FoDwXrK|Cf7gXvg{Q^q{ZjA((# zs-VR>=3{Zn8lK(G4|cOCLSsjf3Wkm$z%a}PL(bp#VbSWFnj9R4{JDb}4Go2gt`qDyJeSpwWZHi{L%IA&8F~Q~6DDXFfk~LcXo5sZ7>DVX zRNOA^8SlF&1=lNX4}9=nu@d~IV%}Z9sfzh)t8d~(eVYLlL>HKg4@a-Q0nt{tRo{A* zOJF*`4dLRqVSVhk(XaLE%#BFgsd0So)4&L9r_S`tgp$yyGwdWu`@9#G?Z!u=^UJvB z3-F0wM$-F7^y&cH`&+Lrs#c`PKpl{|-mg09*Yvx4micghQAKW^ThXoB!r!O^{5`cr z0yyZ^7Pj}d1|mJz``&kc8QpKq0TmCFI>6odW`9ma==!1e%jo(;jKH&Gwdqn{wq3)_Vyb9=5*O9xx;~;Vj6Yb}%*T*!1R{ z3~}i)XxBjSt0Z%<+#W0hs7an#@^xlNemrGYijv#PTGdUmBoA1P*9x3x9d zvgs*`j+SVNa6A^-Rk=}NcqYKH6eae;-i@IV=CYfaGL8>G{Z}IrC8iNmumWf9&QiOa z2|}IgmZZ9ZDj}*HhYO|{LioIdCkq*gAbWL6&&w5MPdy!JH~Tq(NY*;!*ceFg$!rZV^)j+k zW5TE55^*M_AWiK^mzTDW%@6K``s!A#_>bu91$g_c%0qYW8Kv{w0P3@HQioS)F9 z(zkg8IjUE*>ys5p%y6zOl9@AtG|G}W7nU*Xu;b>)VY9>9T8IdkosEawX2s`6+~16j ztEpu8D_xxWj&VLqyuRa&wdE7GFS()03;aCw*6Y&_pV?x>Zp~Cl)hGvl zxQUtu8}JKAsaHd)<=ukxRb-sgvUVU%{iKItFiriK3io<4wFl*5vds5GfH2)BL#Q58 z&l4Fxh+)6^s>F*3WIx?z{MX!6cWZ0DIGiS5a5(KY)y-!2H`Vp|y>2p(Cemf{XF8iR z4<_Xb)W|bDn@$U$&Nq+&hW^;h~gSrnigtwq4e;mR)wXZ1r}d8<#*ME~;ui^0bR1V0S;ecfY!KA8EaS)d^zJjer$(0@m!Zq0It9 z5vPdYTb(Ui0__0bU0rP1R%ZvV)LziDdRw;2S|t#SN`dR0>#AM|>V?OkcUJ5+-Dx+1 zm)1KgMz@1C<_=a|^rik038u(QE; z&We!-1URpE)?=;S7Avs*x{JoC}WV+EU~fDu;pw< zS;|7>r^$j7bIO?1>BJOxT@D!mF<1INXZNLMtQ1FCA!(=)%x0y|6E>|zgD8`^G_~w7 zvOF>4*ix0s)Jdipr|y=qFpTt)6_q0t9l4pvD!C!jh`u!*M2X*flk^twxs_Ko#3^P3P&6v- zx#}}5gv(0Y=EB5VO7+>I1YwTltv77&qpb|M(UvQSP3$dan$s>;s?c~dZZ5f_;bu5f z^0tl@V@XJQ2~W9WqQG?OY#v;>@4T%kiGC=1RDY z6QwH9)RK@?(Cno+14F;b7opLv?9(Dzq|1aT&gw*)E~2^DLLTb;V#|DX`90-p2|cdxN&(_*EM=xHm}LmL!dm5_YU6B)EB`ayVHmu zl1305#YqGM(0waj#`_@2I}tcfs{YLJFC&AdXbgc7nt&k+hdK$J`qr=O7ist+lz#|U z;-3C+Jg;nu?+}sXascD^wuN?v=l*no;P|QS@v$#{{kvcO`U4p93djdR;eWv>dkq}d zLi0749zgbGOYu`dyUF=g3-bNzQ)}|IZ$Ggze-?-@Se!q~`{LH;Ynt#sUjpe0VtRN$ z;~Poczurjd;dKQ`-5q{W1zF(L9ry6(BI zWA4j2@7{6XKki28`AnssS;qbJ+mDJ>PT>I=@x7asUiv-`oG-~XKR~+5obHgRy%#5k zhj!BIA-NWwuR-+ywtZPXKI*Q8>?Y?+&V`SIb#)U9Kx6NLCZA-Tv&wrgY{K{bxx25m z-LHq4-kcNB$Jna(LGZpRoNX1CU;s1yD-*n#f*1D9^B>DvJHGnrMpOpBugmut^8R-H zrbFCIlG>F3UkCOB;ICo_H)XDd_$L38hREf5e4yOqxdz-PqT%^0x`%=@%*4fvI^OzuaQ{Z)s=%TDIOUT#pp_|fArQavD;BsACcVGWA z_|r|vC${9K)HBB8<+^56-sHT#8P7u1xAL%?>RvDYuFQD_hr3))=W{pZeh#<0Tt97w zY_co?y}N&7D^Do(##U~td%gI3V=I6BJhpOiVR`R6we!YUo>1zIvD{Yodhz$hSpN78 zwALH-uea$3@ApA}n7bFedpEwku)F7z+sD6+CGeBxUfa&^V)xsYMHFvpPbkiO61}1=f`wJ5dfxQY;dSz0$PW8(y2wmsca#QGS)#EC+s-TWP zI8_OC{8g8#Ynt^^1R4gNnCB(iBq(0gGvJL%pPJ|AQt7jt|E_7;OHpd%RPO<`J|;5X zlz1IP+KsGjuz&A6?*ZuFn_91*R&NSEV{*MIc{|0z2=#KK<2x7^Z#y7E-a6m~^87?2 z%1i=E}6Jpi<@e=@%_5d2W{L|xVZny+x#*KT9EG$MBj=Y3N>I<9_5 zOFsMj2RPu~cZGfTj_v-FFMhF~sr1_&aO>mG-qm!4?dr9Y?$_;7ue}8wtFD5&I~(uS z88;_?`ykb+A5w__viEziQLFTt7>6{B1?Xm&E%kml%6t@pY)Kb>Qs% zvMt`faiEX$|0W~hjRSqXQaYf&~1*HCw z2X%ar@;@cqYhwvMM*3e9iN7QlJtc;KylmHmtdm6YdEa6Wd zr_TsS_(TeQa%i7xSNxvCZEngvBPh*tL(*IuX6EW}KF>hUON8=yl{mX9-<1J;o)^C7 zCkF5N2{YT%gABegi#KL*Wtlf-@mn#AXN3-YV;67i;>t2_?BeILi`S_ozGOJSS8qLg zW)Q#^wv}BQ{O<{CEsu`rmj(aofPX*O>UU+JzhBWpeqC_CU$JFR203)p?x+`8A8p>xBBMP9~+_9jmO87iEn9h z(i8jpt#f*Q>%JIR;#&XLo((YLhnDUk<%aZ2lay#E>vJ#In! z0{?wc{`L6DUE}|14gatYc^^1k^LGtkTA!2qzU%s&v)?3ySC>4-${$ z`WdG%UFSXaN`ia;k|)hx1MU;?@L0s%&lLNGf@}Z&=aJlF@Lj;*t|R?-@3_m&>o^49 z>gbSnCEwV?=dNFvN`JsX)Q`OVVd3CE8jO`!Zo9E)_rEU{3jVqNEH@&<3rHtlXX8&{ z++SzaufQhK)JfJ6Zzq>^Q4%u;sKx&K3r^qnj{(oUJk|P#OfSN{tdx5fK;uoyeaZ*l zq}*R{8hev+uPFH@<-SR|Plxyc+`lAyc%4-GCgr|KxnIcpCgtA09+7g>;Pn3BWQl)S zf4Y@&-#gtBMzD4EPF?Qbgx;SZ^xkyEuQIP~)A#w~F=ZYUd@Xa^cMyH6^u4qFTI`6s zQm+LOuXK{{{UbiZqTapxJnwq)XuM*z4@Tj zFWuCq>^gZ+#nan;{RH%!N$2{B=EtD+`duy$D)?;?`+BUUpEF3kdpEv3?fC9j&EjvS z&o|TO-SwF1^Kx|1U(ND~BCpK!`AhjozS%tAj6IK)`|XWAZ#K`jVes{Gzx^=y)om@` zgEIg`^ye`CioR5@+4l4qK^163{llviqHCJ?a?b5ZSBMt+BBZ~`?`Fe!SD0xvxjT`Zj#Vz+m-rD2}1k8OSVZ+TO2Jh-<9kVoO0*7pQ3 z9{~I23Gxhu;Y|?x!u1mcF~IYBmeh_pp4NhOX;w|!ZAL^R&b=On80Vm{K<)*W#hYpw*- z4WD?mmTJ2Yo$!F_*Pcfd#*!sK4=!grIHGFRBzGQc$k|r3i?kW0zPKv3q)wPP0$0!> z_Hii*rZC^GPabA+C-UUw;=~`1IDBC6i|z10tB~IYthHcg;|*kS@xdxYm2k}M0GXn^ zi;(01A+@FnE7vXw!#+0+irQ;>avB;MRFm||Qwj1oTA}0JQ5y{LVa-dcv5~B{`ko)` z%0yq%R9kXwaH3F?q!~htoerfhhDHTd3gNoaM@iuul%cw{kMEFjIH^b)JR6&kccrVgpP zn5PqRoz5G2F3fP+XbTPZX2r0o54E|NPxsq+mt-3_%`j($i&M^q@@WD!$tD>Xnk4R~ zn$SdK>fzCD<%Qz7a!+dF8|&;`%v*es2K(ql95yF_&wW{vaxk48sHt*h2*F8M zeW=2R-RiiKwkbYUB5#_Wy+!VG%F(gWY;J~2){d$Y8@Y4BM5+aiZmY7YiTy|o+w|DD zb_i3#(9$C5`+!RDY2r44Rk<=V{|TOgJxWWg)~Sd zqxCUQK$_iXCmeZnyOS3=O5_7QCs8?M4*Gt|p{;)m4yzfuAsZ2;R6HgdxP~%wzJ%qd zba)e1T#DcidwxjJvUJ{_SCUD>4S7T)OkAeZ_3pqY8lbeA zTu<#?y+clmuvy6NDzlQseo~E;!^SE!{xlb~led_(r-e$ixrWYgH;uQbv`?s(j50e8 zXD9)WV1&XPQk>%OA)%N};v%5>N+FL+Z;#K_kq@8C$Va5zxN<6YxYV^-b*L-SBgE-w z?ZM^NGLGmfJgFY)E#hs%wadBH*3&gKG^DItOay$X=2*E{hzOGIXU7A|arEhgI5=-Z z`$CNNqnW9}NVaGUL|YL4vBCZMW}Rv#!ujWHYe*qFlFGTeB+KEskTRGn224(`{OR_X zPlHp#E}>|dETNp(?CIt(I<644Nce`*O*S}79M_uB($84Ykz1`gGI7)Wo~1eprWLZ+ z4bsxGaXX%*^E_y+fTJZ$TA5Mk=d46Ff*ggDhFS2XjIOOoLrgf#JQ?i>3z@-L;I`*T zK)2MS(dInH=&Q)DFqS7Q!A)vw!10nIpq>>|IyY{&5yA3^AfQznQzJ=l)rtgpb&%J$ z20WMqWY=u1K@^J^2kM`k70w-`pqg01Mv%wELxVHUtg>XrlZLBhOGDSpG&m+=D<$K$ z2K7V7oUKt^DReN1CX+Nc?XfTwbVOsK8Q06FvM5rI7jReufx?DzuZsNGbj1Upo$y%{=gt2OuyT+Sl z=UQFN{Y5or?8aT#lyLBAGzuy%JEydcjMp|gMst;Mp*2V%NOO=3kbIDMkftDMAi0b? zJ7QeWVmtxhI7>cLu^ZcEET}CNeFf=)POyw*=m}F)0mJ8W#yf7Tm31t&$aIbvpX&s` zt;mRrf^EZ!_jR`w8PlZ%Xoupmu9QbAfXmlxKAumIO#r?CwmfK&BvRAh{sPAT2=}gA`f^gaOF{ zNwE$Pw#;`4&4bYdxv7>AlQFTJ;Zg`^1nD-TMQE%vB5=>c{baX15Xo_g+r&^P40;9Q zR)k8!TG`U+WJHbz-l`lV$1&-Qrt3mRDH_0IfYia}gVg=cg9JpWathKJBn_lJNG?bu zNHRzTNXw|*$-`C+N|NVVyOf>tX0>JrM6yD+P>dRgO9(EpuIDmaSvv0d{mNkJW)abd z0MZO39V9P8P`P#8Vx@%^2Kmu(A zzascGz^?&*dGO1FUk&_fI=)~j888l+0PvgvY!&DW7kt0f1ry5|*#q3yG@=N6FJRBj zETYhOrTE86OFfsxZK0N#mgo^jbcDtxh;fpSiCMEQ13G9W1+ z2_Wh1ip*9@g&{(pa6|{cI{4+luPk_^I`c?5GU=o==^UgOqzt4DNJVMZ+l1EwF|yCa zikqCP34;Ry@yL8-($UHU$dH4RE(b?lG(kfTc+MWM?iVBs0lx^V9>@imVkT%1$b+zj zr!i;KkJkY93czjx*q0FwaO{&}3q0{uP&{W!!H;1?teyaSyA-gDqRH%#JikC&6S8s?oyz4Qj; zRw8^-X@HDM9oVo6K^n5diU(-}(iEgKNE%3ckX(>RkYtbw){D=~sSubE<*|FVl`C2C zT77$DxP#0%t;dq=Nd{7=XEFO@D^)TRw2zlL*QS`53>@Kn&S$2=&9RnUY$9W2T6ly{ z6DA9EW?o|af=|trIm04#xnT^)%tUzg#rL9fTPI*Da&rQy`#poydfpua{ebdFf~L5A0AFGNN!~4EQPUd8Fofn(hyGM5qE zAYmj0clod|KJeZX^Wa;g8$TgZVZ-degYP<+|Fd*5l^I+xg5qlErVhQq0ChumNb&sUTw;Q5j)QZnU>HR- zQ84z$wvO&$a%WyC(zf!xdw{x(<<0~n@@ zz3U2f<;;<23zsTgs9;hjk3L?yq&g)%6cLMNfAG-2Z3eARZ@2z_=dTu_vsgMvu^1Of z0hEHxAw+X%i6~1%E}Fw~VJ(r<9ND?(Slf>^(%O;GjyUZGC{0H)3Dk9EoVQ`M8al_p zc|%79xs}n;I7hvB38SavUN@ARP=>#ef{s#}MCz zq&Y;+Kq45f4mPU_3R50aX`<**e72cdv7u;hGrQDqEMv>TsX!%pszXr@jUCJ1@^#5p zoS%-MNIDq{%ROn1McTY;p$IRm;w8bEPq^RyCrk(x4+72(2EvDe&GaeQW4Eo+GWNaY*DT`TT5Si3dnDz4AC|oPZeH|^%HkiTs`tm z;#mRU_$dIgISHD=R51CbyO<7fueG*Z|U$a?iE-Z1)%~Nq2vMRjVcS`b(u&_vyXQ=`e#N!3jJfJlsDg0uTBHMQZ^=9#A5Xj+8pYprsgbLoK64 z7qMv{uTLFf33E#C{9bFdKri64LQkZ~AQdfE?1h>ces^{veS$r>(9fPu*(WAt&nLuX z)d$k_PYJPlVL^&fl-RAo#D#T`=TK``uOh`3@l-E&W`I9Mvj?7H0WK^6iG)c~x1fG? z1YFw88rM40!P(BNfoE4>6pi*R#a=z)(mBPPw|eQ<7rjPL6Q&u66HP3o3+j3GoL=fF zQ$qaFiyt%B%RMS?q1`El#qZt%q^t$qT?tpW(wS_^$`IF?=NIpMRvD1ImJY6=riZhr*#b|r zz`uC!Qf7ek&JA+y0oI39;1fe)RuPbq6$GS#g@{R@`N6f^eB(-PUO1bZ z1VHCSN3mNEr%x0TfC`0lpg^G)SQuaQ9j<|w;w)%_01bZ8pMgBAySQDnAeU_` zILFm8!LE9Iv`6n-1BU}mXj?hv?JsVmUq1wJ} zME2I;x7AqNtZxhz>IT`esfP^sqoLc;Ems$}cv(<4>fY6|cajfj^jSl&`TM@znT3pA z(D)%PYEV%}w4#tf}=U@->ms6uwUnD5ok=9hl1~tP2R~ zIvQ$d)Vv=Lgh*e=jj2l|N<~O)I>wQ5`;`DNU|d9aV7bp937K-p@&-qLTR${3`A@N< zoCifkq&=TKsjED6Z4H=HPgIxHS* zDErYFQZa{857f6L6#@qX6RXlf^P`kSumgOOkf@OcaYx26KnKNZ5;KwuDK+h%8^W$i zx+e~>=giV+*byN^$t7x6Ok%Ow@(`_46z8O_4;4AZa0M90PQK2(IQQ)_6Bj5PoYVw7 z`M`1#$Xfpv!7>& zvB?dv!)#;3)50XFC=A0zUSI_v6Pmo&>49luBgN0D<|o& zG@+}}I@m5wh$W{)T-kK+nu? zdMH7d-4h>rubvW|Q?3(U_7Zgr-B3lyvXjPNUWF--t$ETotTw)VfR#!XBoFqE121n^ ziEH@`y1~35Z*Uuy?A;Gb_h4x}S_B9KUxIs^05{59inI~lOPyEW_0D67WT1IXr9Ple zHo=YvPm2O?%2t<9j1`3wHa3K4XiB^Ow)j+-*vNpCdqoVYq`HiMU4wyqd<1|$I7rl^ zVJV-{bs=`g`6+{f7FV4m=NOW8q8bx!~-v3%)H!fiv| zq*gL*Up;35gXh8QNm|gHzk99rnGwy7k5)0xk*X8ezABR$bNTMk4zjfi360>{rX;+z zO$tDGR+Y<)0+AO1ZweffP@I6BdPQqxMb`2nJUJ6y%5{tP2JC38^8gU)S$>Wypr`wcIW4tcfpc1b|>_2N_yWS1xRbESm04nzi55pdS4 zynP*}XzW#4Z^Yi7Jxgu`y)7o{3J3pHF+)ma6^@kIr>9vyw7qv`SLa*nz;SrMxL>57s^kYOvc0&l|m%@ z=g}VfD+VU*HKMW{MnM7wxZfME_KL(rEMBi3q=fp=Az|IK3=UU#OJCg4dv-vN%dP_?eaW^Oh+c|dr?uz2ZmBa3h}&S7SA(Ey;;@h zO@A_6{@C|t)@#pfl4d7*_SOl$yQ!XT4>JOy;4xw2r)$N>bvN2_`EGFGp_b`UBl7ch-D$HSo|`HLwNi`*W_t>Jy4ixgt<%q(IP*vS03U|Bi2#|e;WLAsrC&cJWOvdqU;=PMoU8NvY7JXq zZ60*&+sg*9MA!u+oXa#9R_Z6;wDv%WQ%3r#4*>J5(y_I}Fo-OHe1}_L}iysMS+?YxD89L!UBqaH?X zJ9*b2H1Nl&@u*>-l+(M$73?v#Q+ILUki&ziFNv(II`qjBu$5vu&4^o< zSO$w@sNb}f4bKN0a35v#2JS;0YN^~9{zfYXj50l$d(U$9eRCv`zNZG}6QmZE>3L(2 z&l?;L)*uwLN&m~ACxZSVS?8s1e~y-As^WFY{`&KcKSXi$^RE*?|8;)mpQo7qAATX1r-=K0r&%)ikTcnLpfj1oMS7o)};}FZ{;FV2VyV_@RppL~2VvEX7Vs+=0?$5U{esn>G(K6K?cXGR=OsYC04rx$eHC(C%k{Tc3pX%AO?y zwha)HX$OhPoMPgOw&YXO{`4#sv873>;t>FU+TC7C_R9-I{ zh%n*p$6%TJCZQNsPaK)#prfc~?obPHyI)jq0|8q}Ow<(c{QSfQCkLc37f~K!<%=~l z?~P>ATN%K5gNQdxrCW%i@NO?UGTYVLzM?~sU)Kw)aCgJUcr-x`7=sOZ0rHZ&IYuLMYI?RBYjf5~NgAPsmab8;UVKw>5gRz4&*#~4ijA|Qpf(Ci zK9rsVGDff$HlPV);`OqbO_wzkwa^^Tbl8SXMP8E9dFX4gTwM{vnM5H@91f2u5{FSyYbCOdEW@*o+b>4g%hZJCidRX!Ql=JHy$|R>WrEC}Iwnj;62;9X_eN5b z&MVTJ^G5EF^KMxZQj(Yb-pXBYayx2`))vuKUp@1>+@YQ#M;0`Al1lzyq5}*}pQD8R1fI zX4!)>YozJ|Nb@ab2#dZujV=gnU&bJ-zth>kozw4y=TcJebri580z$`fv$-hs4=6)hhXn-%wWXBr$DZP5V2^GvegFRDELry7kiRyOipwL>c0c2kWwl8-# zmRw{tx6nOSalL!Xz=yBE&qYuoo-z4gFiD0@s!<;9vFsPiJR~Eh%1}ULOxtr2iRn^b z#_*YlJYjr}=UibWQkj!>N_5QOa(Gx_a~K9Ap+(aBYLByrhCQXa5YH>&`Ov92h{gjT z#fs-kmtZeGyJk^!Dcy>vsPf*!qNB(DF~=RSZfL?dtJ5NOV<#2)+En`MowL``KEPF! zbl%pf=1&!Ig0$A$YF3;n--eiwGeUY6M>^G`yzoA(s#+uR96zTpBnwHV2s$3Aut7qr zrx^_l0gtS9-4CT}?$A>CXyg24BZiXtNriDZL7;cv)adXX-wL+S=%<64F$=(RVH5mz z44$R-Y*R13q9yDXpV1;O?{R8vYnmUETQyY-ClXwhYaG5{_c~g;v0QuQBEB@zDfx$gqh2W2gTyK zsDs|h@#+#JGYu5aE5{^dwU#VBNaNDTiO38+F z6?4QQ0>RG>I8FWZ1tb(@IU%gOC(ExKT_8}D2yyKNct!P#rbO(9*g{sNng$UcRPcJ9 zTuk-hSi#wUj%k3zw~%SZ%M#u~tF_A9EZU#0HJ0#EYAyAa&EqmnChgnwQ>D0$nIqcv z-Al*r^L&k*aeF*bNfhoZK&9+VztgGpf~Ug~G@ zzE#xh5iekQ-S83fuE0op=Yf>hbo+k8yx`yyb$j|v-Ot#W_g$js7ny!XbKjbA8r;Wm7YdR)U-3Z^)cC+j%~3tFFl z+=3r_>5T9hu}in&UCDA5=V4kd$=k!_thZ*{o+z4$C9!ND{{wqnJ}r2R;fY8*fR$3g z=nXtbRmJiK06}z_`Lw&iKG`r-PA-~kdOCxA7LtQMc^w)#6n-Ah{a^k9W>)jhYnSxh zyi8H`^*Prcf6Aj~&i+jBuOFGs+46I=E@eMeSC;-6d;Xbj%cd%?l4z;=?&muD#jwlAjKPP#7@NW`f56yCt%R@UjVX{0Mm|j9Wb5x9o|lUgTc<@-B))H`XJu*% z`1|*n^6^=8`wGa<_`10A?c2h)l?r8Oy?xDWm3nxNe6$Cit9P0|VD;q}P&sOiQYsu7 z*tfGQeMc&^Mp7hQ;Em{d-mt?ZJ}i>BKghJMv@4ECm(@N@w$MsVKfWVlF%pCpejS%J znZVm2z?5269zQ6*@<`q@`hMxmRSq574t&mkM_1Y|0f+E%7Plknpszi>eHCT?0jqra zCZ8ZQu%FPE)vGal>bvsuCjGE|2@||%JD(w~@Rn6a=npa#T7HW|m9-XIx?P|^MWN(7 zI-EqQ8C>|SvxMhk--2mI+t&{=RUTT`GI*llDyR<1sk#dC9o^f)ZZ&yCzV~P*%W}wD z$)(u0&%cvC>mXolZ-mheom7MoZN4KjULQwV_)#~`M4fLfJ4_#%(tnUCE3H=^9@mYD zRjO=XofnYbkTL3md=!pq!toNgS9^iVZQqg~v_EIu{@!X2)zzsF;LUS3seDIAtl>*| znBqB7>0$}_$u}B6X+Pjp1?jKpG05euL|nTCoCn`MpQj4AnME4C9(WL=w=Z+n4;KDG z`9mFRKt)JhFJ_y5dO_Pm`i?F?q@@EOLQb3uh%%tJ251|<(?54oXtp`VUYO$Ezz^MU z;+*-8E@%UBdKm^LUGqmHIG>bHY5W1F^afiNpjWha;ZMvz&}#ntp#J}FNoK5?^r=?{ z+;bPR@S6K{x3T}8m^IjP-XVLUwIY#J7$UmiJ34+jY*qRcMs*o3^id?}`52zhAFwb0 zMz-yr7;$03^ZN~3zRi^O#9ftJ45Hu5p}q-C6k2xJeo+6c&A6@|;RV!Fm2EI9zJJ@Q z8R<=LWaSuSoTcIjk!h$>!TABJ;d6?8mpSvKk_@g)o4)yh{QXb*|8e37FfFtviX5l; z2#JKL&|AVjKcLo&kCweTu9&6wfELflWxlh&Y;U{`B9XO^arDmCd;WTxsrL^ul|Fz6 zBU__0a@V^XC2h^O`uA$h4Bmk-nm4%eOrsNssBwRU|JLyBqn;uP8cxS}2td#1TRKhE z?W2J)wPw0vl2$XLi}qXnd#C00u+JXLf@%mcIyb;X{;pFo@QZXL^Y!=)@q`UhI7Bh@ z{t;4BxK25>%gx)$vNmT0!#)0vjs&WyYw?Iv5LZvY=wWt283sQne{-><lNs1Kw<3;g<9Z$LQ(3_EY!L0if^`3 z6oe1ZfjV?-qZsi;?9Kl`02nuPSp$3rpx~%A7nB6{t^e_Y_R6a%Q*nn%KPMg(WS=E} zgn!^dP0sSlqOH$-ECg~e_^$i{vmZgsC?y}GsH&a;bCP5DZKK|)axR=W!&z;wh);t( zX2kF8?~^n40E{k$!@5Ln6VKt&t6_d%|3sJom$$mQuZ^gjf*HfHzJB2UFu)*bgZYS%Au6H>)8hI4-Sb6(5JlRN%aES%^Zi@2NNi0XJp0zmJkiK@v+xtONF_67xW>d(HZ(!+s0W9%tr)GJEBZQVg z3kAltXUZ$B_S%1Bs(QxiZ$Cx5@>PQnod-zd+d`FcowJjL()Ob^i7|=GAQFThWGeX& z6csb7rdO7UEp|fG^gFuKMPG^_Dj&$1s|G~sH{`e55Bfiiim(tk`O>PxXU|0c*~s6q zDs5*+)EqLSCig)dAP~|dT$UeXstkc+K)b&7N|TCFrnc>O{tr_|ZrKv?PAC|VShJ%G zFE;y;QdL7t{=5@Bc>+Byzt(Jyf8^BvPx_zqe{cE`0Q{%Yx9=bRf!kyHvDD}*-XGRW z%w|3DXR2&}K&{tneUd|LUI1KKQzBi)cZFhMO?TMf6UoS;Af{Ys{Of^y`~LAx^2<>9 zD*BkuJ(<%j+vED5EYyE@VrK1D%sfI(6cHpL8HmffEWWkBcTx)!BQjYz93P=dx5!rS z+gEiq^Bi(uI%&dr?4I}$>GrlRKYIU;wcLyk6#uAnLnILcryumc{L7zaoctOE>|evm zeN9REt0;4S$fl{E{uHz9Z^F<00Y=4e@`?&n`w_*!K3H^aHzhMr|;?h6?+jKuI?hM(b_Uxdo45|-Xg zM&2dv_HuK!pr2ow$-2?G#hHw1mfQ{Ve-YxFhQ06W=tAS@=d9n}((MA=nQZxv^!IUtexxrW^ypC!DjTPZM&un>84>y7WlI9k9&4JsK zcL3qRm5?!vKCyKtwb;f)=4iNqJM=zoNB0TE5cnihHUj`H=nwKW&;SSN*D}>&9ai8V ztbirqbg-)yE1CMOOih4(Xq8b2d69Y&y}MrVwg{~hv6>SL6=DirHyg8o*-yv_Hv5vV zBi#k7bb_b8-*pe}?d_4@j;>8I9mcgcl9z>|4ms%|*N3_Xp2Q292#efChmN%GvQA%t zyfT$Jg|bXnU^k_&bZiIEaMGwzM}pwvfrv(HGcF$|pPIe`sirq1xosgBk@*Xc#|#su zmLP36lK_4)P*e8(T!ml;fF&6QyjI19j4fY@<0-+8vE^G}t@ohNCu7Ez$kS$3TFKCV zgk%`xL*U9JR!fa>bn#&^Zr5Qes1@W`XoT7Z<+;4)CxdirAHEmosTOju4Yr{TF{ zIECPKPLi{*Iqd81=|PkN1dhYcl4?mBnvu!?L^?AIl>({ouF9$yMgrFoh9TR^M`4?g zt}hzfVq$wK(ySCp|9(L=g&>Gz!~HOL&xY=`!=j?lPWa-KJOFvB?!|#H=?V0109xUe z4L6PI6JD-iu{#To7UrP?-u_ndt>hKQiBrFNs)lIs87%NS!S>JgRk$Wm#ptcWP<@u? z`u4by_=+fdO`F+Qg`S6*D-*bJT-njG1iuPG$B^^~)J)R@LO^n=8S?8TkOn{stt-xh zo8;BU9-kl=y^G-) z5R9PySx%%b&5ob?b@{2!e~SCHOXvT5B-D35$5|OQ`Okg+d-2e3M6CaI)q%esI{&w$ zApiYH^Z!05@!y{LcOi=ZUU=f)y*lhK*Z*yOSo-Vlw=2Z{<4E!U`TOnn>nfzb1V{fz z@$5I%`Co!&|4O@j0hDhU`z@ILTY-@O8twdJaggEoLdf{AGL*tnG>$S5xr%1Cwz#lC zo1)$)9HvE}{_T=01=Gr52grB2rGqlB#e4bm+b&=$C61{~W*NxK~->uLq z8&?WQdFW$6{%3aqZq=S2I(aUiRf>SsQ(Smk0?B$I#^E;0`4NrB!(HUqBMf~5z3EEP zYY3NwsMnWErKxIp?|f_Fe9;+eZmH~*05g?IhWp8lV0)K z$*G}Y9!2iPe~{OyRl}j-xJ?44t%muI8I9T0#@ph!-(({t%t}S&EG4!Cg|@Y#{9Y3!Uf zu>kD>$0<@)jP9$;B+RV?1j`5~ck@Iogv2KhMzBj@nBem1I>TnHnJJ#5*)Cq^<5?Lb zN%$3rV26O(~Sd`Phghc0@(8Xh0-s;g{93ITlRMQP!SK z)$*Ip_5KYVBKk!^>#I)p32OpfM1t091SFBMtIL?AoY1FpXdH-ownAwp5-%%M3u-*5 z50t$)^!*saG&wKH&IPmXK9Z`p=NXezVaFg>D0~XC^@zTwkKoJ(+O|OVzB*@f+os7z zH`M*Nx-2(D1Y$Wt%=cw=Rb1xAWi4=pDjDRJELAf*ba{|Rjh?^NROwO9)Yv8fRy!J2UeuD+V*~I zil)esh{vz}lq}5VAaY=_Osnd9bM6hwl6of}PvWSJjW-X>e4>qM==M$Ud14i3R6#;2 zC2_XmN0I=kJV^KX?kmyI@e7dh5HMf_kn;_HI?i<#%BHvj(VtZzBu?gVp%sWjI7_j0 z^A;7AqP@uCMK3Es$~bL-6W#99%RYEx2DO?)(!?YWR;#I*ZaLyf?h;*}c>0+i%;$l=;pa@eq|fEI<+PL>Q4wBQLXJNZCo_##O4G5-KBL*_h>{^V^XM#5SGYhQ`A|YVu!3-~|r%^MA$3X1qhg5GgMWyPC8J^jTyi z`+d~>2XUyAH{;dh&Xwcp!n71EsU7j-*&(lt&n7S{^lW&x37oa(#+9o^q{~a!Jbe@z zG1@aaQf)Z;ad+52k0GVUQ@==BXOve?F&`CQ*4K6vl~H@Q338v|&64Rqx~9@Ph_Q5u zugxNg0)|tZd9rPht$}wUVh!hiYSP{}O!*7Xquu5*4OWf%(7{#|#iLhop@l`78TOOTzgMN`q>q(TFvAQJr zpv9x6bKZn-rM&i8+!XT`_77GGzsR#xKJK1$)#WYI7+|sE^J&waUze`tzW3QNy_T`J zMKM#IWrRI?IJcrtFvOMlPB@2Ixty7O69)fc6t6!l*OfxX2f__t^GZ~ZK4HCQvgwiV zFadQPtxp%%%5BE&S{d+)o_7d7msSvUem22zx~`xu*O^_$t;Pe6Eu-sVjY5@lYc?_Y zujHr|4DwS2w5@~>5|UiaW?-SG@my)j>>W2>9}^H836#Tr7D&yV{t;$cF^xTWzDgaLS@ii*9W&@iOQlrtI`s{nHa(fqVdUAX+L&HyN z8CK!*9d%kLam1Te7AeCRq7Ya5*Izbe$TxC7@iirnuh#>gtbD&b4^LA{9m)r}D|L0Q zKzWJPE&emaP*0f(^mWApBYy>{P6KbcKDYcu&rl~fed&>sZDa@SyvP^y!LO~u-pl&( zF#SbHVD^c2Z9c_{2OK4)CVv6BcjpkW^b#*_KxKUP@q`b+sotOvjx0z@cW~+W=i`yP`eu2u)V=yopUnK#PZ)%* z$3hB%O|o4uoK*sK59ngtLD20)7GK&}Z#*v)(0~S_Hf1 z2^R(`*bNFC@2T6?LdSOJLpU}73I?zfZY_rm7Y3cD97rz$y8Lkim=C%ra*x~4*)O2O zyjS2>S;@`e7~jbCT|_4`CoemTqt+yt2o8!am>rwf7=XeoGN06dCnm?Q7J`hx=NiI# zF>ZO%E0Gm#X)HqN z-b-q&x9v%qdR0v3iP{YfAl}hJfJDwlV6WC8s1K^LcHrc+@5w347{J)t{0wxE>@m#M zm+cMO(Z!z)Q6cO@=mgqmRi%GaeXNc$kDeC=QgbsZkEfCE%p>7q80Wv<`Tv72guj;2 z`SO;2#~a~rTjIsRI4Ry9`PG⪙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⩔+5(1R*URlvvxS{Z09*PA zs4sCH@HW)Fc{6q_Cjq0q%sUYro2m=C?h z)!6g9!M0P1zYhDb!bzX>Y*VDhbw9f8%mx%wjj<~-^n68=7sO~#29H~z`=&%G>e%IMgOS}Q%@s=L{}WT3G+T>=w2S{wo` z8_~(g8HvLM*UtTl*D2oUOEYR2ZohieM=piJx%XNT6;O(*DtDL!%|rpjTs!cZz&BqJ z)r;Jpq?5oGP$rpJ6b_@_6p@zR_wV9`lraVjOmzZ;eZG0?D3yJD6U)t*>A!Nl!bCE=*m2XIM!)a^j)F`%PM|Y&R9)z;lF9V39_X8@g zXWUKSNV=#CF#NlrIBSo|XBwIygqf?2FkZzl!|7CGJiQk6K7i^DwF{WQ<=vg=t z;B8FR=F{*P_X(>a>E*)?&&1YJGJ@jf6F}S-kYLRJUd{!y!`8XK-LJHE=1?9DeoEz+ z=eWvNt=hB}e>9y#CsFJ_Zi@0Y3&7PWZ{Nn75&~iEzuQ(MU$+yd%YQ^{c68#wU0o%) z{f*VNwNEv(U&J7ORj0BZvN4NzMZ)_Uy1nB&bsG($t{-b~_T=N_DuJN#+Y_i+>A>pU z&M+?xuYi$rN`=pXPx}lP*}e=!fNyLVe>_}1{4Bg809NZpfzpLDODT@8zP9~^edet!acdWreS~Rd?cLEWjdXT7&ug#-#al`iCC( z4An5;hGusyU3QT!x8Rq+j4FaG84y#Yr(>oMV_R51#mbSeB+7J^*bFZgxV*A__8SMk zTnP74ANwATw50qkqS5f&vEO4_G21hzl#c^XxXyefsLiOm0fs@z!_MAwY^e8LkefHV zV5;F9ZcMOT)h33m2;FU7j#@Sh>_;b@8h=jjNL)uo<4_wX0ym)tjUc zsh$awxsfIp9~QA+rGn#7#2lU|S)bzfp`Rh?LyB&xw3g%u;jN_y>Sx+|`-yzORvk3Cj?m+e;a=K)Q z7K|ZjBkpM{?gANy><_GU@fc83Xl$rd{ayOCfESa z!>{G!x~v4EdY1;N8*$3t63i*X3g#iAy7!(_-hPZDbJEX^lL(wsr4E#!R}%} zTsG<{39i><&0DLxt&L!LLUDQgA_U*gVUdt0Rl}s1BnxCY0d{q(s@XyuzR~M#qyzE| z@w~qyNM*E1g#i%q8ZrJHbVNMnfHLXztI!U>*tJpjZbX}SEhD~cy_dqi_Mv0xK}u}~ zK;f@I7wH4--fl#U28ZpLEb%B>$!;0*viY+I1Jo|NqyQ7MI*L)A%Pg<(LE>Iasln%i zl;2O#bM7AXy`RPWxvwTLP(&K1E;Veb3D?(k$k+#GayR^z*jKZ+cbbf)a$yOMWKq}l z0h63xxU}cI)gb_&_QUl2CrwOz3bBR-iKb){ko?}{ZIE9F#qp41^SiIVb1MxZzrNYh z!q5t%3|6WwmX%56kk;oXAhx#hGC?WO&oL-Jhgo?)YrE0o+;C`U ze*p_Cu!@`ny;SSAs^mPV373`sIp3KGTm*qTL=fNhI@`W_u} zw(+(q{BxK2UBE*LXM5+=_qV;at6`{|$Yf+A7mE!xx&{*pP}t+&k{QAk`Zy&Y1F-e{ zehdgXZ5?N~)1`>f;o*<@xzHe;-j_Xr$Ukj-D`H2cyd?XriZ!QZ74CA)E2r$Q19RnJ)v;N@T!`)|%qLY}qIsN<_59Wd2Y4HZk*arN9b5d_F7n3siXQf7loYAs!C z3~r*2638|b1VtL?HNHZDyg#`e~iQu>IvF`%qt$suTZ+0;g9UQI_$d~L* z)?0Do#^sR7Uj=@wYO4UM`+;QqU4Hn21MRXyj7n-C zC2EG`lK>zBr+N7`_RP$M2>G{OKU4#RpK;j)GW)~+DJ}?|AITV#wJV26vSQ6_Q#HZ! zC9*pIH{5nWxcetn2+%V!?Q50lEWf`EoI!Rzw^f1@wx3iM6Zi~8$q~f>g6b(|G)q%! z1-@Gd%1hW39yk>M_4xNSa|<4zSPqXj;2cM2WG6EuJ%fuW45ZkAH8Sfi)RuqC@yI{#N55t&4_qFCV39;SY$9b zofe|lL$PJIyI`h##z(&;-W0v`&S9{xxSZ{=V$jWIJ(uUD>?dvV8VgP@)*kzAwU)2# z2xd=#?l&G0`st%@Gxu<)4j&#aPEtVRK9Yw#L)@$RFzS>5rq#DL#cs8}Z-r(Z{KSrT zha!i;YR`d$hw@@k@4u%A9EQo!r z=8DEH@u8F$ro+vTQ#3lkuEl`0QeW&YpI-%s*khQ69K-kE$4xWSagZ-5O}n}WJQE)o zn0GGSye*VTgNYvzWL<9*p)3ToxEsC~;fny&yKT77&)-eUGXyFN2{2<8#Z--%Az9S9wmMS zeyOXY#hWmsLHT7U63dsEkI;I)XIof50)=%hiUE&AfAKC`&8|TWWezia4!{Es5Gkh6;_k zOyv_}nwG=107YZY_{*39zQdBhP;p%DG!tv*4Qv~&$js3P)Y4aIfh-vG9Z`bNOYlJM zS-LE$%Om2sOd%v2!rxKNhA|`lb0im)?4uD_Hjn4*Tor=l7#uI@+!RiYv7vWmX`Pq% z@~6PA1JrHwp_?-1rwPme6MO^Cu=_L_CC4O`pkvwo0q!Ac4=wJ}(r)YM@6sPwrtX|u z*b9MT!#1^6YjCW!Y4<8!=|Db-4RUI3I+z*aOlK=t9HPOvPygdR`V>e2tbf zjtUhSJmqB);=hb(5?Z@xy_JI+!GkYo?h9F8lvOFukAE;r`qc1Od>lhvqjMTG9=t=a zXUD6v>~kGFMGO~PqYLBWNVKEi4~{Db?>$&qP(N8wEPJ_wQSz@*hY*mFAUaWyo;^G1 z@J^pvwmB~O?*d^U_~bG8nNt$eU>uc{#H>SWQQE*5w~vz3*h0z~icK2~biKIsA5xS6 zA8)6c;)yh|q0Tt+f!#S`0i>U}e-U=y@9;t}V-PH)X#5v<} z&_9<_qCY0vH)Fat>d2IbCPP$4+4xK!E3ko8=tNKxo*q7@0lviU|floS@GSF)9Q1kOvLUfeA;6eD;{`m;}nQbb&(neVXU1q({ z99-Ar+14dB&R+9<@}0?}<*}{LDB1)@z;wiNSB`Yw*dKAviHWqzO5hfDT-yw1VsJvA z?bpoJ$->N!E|8FUd&9wlIFu5jvNA*9e$TrfvFOXp0Po1jZ<( zp?rG^zggn&4;87afYv1DWT!uQA!efeJ;)fs$ZOIuHo&6LMU^h3vKSfjwu|-OSa=}e za7;A;6Z7a8^ie=6b$uQOM8nNZP4D?_d%9(|E_eR-!>#A*!hbZ!FR_>IU_{&{6dj}j}Yl=ViWo;S-}Upivq1q zf@*1VjsR8r=DE(G%QlXz?YJ@PL@hMB4$(v^Oq8DWy#b@MMX*pJ)3zG7A%^A9*J~uw zoc%?fbqX!1i`18P@Jq$}Xzv!#%#MNCOAFYxfN{+*M}IlR$+%|?{f(wCK8)KHo0 zwxM`24OpaKuLktG8pdl@nE>dMA*SWeDXj?NlF<(Mk5uB{?LRtjg zM9#xNsI}iT>#iiJXgIQ{d*8YcwBS4W7Z@_%FcTz0X|CUSP5r}KcFZfBkSf9S_0{F8 z)aqGgAhiOe-&Zxn%;4^1}=9M};I2|jN( zW1-YpR`Q`))zV7>4)ynZoG9)NB&{T;dQ*0JpnPY#DeP+1M^Jgx3snz4J2}l5ESWkP zd~S`I7wCwd@I6kbf|vz7e2B~`e~h~cO0fNnkf!^Nq)2L4Wrg^O4S~`$wYVc*rV3^s) z?b|7ml!1P)F0D6dvSD={O!*l?JVru*rNyFEgaRvmZ&13B<1Sj=SN!htbrrZ-boBsT zg3VHcQkotI=S4OQr&t>q`Ab8?YZLqH1t>QbSVK;NT_iEuR-j7PjRk~%{voX%k4kM~ zs9O7X{#ZoQo~(218_5nBvZM5g@{^P-%DV4W6HfAD_cukJDeq9&lbkmHQE2wDKYeW7 zW;sX1148i&GGqJWYm>6!duz2|B(7?@f6g0o_jT^wSQwZnl77}LkwHT#(KC?2h(%sv zecE{VYSdtXg#4hrI=2Vntn}vujU?(dCh#lo%WL^48A6!yL^5)4qph6~7?&^$i_K`| zqqn>uA@HT%RgtFW+4Uba*rQ~0i=LhCM$P`t7yY}1(5@X?15!~*T}b4-O!eYL=-uPl zmHANf)*k{NiA6QX9v7F%^;BV$tn>K2m!RPIC2{ltAc21WF3n~lusfvxNPGnXs+BUa78gx8Xzqqc%HyRILy|wur#lE4m zQEdzGs?F0K)N8m1Nyo%kbzX-(Eq9oy*f=n8}ip8Rr>iaow|KGz@m+ksYiO0@&f%oZ?*J~bl` zy-u_RmdAG^sV$ssfScBKd~-?g`inot$B1lnqCXWtciO%m8GsktOJ!S3e%CUBk1tA< ztt@&BY8WMNC}rh9XB!QG^Qi^^H zJho%yxiEb}41gjJ$vKAtX5^eh0axGneErXR^}zOWl}#aOhvya2mK&QsPiSw17r)hS zm6K-DMt<$0@9qeT+h?t7&XJg#mzVOmwQ+v?eKr>7wO!S((U!Q>**kXmqQ*)AI?t$e zn;Cu#ed}fN7WIef6koIIOSo9?XR*RYu0V59rLYS-X+H>C`j6S{lnyA{n**E*(Eomx z3hk**(rB!SxoN>JXwvJ|sM}!2dCcxIp{1var)Amt(?Ow7+mVt?!!@?w=CKP^8}1Kp zBCf49Jh0-@Y(#x8HCv`U(q-8jc^jT;dNO zGmlhf6K78M0|9qQPjPn%cMkOlsh|=-GZW%B^@Su!0;R>LJpEf;ggp*o93SgT7gWUj zkS|*NExh;=W7h#$*V+mRj8FrWw$sN16vcc2mUeHSEEgliXH5~DFbShV$(<;$m4Mq2 z@q#A_&-0ojpz#XgfKr9k4Q|``w&MdHJ$N0+&7T|&&uzuu3K$xQW;MIVU6peyz2z?B{L+(TDfK9nEn~BN%>mVI zclx}D@8jMS^vJ~%j#0>xSo^Kl?%3nl2-l_XA0 zl?q)Wu1DNi=}BuGNB+2&pSoXOX|bRG!9F9gBi+y8r7V9f|I0 z(q@Lq5<~h)&WNfkO52}|Vip(uG!iZUEfoJ7k4CdQ@ozku@NbQ?8@YzRw8LmeT@&L+ z6Z3AoLn5Qp9d~h2ZC9z^xQ*p>o>CMX`=eZcbi0T5QHp(IN2I%cQp#CZk?4y$_8P1i z>yq1}2|LZqi0_A zAsQ)9ZP+iIE$YT6BQ9%b8uswmi(xt9ANbhtE1+@^*7#3Zhh001aF(PINOuDD3QhwG zZS%Wqs+>E3f0N3=qKxX#YU<-ooVNGWVOl4qL(6_ga;n9}@#oua^R2cNUvC!R*Q&i7 zlaRecm+35PA-HCUI_(%U(kl`L$rR!fQ4=QJT$f*YH889p`Kd8e0bK%%9Pqa&_w)X4 z$FitreiTo}65`n=u|@OE#cgx#q1R~I5r%-mzrv9We-E<{R!gS$vveLGGSBxGPB>&( zeA&#>(zqa-G!W=p# zw9hhqkwb*5N0fab zzHY>+D^=V0)W31~<=92-uE0o4QqUs-W)Tknl+lDd=SrfO(d-RN!#MS0N_m+wRe+~B zq@91&J$CAK;L!~TQGpU6+;%s#3(cQRlXID}1^;XG?<+rHu^~9duarBlMVKjvmF1~> z391j>vt>40c30H)@T9yxc3PaxxwWZ?!;67GDQEeJK|qVzSB!dx!NLq~#f7&U{->2I zqoi;}u9frf^wLA!Nc_U`W7ESxtre84&k%bmztGFug$wlFxG#-$B=~aKU3%se-bb90 z`t`hAZweY^+xnW1#l?4R<~k^pNkxAy8)V_hel>OxYJ4_mqOrL@AvxZ`kande?M|Bf zThYFR;1OETqNAW(*4?MRvnB5FCRQ@9-LK6%KNtDINFPxkg^IYJY`qaV`NG7e zV>o;j9*9R^I5bt7nc6GEEU}hk8Ahq^;BPd&bs5sVQl%freu%$0&@ibI*AV@IU>(VR z-y4a@=79(ga?euw{5{v0`Sz795a7#TjP9MY_q zX0|axTmfAay{$$2`s11`ny!BC4YsH(7{sC&I=>;_$BFAlK&onk@qk32unB4^SG=?qw+lFA>(ddY;gUAgM~RI z0FvCkR#UJcr2ZKzw`>`=;n1?hL5JOxt*|GQILVAoc(P`cN2)tMeVO14W*J8@h@7C- zRFdh3U+tQMihlY%s0q2XAbPk8-$*}Vfp0@&?)GZ~2W1$N%i%wo!uCg0z#VS@d*tgY zkUTmH8?*W)diUi=E9BPzUB=4TamGp@fhXtrh^uHZN2$1)mdk&b?z-O}@?qMcvIh^oz;d?)|-Dft-!OBh1DFx*FfiAsQSTaa%|{i?4OesNReqc{m>$Zc_63k@41q2>DHj3$c?sIAB@7* z?(6b{#ORPKPl}>>ox6q#flV`jI0-(@3tnAraErY#yA|KJ42~+IC`J4?=(}6)A%j24 zMjvZ_Lgj49LuTu3_|mn)oIZ*uH~2B_QKKzu<22JY?{2&xmg(@rkQZ5_8QWE1zBA(a zms_eqXnupX#0TT{9J588>U#Vg1#4#yW@C10UH2{z)SH4e$DnrN-5Z;b{hctiHE8m6 ziko$!CZr6qsrGsm4t+lgRi`53{py=kIC>%Z@oPVuR_XT`gsPgmojTHN#2)W|nS1-1Iy|jLz%sbD; zyo<_9SCJv*C5QLJAs)M6;CydcGjZMf4zo=bEgGOzA(QLjC!xpYQ;th#%bsWG+UWD; z^6Cd%@IR@J?s!MlzScvSO?+Hsr@pjp%{|xqIQj91XBEY0zK5J~KoE{Wj0E+=!vM+r zd%j3qfF+LYd{S3dT9OHw7Q7obOe8sQ3b#O-f$MVP53uJAAGye}2H2HV3ByOxyp5RZ zm7k||z0AX^jxbhZgb_ryrZyzgsaDOs=JkTTlB^*dixiv?6m+o_ucRQaa|CE7!N5w0 zw-3i7YaDh0y6*L-w5LZ~d^m7iy_6dVRnRTSbc=ILpmo$;)LxC@i<05EV3OeLp)NP< zVU_r0h0MEFQnV?$$v~K{)+MUqZ76|?`lt*SMqsXCw5_ttR}KIv6pjt_lAS)8iTDKQ z>5HGqHXnX~iCMc1UsehBc&yp_v1?WZ$si-02hubrKfPJa4G;Dnc=7IgxsXZ47*t0v zr`rp$J2kFO%qJPF@L?qEiD!(nFb{~I?Mx>QRyqO_74xZnoiJjuWZia=_7#4I9HB7Q z*080*8f3?RZo7;%hU(a#d$%o~i!Tn)3tgeJaASPXS+m0^Z-XM~Rp%b$oV~n}lpxf7 zW0PMVCfxV_xYwly4KGu>Z?|3x^sj9s0$qg1Lbir-Dc>#T$2>K^LP1e9lcl3czYaQy zm&m*0&!}cyiqw|&E3^9V_1LTT=BKr2*2@l_WgoVa%FfhKv@$GpCxiW{Uw@w8jH~7t z(jcz6>OOI;y-DJicS_yxpzqJmvZFahU{`uR7!#h}@T*5*hLgZIwx(z%to}U9qlN&# zNFpg524T=q$e~6;!^A!4JE2m>lGuw3`s(cGRTH=%uU4eAZ%%U?5Ez14Dvv*oS4`@o zJ8US(vKB^*FOL*E`?Ve#>GWg25~|6G_Vny`A?8=AAm(U#yC}3@4_vjDozyya5^Gm< z+oge_X8}g?2;oazXJdnkrPlWk23S7Sf5MpG4gCu+LVM9~P}$J;XE`<40H1ZIfy@gT za$LRd5(rYQhNqqLLQ)YIzp!fM*Jywv1I_rF|Mv&b-BsThI}dwP-@CG2)p|r?z!YEE z*ynNU(haQn5pr&Jh6;t?)W z9Hg=8outBab=MmEtwv~W_9Y@s92K2S!F5?!X=Kx-l+uh-4(ta4m#lLEbEi%^%?8BM z@??CZ+X83vZw;NYSR$b;x}1^B$Dt9|FE8!bJ@Ol+j7+p}Q?{M;ia3v0kNfAzOI738 zE*{!y*{6iyq6bxj^#y@?huiGc$8Du~kv-1Phg9#@SZNYE;2r$fQ0#4EMAmIJKIc~P zIaUe@Pz=|p6IntV-m7c<>b#?J|B3vY0;N|GTHx!q<+5>xN-}XyI)r6#mE0jwMa*vV zN z(m}SrM5Z(SXT+2^pY+--%;DQiyz4mAQ^f)M`+n6ZpI@SrSJ}bzQmh;4_8!uCv1&5h_F0he$fCG;8W1?OOf6f({QgG zRP>1mzc86_WFsE@|LWu{#3}*+QF4xrSx&K&xELeVV)@`3k>zB{3|wn1rU$6flT|=S z*MT|}G3Uzv80H`}w-C3bQn`*2KdHc(nq)A`QzZ6Zqsfu#K(SMEP#-7WBwJ*oKil;C ze8F15*7AYA0ye&u%c!ZrxDv2Zkv{P^r#|3fy}req(rsJK!5J(>>$>Emn#s|8hoBv1 z)JMo)kTY=9KzEiJm*vrMl5uXR(Qdjq{Ens*6!Q9__LA96$KoHEp`&YUp}$h5n6ip$ zoEA=VeA8BlHvh`z9%EX;;Kb`YM+p9_%X;{|hTAKHEN(LWk(YrsI_$A}tv==G!vJ{w~t17Z&e}IWHM*24K z@fkwl29h59If^u&rn_E!LIWd6s7v_JXQTogs%IRL77wyLVWR?Z>oBQqL^pS4eX}kJ z*=__dXlTvAn8Z>jA~5F@1X+sQzcrOD2w#`1UP2K4XhT$>?(3MrSWjxKNZ`W3sIM8h!)yQjpEOC4<4bz? zkb*sZAv_V-&w1Ih3%TmxD&oi@hcVD0bI6y)wzhh zvf{3axVK4Hb>n~aK)F;sIO$F2R#&J2czg+z0vPW@y3^rkCr?4iSbm~4=5dNA}~@y zZ3$+`r3}C0b6gfFBMnBJYx{Q`GH~6Y0ur_J?WM~=`NZ+F-kb`gWJUwxescUgtNg#{!Fqcw&PvyK)20VsrX6rvx?r znf9oTX!#7L0b50!e4#M1 zy=sbLmASW@Zr>HhU(Zslkp*5C*`wSK7U!Vj)!b_tdQQf+}f6~2v`Gl!mj?+`}T8tvI6b! zt^KA|7JGRusX{&ySvdW1=o3VIK?xO{LI^|Oq0hKXFTf1A)?-J4H_hmJM4AoD^XMCx zqUlf6lJnFtnO2-zUn$p_+|T#7^2_hek!Y%Ub9`ct&-<1&ZSx1^%(PWL+dWv;-wH`z ztgTI_=6$T;ep$RPQ*?7m!hcy=31zi++`7Lf1OLsUQr_Zz`B2+nHm;X|&G$eD>!Q|c zZs+(@{zMgY@U7Cl!@W;1${zR@o9(Pm4W{rcjzt!9|FXEJL07)0&gBSsdviHocGUzb z%yqb2t8dZ})0Wa}Lz!nh@&m z!F7a9J6x@E>+?k_l5F#n-#^8TB9VmflxaP^p&p8mz6r_>n2v!V-C(UMgaqyNm;O%P zEZpM+P+IH8rjFvDci`=^-%>fps0wVOItVPP_r{QMsR^yyy+0XXJ0-Aka0~5~=%mcd zQ=9C^CoYSx+M7@N;n-9vT=2d?`=M2z!`TExd6FgVT_}}qK7EpqmwrZ-9ua+Ps&?iv ziEyw8###i6k6k7MM*PagFrK`**}H}Z=2V#%q;) zEBO9fI}#Eo$+ejL6wR;eO16FNWPMrk|Eadn=cWy+p_|S63Lnx7{?=&z+dIRqIXo8( zAho-b-W9HYNZBM(o|BL~3a^__zY?7?g7DcGvo&^(DZSLjyKZjBedAThZu9KvW8j8% zsvz5dV?Ql5e&8<(hI;c=4H(o#aRExzh*8O1Il5Fv_dGc`yO#xAv>O=GVoX-_oMXpG z3b=HsvLbMMjiVBnoK%XlGyyS7L4?ZFew=Ho0UPINr2N(wst=FbMGJE_6WAAJ zLmIkisN+{SVxn$L3qMKY1Z^NX_HJD>^rqyCo8RTC$ATzRzzn*B@EZ(60o)tuLxcS| zNbUwBE(#uU^6l`#b9LAy53PCmI$mGE4XXBP46j4{qlI-vCo|Z&fgU#|lq-)`Ktc5c z{o<3`Lv0wtqHkfqto2fMV{GRPWqWRL6ID!pWwtOr`wUc^p8Ea*;o5ilwG~w~g$9H% zPU$m~Wwyv?FBGO>QZrcn#gQ{+?hrL9WyVT`&(p{a)*v5}_jBKV~J zf*lUKKFwW;qP~q4WUoB^fage+U+5|AkB6!fzzhw{PWf!tilKSn9mR^qC_4 zKm+@Y17nQWLK|ja32^fN+dRg{=1!d#-&FfK$0nU*r8OoNy?=3X=GJXibr=P`%>Jzt zpGo7?NTZa#B^Nrsk0|OK;~^iN?myZoIV%FZ>V7Fczf8;HcA_x4ML+Eo&YR5bZu$E3 zD|YkW#vFCV?c2`%I#9z;lbwq7ODE@=%B zRK}v1jC@RV_Rss73MYMG!9-^F7274^p%lg5lfQ&j4<|ti3~h zL;x3(&qfSZNHkbWfDx&JOfrzs+VKmLDEDx_q4J?TmopPdT{U9R>h$mh7;F33XwB+C!dLM`*bA8jClVo|-2K$=p<}aC{T_lNGvW)cY%5}Rwtn6EZ z@iXmo3+?OC8@v8}B1HBghiuC!0RbrzY^V}Y$1`um=wpf@QezmntADYJ3M2~S9yx&t zpnQD{WHnScV)5^Mfh{7k%eb?&zegf>fRP(s-*U(82OmtcT)_tpIV~lGdh`NTX~Q5g zQ4RaxwX)M~pjs;5M-jJ*WJylbC^(L`Qeze`mdJ%bB-<7+#JVSW&GoB{Znxg z5vQT;HFbRrUDXluVd|%yu7q<3X#HxRil?wQ5i~f$OP#8lKVEwf^ z>)6)afyk=rY%Dt4XX~bREnm$FnBN)D^S-XQeWWWHOnyAJZ4a8KDbt;0`qP5(3bhz8 z^fC9{HnUUC z&O+ompZryheQAQ@Dg%3`3?=Z{yT2ovu2a`%LJ{eyg46>0QR?@--adHdrjq%YbgLNb zuMJ@_$bVcX7V}s7-&{uS&lKBTv5v8)^SK`ZuatbOxwO14)W>~~*nG=WPhwg^O6IolfW zACY^q$xx$XB7TiyfuUxr9xL7muUg%!)N4*w@j=%An*%p#<+A?fB~Fx=*?;pA4$u5I zzwlQS*m&P_%lAF?eNTb>i}5fXWh19ykEvmYJErVCsc#n=Jtb$iyqF33S4DS6o)fvN zVJgkz%e42s7_V+b4-EzH)~4!Lbf|Wcmd^wQU<6>R42Um#Q~l_xII2i#iO(u zR;D|9p!0-2--@TW9WEjhMIGC=y(CAZ4vdXd?Z*sfdpv)(Rz?`PWDH^C@|9vHZ*6$X z39;la_P=_;m(n31_axb!=@aG@F%+r@W+oK9({N%3->8WzdR+Imn3z12HOjI&oq@MSE>z^yoBCytm* z|9igERru|3lsxj{)m2Ui&M;MyHVEY~;ph~LL?L0-XJQa3ypOJx)ZrrpGV~LG7n}7J zw9iyMZxmj7e5QXV+Uqm|GzX&~x0W!UH<(GHlp4@ijblo?A4s)L(wXG0pBO`7Op&QR z7==A%8_#;dTLTGiwKqtkvKROEJB;?TA+m`M74BhEEvO3w)q=U2$Y=UVo%X~ehOxio zj_bV18vY#<)-Z1b(?v-iwa$LZnfZ1Ti868ujTAlNaU^EZ4?V zc^wSEzV#?BMz>3EU<115b9d?WwI+Oj1(^8;zk3-j6=~=c)y}>IZ3u8#YpX)pfclW= zB+O;dUHUkgwbif6Fvtz@4utK>`)l^{(=`$~wlQm9V;oR}r9Fk!RUSrL**d=;(We!6 zIpR~Ai+D{*j80?;t3+&gF5_tlnS+(gZ<`?Sp*$2ZexF$FreAWUhtH0>M9zHydjomA zqvl(gGjN02l|b{nKEeMxSD`>-zexJznXyVLg9X6_=H{^bGcQAg{d2V$U{_;=1$sT6 zm74u^9<@CXZ8}?!IL!{fEAE7~y`4^R}FM`-%SUcd-x;hF*3iJ)kIN^YU7AzG0 zp7oeL3FhHEzbrkC7r$jb&&ktJBpb6NZZRACK{IYBT5}hU_3{%4Ku~UXd;6i;VPiQ;=qsQJ@Dv!Lz~LBxHp_B@0j&};b08rZR`^JrFIr#Mz%EHydYEGiX%sE zefV|@Hb^h;9oQ`!J#bliCOavduh{)8vo{Y4BFuM(C9lQ?EV0|}%2y-O}7K7u4L0De8)>R9y-BooYc zj%2|@X2;XtG}fdJzb%nr*QC+PX28t7NNN`>< zmaVp?*HbYb@Z^O{bgyEQ!x3#AmJwQXC)n%eltrVj9`a>Z6D z#GGy@8O=Cp&?{u^R;Y^cl+4x3(#oy}XEoDZJQmTl#Y3IwR(Rri>ok8LxtDd@3mSH; ze%Oco{j`_A4TI&_xylTM24%08hdYy)1kDUh{hJGkQ{L+*dFU#HNbp(ZnB(&pRyW7q zfchP6LR~I$i)u<1*U|JZ7bnTKg8;MT%xtr8kjlrNvcEH$+-6@@hMxtIY_d*n$H!4U zrqTCFH-g@vS38)CIpIB)-Ig2^yiA=3XaDW87LxV&H5`HC+oe%{E}ys#tcYwEce5h2 zp4-K5Bj-s0J|$a6TSmlEIfvX_5ASw^O(7tZa3tWJ|;~X{(QmV`zZ!OnQtPm|V-S z+-Q#4eY=Ri_|`1NdrBWWO{hZog23+=%fBxpwdqt|YtlV@2V_teEN$n*$Eo@D)7Bl1 z58cb`_#qgvJqf$uVd7*Fl`e9_4cSxq`Ti{xcH7<$cXu6xe00LW6%2(qhp)uWv&GqoodF^2XSF%2VFA?5b{9W<_h4*{|;C zn;Y#(1?%9g7vp&T#7=y7%Rrg}Cb@)Ct}IPGx3JDxEn`D_W6`#6+rT*f&kzgQ*%mw1 zPaciJQ5sWYH$^te1T05}9+(p>(@Aqgs<_`4sJDofkz0ho`F$kZ_SLI~cARHo<~f|} zZycpQXof2kx)J-@v&@Nf=KZ%90Sx8f`&YPV8(AR{&p12cy&~g4lU|bi9aHl2Dt|}< zTug$#0OGAvUgKq(Ot0NJN~gosT^=tke`KqGeZzHGca$tffDLWkryb>8c>^V?1jRM` zg~HrKSe^W<>Gl3vME)>@-_K7umF!=1_^ZY(!LR-J>Lkoa=|buGw;mN;EzfwnfNq3C z!+G#hW0A2%`6sgPWncRWzc}HS(=b{_C%&Xr9vT4$1gakMH!f;kmq{vLTl$bRp3rh_tG_DGF+Rh-CNdBxeR=Y&4aiDwp*r)T zR~wmPS!o?Lps?Uh;QXtVO2Fj9$|PU(eI=v*7a*$mrkh5Cq&+(_km-6^ROo;Y3@ku?fHe{lKRk{BtQjzM@j&`ey+Itl$I~>xoAavAt zJsIZhI=Lbxlj&P~PL%U=Y=LJ?Q|eWSe*|Z;A((skjj3>2+V!VUWcj{E7>xqCeo4GL zMCQ6qv*t6)_47T7>`g~qUq>zZH&GI-2%_XO9Z-D%FRfzRF-dM(V~|ZXwjj<)k)H^i z^Gw{Z37_R@2gxt;a|fCl_>EV7G??7xnbvk64KJWSQ#0~jXg}tKKHHf%^3ZeZK-ebS zn%`jH4;<4coHRSJRbZ6Nq4QVsbij{Ha0-f|l1(mYs;!KLvJtj>&%3_}+1h94=$SRashh58aB^^asFoQk-2s1d7N7L}^TL^Fe(32vS{EPe@&qxI> zkbyt5*|_Zfgz);M;NW8W%Slm zq5T?&1aXTD6p)#^CL%x&3D0w;%o8SCFiyGAfwKliiAR8EszTVh!pisTX?}=KSsjWXeiFZF zfIc(g^D5NYPuJi(%Pqg(pHoiv!tao!XM!OH2DU4Vz{*~xqejb{`1XxygKM*o;G-;y z6!V*#`3GlBNyqf3drVJ{%_4T|UeBti7uFid(hR3nQXk+Z^Ald}+!~^t{;Th!)_jtQ zxW_toeezOC(~~X{S0mLu#t99-+exj1ULnbWcIgm`(H*8H>-05b1IVQ;I{h^O^L&Wye|L=O!aOM1OdgQ* zan+ZHfZI7KI?QIQ{A_drT&TH2y>nbW)$gWK$CjjWt$TqrLX_Z}awagGNAQ8k*On+! zSl~Pd)d5M*c9l^$Jx5M)qh0c^Hw7z2-N5N|KQ|tOa@={iwaz`sA5J#n`zIciAsga5 zo@I~+e639Alj29X_VCx1?3i@w0}`!i#_r{iJD`T8Po0&pRub8x1y2c@3=QBP0{2@G z2`MNhffCF-1ieD9p#`X2le_}_d>_P=gYB*Ap44>3(Zd0638M(_z7u%=ze z`E`9P1BL+AxcnGiGIa$hX_`5OD(rvFMmGBK9YST1Y08d~BLn96@g|nI`G88BUbro^c4!X@Xsv&P5J+nmn~f14 z?HYnDIpO7Loux+LPfnTBXo2S81mJoUL5X`5iT^gl0)>;JC>u0XYosqq2np_vWn3rV zIv&;g<0sE2`huPX_BDp(sI?;FeiVQ>Y(!ZWu)dY$R;X$!v`3#Dpq|?IOroFf;|%eW z&7SFXU{6(_7)TI;A`_}K&t?UR^HYMnW?d@@uE6c#*a7TRY*55+^}d94Rvkt7fMq=f`Nzf}oeJAa@X zC-HBf{oT_xyq(p-Jh?KX@ODv=1=3Z3B=ONSblQp*c_@_Bcqb-XWCsLENrxzjpO_`j zbxx}QJ3z$0Hxeg=A$lJKUk)AN&#R8(duw-bYmWo}cx4HAp+!ajhMd+0z7pXC(o4et z8^0(JOZw4nPVg8;u<@wR_A2Q&xW}FT8YZSQdOR^?`DwvzqmFV;y8XC=5pUh)dOh}c?wKY)B#fie6$#X%;*IG zDhTGk{Y^NZ3;*EcS8LC~vsP0v2Q{=%hS^rCEq$?9(A`W{c5Ju=J3sSCD||hCOsqK*r??0236KKUzsN7Wj95=<(_v zAGCZO$jmY^bQy|;A2^zWpF?poWghRh#X!)E;8Eii=3g>VN{a4GqM=TlK^B6kuN+## z!-$&jQgiXlPljWO75`8L@{S@AZTPkl>6f;s4`|ipL&2Z2{G1FxrO1AM^+!p>0L0N) zh9KW>TVe+Ck&v(?wsMn?bC^Jo1tbwf0~{;+J8m*HezOcr=1G3`=5Bnd0Q!kgXqm4J zZQ?TB8ad{tCj}E^?h8o5@*-dF?R2R_vkr)-S_18fM)X`lc98$HQf@$s6{UG7C*-q= zJ=kbIL0*Lc)D}wmGlH8#@ApR(+veK*&V)LFDEVlu*qx&zL(fJy=;EYU2F<4nsGEz0 zH*88RFBbazTuQv|fmT~h1y#QBu}j#v8#*-DTIPO>ZD=o~gcOoK2jgHYWEqYpJRPE| zUv2Ew8g!MZvtIb!%ZToR%9boEj30d0RVt;FXaTO{TRMQF9$tXnX*sjf-}&fvW*0To zVo>|jem|ugyQSV+86iEWpSp|kUBvx6bLya@g7%SL)`mqfE6{>1XT|#l0 zev?q4ZlTYj$NZozLp4GpHq7k2UcJCg<6IFRhqM#?QqZ5Vzqt{dQ&H@Ezg@G$*pO?> zvWaRkedD5}qRgBzEg~dep+~BC2`ADNOV6b&#-}^0bBQ~8#S$Mid}%2k4ODw1E|37l zQ3~6Js<{u2Qx@Wd_iEN}?HD#h#^UytwS^yQ-hcH=;r!Jw5S*INHQA^7BMA1}?0W_k z;ZMW<`uSpx%N|}eo1Dh~Veh?m9aow)!TWiN#<}GH^sa%vkf9MpCz7HY3>vher|8Yo zPg1Mg-c^71ndAC2&{az-xiZOQGBe_fFCs&dcYC1-pm?VjqX@gk&W;OEpM}EnO8OW} z+jy_dQ{C6d?54+;W^px(#w}$s371#w{gk)cgJCaPC7m<(m2mCU_=fProvqOWCb9w} zhVrpB41OsCD3>$)rp=m$l}hQ2GNBvVQ}a?s-uUyw^)qJJc~V;1mA{)LwR)+4Z(ZfS z*pAZB+*Z6!(psH1Nki@dJ-ZTW=r6S3?HQL*<0K=eZAHoTK>==}sA}iMz4?xAHG99> z{O+s|pH+M=MbGTOz}QP<@JIU`(iyAzqC5M+LS6G`tJhtDT-b|aYT08ep9Y(scB#W! z_w9sNp45qmb__I{NrBlqy%_ra5>e07)p?~|U%t+YaP^n-dwblkmwuMTFkj?$kl3>^ zqbHQ%O{r>}er2&dI-B?KexvR5dGj`-tq$AjxbC0k5RZ$=)gmXQ-=Qwwu_2%+Y{`C!3qi7+W`WQ$!jvNfBl!7lt4gW*``b-ZbDvF3eIe%pyAs zjWA3g;02-JoH2o6jfJ6Uf&oPUXN)O4+w%^?s1DOet+R$Wfy1qU8GX0l+0?_7ev>53 z!lDwTWGF&TM8eeGGys0PBuVLX-+LYyD`3rShNReFb$7f+L7kq=M;-gux<+`LF8_lCYTP|zrQ-x_~MSPH6q3tXR!p*4_H!lvecf_u=x?(R)L_Udt8 z?5}mg(dXP_c60QJq5aV(j?(w_=#!@4%HKhs=@{;y&y-EKfy5$Khi1}=U@+#RKQMhq ze|XP=d;Gnw=pwLt~=ju)3u38`AYFdOVbZd$Vy+bnT;;%3NolatGyj&Gp?l(~6LS-JD{O}Ub%JL~a5 zl8>c)hF?-dO|CwPWQ9MSMx99X)#x*|Y>NrEJh52h5KPZqz`ZxZd$bnEjzl+sVhC6s zA{T18z}qDqIKp$NTAg7MIJSCsPH*Q3zN=Y`hTS0QmpOFh3ppC}LtbCae!_uXOXt}+ zJIx%B$Wad*FZd=wivF8FWLpeC}P38-0Zd{v^A1lb<^fbZq;?G>xW23p|;;MZ_18?eyAv$4O%8%7))xxoWAJ% zCB#*=H0Y_XPBIuGc6#n4bWhpkvu5HI&m6jCB=&J93BA!FTJinRx0}Uo9M~Z{SsSO4 zCE)1^$hkChiyoX^@BRLidqnau4scE`|%IKHZywBVBrz1$*GD~Gg> z&zbR!BsL_4YSRd=8gvJpZ6Rt#kb$V>v?E$zI=11OCg_TKp(_nr(C z(VWNeu;ri1_}e7>Ru;V%g;oNLY$N@BLrjR>rAKG*EDd z0)7R)X7zCFhr5|ljGnzQ+cr_YMMJg$x2KJ!-%C<-2nrLAM91cikWL{Z$67t(@R(oF z0Vc|SEdMG>zm_6GLXC_7u?2k{zv8s$i72%iDr)yiP=>Xt!7nt|24gL>$lnU>=~ax9 z7KjbR7%6kyFdWR3Q=U)9^IB=qd#kiR$(Q^jkKrEo`6gdrURW?^N2mzQ84czvNg*(2 zE{;$C@;1O3L@l(>snj-C#B?x2P9;8#1>&xE%odniccDxp>{>bep?l=lgh*V&z_PcJ zY+9WNvVZf<3YR?M!s?rOf(4xn*yL`38(2Ki2t|E_y}M*h#B3 zMz^E@i{us>QHs^x=W%$s?9(mUsj#77#wgXfQu&Qep)zT#7~WPY27>kJ6S6_Oyj?%~ zuf;PK==(KmT_cI&QKZjfL!Xa!G>5&f7vnW<{LnO?GPH<4&f{+sX{$U5zh7leg;$C) zvHN-5)1$Acli!2ZsCz%R@~ss`eQ04tLrVK6MqdhSxRP)m7gr$q?iK)i)Ev2g<1Qh- z5&9`W-G#ZY>)udmciljjl&BzWJ?OvoqX`vjcW2~74zhS)lb;9&v&($VFK zyBRPVrW*_kn%4wlo)gpv!y6CVJVD9r+Uoaqa&BR^Z1<#B84q|Y)FDqXPp;@MV|24x zP|{;gfvuVHfuOs~24uiA zr@Z$bCncsY7wpxcuRHs?kL`W*F0*&(gG=vRdhF6+Iq*xngN?M^=ykJqFT%4lzPK7Y zS>a7mhf|3yX6W(Km_M=YZiU=i9h@3FgUWjLggy{@hwrg-hh-g_1?($O2Nhhtg`TAj z*?=vA6<+=E71fx!hc{XstP)$H&=aMxpx75Rw$$iBv#0fe);oHST|4aMpf7>V>U^}s z8+tvT+h9Cfy|=i0riF63oFwPTop`|gUN0P(_E*MWQy1|(pWns{e-5_S>(pWhcM>%s z|9ZAQxcAPze}=JE-Lu#0;S4SC+STSXg*$fF;^I8G*ZM&LxKK`aYn&p*mhwv_j7t32 z#f?xLqOg|-rDY~Mh*^dv)a7!uj0Jt8IP`ogcd9kLJ+NA?8`kG`xh$i%IJM>61s^!t z7@}O3HGKPbK_Yd-Ts2u|J0{F`J(z_CcF(rCydEBfDf}B*^A<}97wzqLeB$izemRG{ zz`ig&OKvBAy#~PlWBXp*5%^XL+E|<;hgV#>TVChq^QmxxFlDbZqhJ^ed30msryw5j z>NT&s*>bBBjYTbYicxl_A#P;fIWg&l(o5@tX6KV(gZbgKW9~jefo&HnJOQCN#N!YO zb;!X|0-@mF_6J53UYHhyGbcPQf=Bc?o07kKP%Ku@BZzmx$Nt+q#bD(|Mn6y#tu{sryY2 zzRSa3_2B(O=KuQ4-(a5#9 z28^+7Z%TYs2c{(Qcd|y#aJyaZV|H?Y4|s=F&2B3x$>J|e*>ib+M21=J_V+RL($^RS z#jWGaw`hqF7mxcUV*{YxXSjN2?-=9G_cg}^2_ZT^!!dvfBRwuyu{wH5bQVA==lp7T z^B99{k-aEHHt77NsKwa{Fhp0HeH5j=?;Qni`?Jz-`iWeiNO5t?8B*DB%or;*LEekE zaGWPdGB{7IdV56Bwp4xnMJ;UP&jY;}P88o)2>8l3UI@wdz2>n;(P6`}Q884Lw6vZ{ z1?Q_}JwCV=bA+@8%j+fO|FOFAQfiC?_90Y<^H2K_VVkyx9H|az{aNcj;6dn|!av}F z%#Zq8&ezxZVLyi(2k(2GcaLC5wA(?U8X{U{BCVoz9hgZ&h!oBB5Mo)}d zzYHY0Y)WVS@;qMig^$1u_7tl%fK1&xU3ud$@I(O<3htMyXe{z^eBA%iW*?k1#w4iwT9r!sq!C-d?vk<)`S+l+O=fj#4{F8V`KBb=pL{KXL~-|J#U9+J6!Ex1%T_m zAJ0ILJuhSX^I)G6Pc>D<;DBw;Ug#M+A7fx2+(+K|KJq;@d}R*=K@?6a+UKsC#NYu< zRGkI6yf=@$oo4L*X?0rwspK&>qYy(q_cW z+$G*H7C2t7LS4L|zAB!Rz*A771>Qjl5zelzr@#S}K^0ADZHdqou5#zOZt-%Aa!Nnz z*JZEMf^%qpLc_C<5=?T}Yig}WQ9L7F`Wf4+_3~9K#0F*BmeaBv7i7Kn03}uQf?Tob z-dW62%=~v;)GhuUQ-DBbc`S+t%-Q*iy3_6AR*S*FW9be;tAz0Uctx~!_63bZynNDC zDLXiZuoThxU84~l4EsFc*FaY(o|{q3)7Fc%eaUO2_I2#xl*W^pe&GPS`C>MD%rcHn0$ zA6P98Cyx2Z(+5{-K^9prYGlv2ujUwI7X)wXeQ683P&}WpM~+w*uW;4;lq6=6zRqoP zd`|l195Izp@FlXhCD4Vbh&*}~y`2K`U1SLPC08_c6O)SsWZV^V_#(`l(6H52o6-#R z3pWOeb1A~dLt?#;3=Kpw0lUOyFYIbOmhggo<9ovTJd-a>xT|ju*rqJML&hv#<*@0) z>hzt9#m#95PtfvG4?Oipwsjmq>wSKW?wWpl1IzOEJ3IcV`*6#6R5Lv%>aclMHK{JH zW613(9LJ@<#c#`o=&|x8I9OH_elDvAKTd4ei=6wNLt@(9wq0Zpk9+^%mao^?^Mhii z<5JflvY`FWJM>cl@_?kFngpHe0Nr90j9d$+mYjOsrnRkAo#z3k&su_l-bQ~@3(vKN zJXWw`i-GobUwtfzp*leogll-mg32{=jN?+VIdo!35`a00Aliil9^B2NfYL65fWebC z(mU$N3Q?k|9Q!$)b8~;coDkN}v*1o!JHY1f%1@;&k7$tuTIuAgGKv9A=VjFdLz>#* z<$Nys51!EZZWn!$^VSt|yu6qY=8#jGpiUY2He!e4&b+gIp^DoI`!7PkZ0z;Dotw~J`ZfA}vzy~b}iS%tcIpXwsv zw!s@Sq4iGRWu8OAbuU-VTrS(tdg^O9?1NPekuZ3%>?K5 zwGzpExt0M>Y$$Z4k1uopLiqr2ZhH_mTims!_#%dK#vYKgorRDU3EAjiK;Q8|Uz~4k z-b}cwv*vJ?^5M!41F@gpQnLa%JnQ|9XT5Oelo$2(>K=I0l7Oc#lpq`jV4W8yYLi=W zc&zI>591eRJb|yZma|502JmCSY9UX0515QE_!`1>SvU{KT~d8I26HNs@ZFgrZ*{@* z9QN#k#aHj!{0NL}1==dy?sh(~AD?hP?loo>xy!-^`^Ba5_@!$JV4@=1P?oTN0KZLc zsmXhdZr=FFdIo)eY_~VN5#v4kb0CTq$5YJh%g>^KJ5~AlWek4zKLPI{W^Ct5#q6mQ z`;35phZba_icS8Jn@wTad*U2&kEU2q?&qnw1}f(@(>!t~9L;74#uC1IA9BQlWugW@ zFvKMNuInv57jO`*SkhlEukNROK;lX5PiiP}T=Y1(C5232K8MJ(&bbTF_I~ancX6JS z8!%4qP?}Ea@9hye&8mF9C-ZX4@^DRH{c`Q#-t!L$I&#jecAvD2JzrI>zCcs4cI;0@uRH} zZbhV1`=kCsF`O&%G+@_>(!|U3v1484mXN>z%q}ET^;rk z=-rsz+osZK?LsI#3B@&-n+;&x>x<8L`S4iT=W+1-*9{^A;p{onnSX5I z+58ss)6Sl7MN_ZEfbK!y+Dn!Lf3axs-YCTDHp!5~Y|8``sZc!{D5u@rIwCZpy}yv) ze86j1K|+tuM6$#yHC#N;u~*WpYKKREJhzwXr^7xRpE#G*cWs|}XB4}qrqWc3OS-O| z2~`*KvVYapUu!38LwM2sW_D!6|nlDDiq> zrrgni-zBHaGeC1j4~Z_hNeePxYv9XTbJC0cYOQ-R-3%}kcqHC;LVAZ>-M^}FFh!O2 zb($ze@x-hyx|k?qn$B6nSIHw1ci!0P5pULHf?u<#QpS8yNdvxXr0*72XI_1YhemE`=YUw8uzy< z^vZe29hD@fC#!+$;#oH4Edhd_Zu;%6lV)?Si(GwC{)${5T0Qt@WX}=xM2y8#q382$ z$Sr$)ZJ1h6?mAcxs2V~MnKMtwSed}ocY57GTe>o!tvTA@i~wyq0sU;FoQg@ZE^UUO zdBfs6a92urL&jPsC1X_Yl=Fgy6a}BMRso!Qp45F-Ph2F7zS!Fa5-1Y<1+ z|9FnukGAX47On_rtB*D~YrzN z^miz%U|O8>k2VIhHB5T6(V$HylJjr#kbrwMOaks9wttxi1I$?&`ORDBd~mMtHD}SH z&+cmSi>d51dh<$DNmT0ssaC#O&Uyi2lZITuF=N3&W5GPCqx}xryUnjtp+i4%h0w(f zs~G8q>2F;y)GKAKB^dU3V`W*;j15Y4?NU?-0~H;ciyoWkRcQv0TtL@GAmU7HpiN33 zsR#w#FB%-#9**{;uSL&9Z|qiH?nS2Og(+wVeFhxkZ4JCeYbWOJcOukCjFgJpcOLcO z7m@M7x5!5eE7P6?GTj&=*hQ7S=tt1jTdD#1;Y%wRypaXO6ixNreyF48?s%jSSe58< zhU-&y-c!BUjmPQmD?@?zkgvFNDDvQ#e4$2uAMgAZ)-Sz~e~a6-#SeS;Ta4(icYnb0 zub9!_u>2D#6_FeZ7DZPU6p4$4@Nh9q{uTmVd=TzT@~`_DzC6?VA|k!UoGH z*1@Pkm1ll?#FBFR{=e+FFt@kFfnt68T=^-GAvcY;hYX!*NT3KDL%JPBEZ<7N3sm`D zmL@0!Ab93cH0CBr!oPc8EinWhr>cN67R(8716!<`?DgRcx0`x2e0-JxTQw^b$zS)K zTze4hSwwpt4bNz}vcVcVON=omY&fCAiJiZA@<|VuYvAk#p&xwn%U3-(OtOB-!0)#H zkb&QAJ@N{~*I0no-HW*r&x|hwfZ!JZ%YJaXF>615Tgai|2@OL@ zae`G0--@I2@l>v8t5%bK@#GOsqj@O_Am05uO}4xVtxFEP#W^dw!J!G(86mc0_T zy++Ng#sWUun;s5-Ed`Z)cqY`rzr!MSBpes#))Tubrod^?E92TG5rP zgnA1M+rtWOXT=Cr##E{4-97BEwDhfF7Nz*S7i62^5R(E9J{P3ZRn@-&2O#d`O@W z980=!M{($+;9O;?EH9uqSLJ4&KgGYUFSp1~t$uLRgtPb`d#@va`(rMye~kG%|3GK2 zf701W*s0{YpZ;XG{($BGY1Wu;5lCcRqn5^sVauWjDqkHLsI|ELdu(CePqnL7%)2s* zd35;8;K3BZed3bdU;XQk---Dr$R(kd5~p{P7)+D(@aCIM#4|ZMlZq44IeJj-Md^nax`!m+$=U?+8qL4hTMufy2GAT5>t?m!*@D<0{ zR)2qg_6pqV_gKV-8(h{*AUM8}J@WLli~5+KBj)N~g`12tLUu%sp{&s2$VWo!K z;aeK(cJK=62$kQyV&oob5U3mS_!qWKMZtaT*tTS>KUt}AN-`Gi}>6%fak~SR3cUvuSInt zO2s1|6Ms@C_xvt)uR0~Fg5}X8(G=8rtuF}w5%UT((1BE(xUXc!?6@$>rq4%+vD89137`)z1M-ech`L_07d%-76C8hAQhk!6%$saM}OW`fy`D5d* zYCkM~fBp?)k2s7Rw)EZ~$*pf1zU-jiM9V(=DaT&wtvlr9n=Hf>EYOC-Qdb^E$hQ2% z^a~Nk^A9Fo*BuMRb$To`%_+dQX4QdhXG3p@*&?PuN3HiJBb4fmD#ciow`vIhhx3Yg z53U!ko_^&AJ=8A98drpMqUdAqW!rA3)TU&5O~kbZei5us^$ko`y75!EtP2DP@Nj&| z^f;hq^x?oOBYR!>g)Qs-NcWhdKpzUUMyK&_duNveh z!o_jE`U^gLGj<_35;C=4`x!s>6gVE>`RI-BJVZ6+VnnMtRX_Ld0S*D?p#Jjr+*~IY z$o>(30azYCTXh@|Kl49pWb~ZZsnt~vsC+$d`6s4z?7#FsvFG6CvfH)moC#Ov$yfd> zj|C23m$`iQ3e^kXLCfot(``Z&WV~=V!B>rVy*Mra8>-ddc3}Il_Q3~ zR+@adeC140c;Gcg-tE--nnm3!v#;at@*#)aS3LDsUa|hl6&;6m`C_$0*87GtC!ATo z<<1R{Z~Q4I!yGSr{uitg69C&s?#FFlNof&rM^3gD*n#F6knag_r!}NfWiyG9ysrT3 zLP6B8oHhjNg;gi%*oVa-kFShiw{q&2d@P`Yd5f*T`Nr-K{`A@3{=u!bKg#=WzTF}3 zKc4$=I=H zr|lt^t5Ajp&A$bd8%~qO-LKvSLpx!+MHWiQVkHeL4xBfyk=2?{9uBfiLaN-Oc9vA* zhYi_Ir@>42l=IDPxb9b|fBAp49nkaaWq*x_13~__?@|6mR{oxA`W+X4?tAmRrSTL?o|`Q8yzG;N{E zvj21ZKRW)m%0K*Ha|{7HC4X|HtOB|m$rRe_msn|c`d+}6X^*&zj`mOzu%Aie(UjY{wF$emsxV#8NO0(7O`XcE<*JKxFKh6 zI~Q&MGY?^JohVx4aOSLGc~RO0Q**-m6aUC_IEitH?-)Z{FF*aAseqr%aFc(_#r^BP zgAtDU&dit~IizP7UTDENu$wPO*dNFH2u^eH5U!eqA!`atms6spMRfWlZb5w8hvEKB zZD|xY1LNkW-*RIve_Z44k8AuFj_~uDf9I3OUd!)1;osALx*-QmyICreGK&=QtAfa9 zf4f7zd0m}dy{uT2&()GC_OKgD@!$w0d&Ju6E=C@Ky2tR-F5H%r77C}|c;|0C>DwGU zoztji{;fP~hYk+PQwP%vJkjKSy4I^qY;CPTnWO9{QP(7n82tKta5UhjD@gmO1&AD^ z{5%C-foI;XT$mqmkx!hyXpiqTka-V!Og#5%K4QV22=0q(^LM^r!tD55;BWf^$JcIs z_A`VP@NeUidEvveE=R5>zmmJg{Svz@!+3Hs5O=(dV}ma_jq3nf3(ZZ0@|mf(=JF7tPfV-q#rpX zwD5@s03H8>FLLJf`Qgn&F1oL8xfOb~{J@6D_*d(PoJyISZ<|NcO&$oI0Ke8P)w!pb z{mAtOkSc!W`lbooFS#dRO**n)361jiruur%4sl;-d>@Myx3o`QVd+0Vc|70pmVe}k z0E{CFyTGwKMz+uI`$E&*|BB%PEc&TCe|<04zimFvp&S3k`7~d8@mBkF5cpm}<<(lI znt!d>u5t^ec+#8BYBeF}>*-X6uQi5Lf{3gJcT$pMsw2mP5U*kewKLsTB6HnOg~dqA;Mcs7^j<*3 z`$ivE|DJO5y`-ZmMCPRGmoc&DZJdm8i$5LCCQ8a~IVOKD*~CIg{r3`1 zntoxwa%!xjujAKju~Y&y>MN(_j7u6RfnV$me+$eF2Xp+Q7`Azpa$EIY37**=bMuqO zAeS;2V%bM!h%`yrFYkWat157q;cd9pEZ?6M>2LWcC(iSK+qS*mH;;oO!qN((IZN(Y z6Fb&_S@B{zn55%pUDO5&Kl^Pgxb|k+izTw8m*rYv)s(dCbECgsv0#CTmj-Z-yE)n_ z8Uya4 zMNj0Db7W$h1Z1WT5%eDj+Nb=3pyA1l(sTZOjKy6_8{iMK>BY4pk36kxk0E5!3Lwt4 zfduiFtaG1no5r3@I$j?2xI(&)TCDBRT3>rGFV}m1i@BaJKe*W+V?k&953!*6q`t#3 z;l(O{{5!vQFh?dz@$Gt2`O1tjUbBj3_k0rur|7O>&~nwO2@v~W?b z+R^uPiISX&S6`IA=KR7iMXp)p4%QuC2`Md>pgHThb}cqgO+XMroVe6jxkhB>da(c` z9Up2Nauqu~SjM~PEs>L|?6iPO*r!8Q#@_)WyH&{a;cv5` zr&4ESZ)(WXiII3i9=Jn)qkgV~hs#7Cox(T5=}!&amSQScPXH+EcYJ8%12>SjH50@z zWQBMmhI-Vlu*jE4RDa8x480>i)5AG(s0&TU-ycjeF-gVGps|D_Zh;6%U?u$hH=Ox~ z<#oTHzuK>H^JnYZ-2DqI8Ty;7u#_`j(671s7f1~#f0LC2ma$_wF;e}ztdwF@(q#jF zG3W4!(ssp1C~4bjV%wHGI!}9dEBpCXh5Cm3)o@h(uRT{!)%y#d^OMi`s3-l+{@%{b z+EmLg^6}k%c-+4|2Vnkr9N=#{_fu~Eu5>sitq`z>!~ z#V00HzRmyOHp{J#Hk5pWHuY%h_oFTNKW)FZxwdAFlwOGi3GHpU<7*V6t#zg5=ZZ#L z$+~p_KN&|AVyT)d*e;CO;(ypNJ7e}+4ow#m;6Jc&fNz1eX3d8A-C*09A9ITZe2f{$ z0>X4BR@{ntpo94{?^k!l&71+@Dtl1McOrCwL4TPdJD#q5BeZ)%2Zz#sx`UXWa7}vT9;G>0QkI@p=Dd6aQg;yy{jxGal*aL;Sv9Ej+`HJ!lk!LZQK>MYNdiWDoPOYdT(?v4RYG#Cyy10 zPKPcxnqsIKNy}B9i^2(TD#u&)y&3VB%_CrbrL8h&6#9+qv|{4q2g^KWZLYKEVeb{l z8pmL2$3zaWrAoT7+oix94B#mv>#C75XCSC-#EmIe&c#wp*JaBUVm`}#I-A5QwlQo@ zYr~~*lLJgndE-f_MQyqc1-*>ieUjtckXGTr@3D1q=Sh!qZ5>!HvNN-p?m9Tz>JAZ> z(ziNnOF;k9DSyNaEj-Y5>b=dUfnLOFVR6hjLtoe8=o$f6fCGMTi-n9_rgL-MUo9RX zX*(4$Lj9^AGhN2%t~D0kLXgInrnuW7cqrgUpsTg-FOOzPW)e_B(fh@hJdRE|pcBBa zA(A7<{f!V)?f@GQY?6TQ!HD#>je$@FY(r1#;$AymP3L0{$ zuKF%QXK$g1Rf6*0_|;S~`cp4|>ifi5JFJSF@s0CC)wJBC}!P=Fg9QxQixj2B+n6fJxHV`#VM^xvO}QEkqKX#cOYQVoOAtTpsU* z5mlV-3G7Py+&ttiu)7B9M=rQlUmRoeA_Dka%TNRU9oPB|md1199&f-pxOJgLYn}QZ zyt&dZhI^-6?BS#)%7xG25nAN>ZI88Md`hB{mU?0Tf?GgVQaF4mhKPUU`3{~9xEF^E zM8W2+DR@3t-d;C`(Zcc@@AZH`2%e#+UW!AD^GF`=J7D3cyy}g7lJ#O)`!?0w>qaE_ z`Ma-j_!Er8UHM7fN#%MBzqH4&r?kl%MPG?z47fL6_b(<#zc{*hRufrwc|8@g0`ee; zE=0&cq0~LAvRC2}5RlKa7sN~}5rE9&eLe-n2;C+Dyp+HDjj%<|!yFf{Y34IFxh(rI zhq{0Kjm|*M2m=H9lfca}kMQyBxCi#WJ#JuO2b+lY9nF8@As?1-L)qkQd;3%z8Oy0V zC2MLib%l}<$Hbf2t|YB0^DlZe9Pjsto>=sSJ1d0VDwG8-T0);bbI*iAq=&CYY|gNB zqpL=XExZT{77&ONM80yQ`2&ZX8VX|eg3|G{*GT(hDXT>HVR@YBqUK9kw!=sp4nQ= ze23ay#AZYhM$zwB;O!OtU9Xc14lpRQa_9*|vsD5ZWW$}Q-HP}TKlm)J%Mqac)gr7e zx3wO7drCq1%#E`G`fn2Go+QdyOiA<$2dkGQVXTgKs%W-544}&u)Ul{HXx)_v6Y&+G z$VNz4YJ)QFmwO2YYP!UxwIn%!C)_&#^>)G3LX0vEt)$K3m1V>xsaoNrq8xp!^fEXY zkU801r5l0P6ZGoJ*KCsNQMON!HKTd zEyvC$#8#@b9_0=5-4KCBDTSdWjAXAgeC6UXj(qC54m+;tzi9$A8C6x% z=c3I;`@5M`vAKf|o#(*b|JiN21^l&&7PTSqaCcf47*idRV!K5cuq{X`-`X)Sq$k35 zRMn`dGrZrljmp|Tzm2rnybBUEY9YfrjzhM;gTKL;>SIjIae1Zc0T|PMjQ5|{hTx=kBR9`wqjH|2@b&R<^tk}nq8D+A1eG2y7JjI6WDdOVst9X^K*2j+ZWG162*yR}MM7|W0wSv!{D z*fsTDs8UCgA;xsrwjSS(-3M_w$o^C*;Sn%1)T8eoeeQnYvYV2+{LT)piWv!x^31pX zY%`_Zr@P@Jht7dS2Z)8O?}jaYxz7Xp`1weYlwp`XY+z7n3OnQI*oDl%`bh=%^3x?l zYC|R1N!reXTrv1tii_i-zU-|%m*CoW5M<4YGTd<(WbCzm%5`g?V0@jzfPBPs2=Be96Ll-^jC zirebOhJ+R3YmN8a`3bSay>xZmxx7(&K~GbX47?@d#s9c1Vaxm;7ur#tm~G|a0B#-w z302-cYHM?}8ITgX48zSD%`OR?ATXWzGv)O?mj1fUgvQn=mmRY8Rt)esHJ^Ms;B4S;i94ro3cFb101K+7;dP^=AKbT^i&R(6;$2=e! z&9d!meTp~6=0(5^a}(bqnZ3T6rZ@qahhZHppdI?`1AMu3747TJ3Ujd|GC)QZQ0Mrv zYENBa?7OJUKCl+Zcp=4fMPVF3yTiAx361$T&kkHat*{c4t1K$(-auPW*Ke{*f{bn; zCEk*%buDPz=yR&gB<#F{7^R#lPUdg%Jyx9~V{sdQ1-z`*7=jc-aTb#(m44dGCp2Gh zf(j)v!FMi}Zt{^kQQNOe?A+92KU1%`Pl`S_W%b=Lw6pbc2)tr7(kAc=Y7no7+r-Ch(R*^j%29+h{32Wd%*$fli6LLYd6cXmiF>aE2;Y82WXC7_g2}uf#W~ zYKFUj=2OwWxoQAIgB^rJ!UVIBo^w$s)mcV7W)ojiHW&SxUR6&t>1C402wBr&im}s* zLF#y-+;`~7gYC^J!C-nJSi7V{0Ru7X76Nq6!$#WY0w($^pQ6uBWv4Mmbs&9k53zj} zmT+Bf^(^02JL!>%J|?CB?yQzErN#y&S>r&I`$4TvbL?O*>xI+tGd9(wq_*){?TBuV z+%T})q>ScBi31>H7rx>d{(inj&I6ieDS2Z%y$M89-dM3+)p2eZEWFx>zljOunr5gj zxK=+f;mJ;DEZ4`j)JD6Sue(VHToEpz9|UZZAu$y>8(pN zG~B{5PQ^WCoE#;0ao<>6ii=u_-6}C$h!pug!Lw%I5!EjQIu(GO+OGYxyF;R_yXt~v zBfXL$ji%QyK!ub>MQlQVXQ>D46j!?+(Z+<%;%2ppI05j6`Duxy2h*XP!t{>-7TXEc zir$=D^ogSWIaP_J4k74K_Z0nL-_9h**I*8@YuAv_K9%SQr?=2u;TJ856FijyISY3d zH)XI+STK(aMCqvwdVS3SnM1SL(cE;O&i5SFMGR*VDA{8MPUsMV$7W}%c$M1>LHz{I z3kZW)ANA^sbERS!H!Cu+CU%yo&>e?6%gQpF;0QDOP}0|IgVGaCB`%An76k_a6ZRF$ zj*ZL2P?N({8ZVH#yEU?gF6S|fn6o{r;I$nO0V1SL^-e^DovSC`$Zb-KumgNS4cRFk z9RhKmsUp|XwCGQyKZPsA(neeWe;(?W8g|0%F~^A89K>4l!loU z(V8srXFHB{QHW77LxrP6oLJj`paht29L%NbuaG{*BQme!&^R=$HAp<6BQ#kBi`7&< z!x6um&@e0XgNfVYt0ibIXXjo~nJJHLlz}Ajh}cOQn{p~}T<=@x3~<=#=6QH>-PDfSh4V;V<9-x{W^KqA9jUFD-;|qJBLk0Y?oVohv$k8a`9zNjfs5?W zX<9{LZ~+-m7(BWHzES1irZZDRu5p@DYQA~2I%8+|O;M|3kie*A)m9|^Zs;?rIgO9k z{kB$OOf7p*g&CPyd}7SaBt^kCu`!Ymp++~fg?p2Nkx;$H<6Mw%jTr#$m@w6W7lQT~ z`IG~ef**{JU2q89_ED-B=+=aE`PN)I&7fKFLR&3Iy6WDZllDPAv-Czs%-%3DYQLWy zC1ZfX`*JOFl?d52l6e8|XgLm>IS7lGXNSr} z`=-~qGdZ6q9)R?_3LSQg(#aHC7qjmZ?{p?H)%d2;No%}&rRENWweK+K5YF?WF=+TX zR7hbuw~oEj8hJ7A@Ho?Nm2IEbcM{n!{nSy}BiBas!(`FfR?tyu+BDjD1skkyyVyLc*!tUEWywO>KB?fS_0A!`cb6zncHBK=P>%u6qg{#;@=(|dZpCP)V zaRG530hd;fw%=HVWv0xc9p6k-SpmK^j4nL@{mBes0(OCG@DG`1ZWo1I4e>C zxLX4sB+v>~5H|3nue{6o1nKeH(pc;;!p%s}Bkr z#IVy_l^6+&)Y#+GYH%OxYj_GmuMXeT^_oJbXRJR`?c~O8Bts>*F5P!0+V1+E@``>+ zNoeX%-ikkT{{Lg|&EFF@vW4OM^ZhHhJ^9{ozj7=jAqhE?d0uaTS!Gs1(vPjB1OhFf z4Wvx}?_ZS`kl1W@x|7V@=9x(wRLiMTr_NqSx~dGzpk7>y1hQG4kiLux>Y>0gUTB66=Qa8SX!iY0 z^C|3+8_a}~scySm_tBC_wNZY=YpbXR!LN4{Ve5i7mV*$_eo2t+j*y%)bL&kl_ zp0F*?nHL{MH^@M)vbSx$JqYGD$?Nn&>~O;Dmc`4eLQr#j!;MO13U4cdRu(K)QKU_Y zR7;!H{RoPGx$26H2cSLZZ`c6bm~LBtQu9SHVvF2Blam5ua(%_{!LLcZ&r9GT=}fmP*}3rX?m_*V*5VX zU1PMt(Dj8=F1A-~yFs#$i5gvlsEx4Bd=l20s>yCP8-v7v%;+xQTtX1*?fbR4(wWkr zJZ#+8ald&#>QlA0&<@s`+I&<3M>a&Y$v*;j$yD5$FUTFX(`&GRm{8qf7aLchxDoMj z(Ie_b3%Ls}iH zZR}P1F*{v`9#&VaJ9B`wH9G z#GJ!PhN>^Sqp~W6xDVy&#-Vu6c1&X!dSk21i7nD7YWIvZhq85!(epYvA76f!AE>T6@x7NRQH-8u^%@n>72dgd)IELyBLpB2SYn^HegG+3j%N zvXH5x_a3^Y+>z(J!*9T(CNBn@$QCE13Dg}LSVbO9?n%B}?hAKpotxV7pl$cjI~YlM zBrqhUdh~q__*BdED0cuY=2`E~WF5w;O`!M^JleNOR`g}jx1XFFb^>T)#;G$+@X=$LGq z6&Co!70or}P$P;!f0uo_-4slGxfIJP(YBS%BQ<;UDrINx4|un64<0l@@HuF~Zd4Ut zfC^NB9CO23G*m9=;z;lTwDl)awF%|ev{9r2z}B6)!BKjtImXIdZACk`8-?Sc8m9u` z(Jn5a0IW;W{Bh*0f;vxd(%NMD+-B_#@sicEeG0!L1l*9SIy=UEKn|PmOGjsizQ!(D zi>sIEB3R%u)9kC*rgRlV-EGr0O|y^#k!{Bu^p;i3vOs*MFXM*mHpd!t5|hh;z=q~GA8z` z_GH0A2189e)?)q9U7J)rwbGmuPN4KTNhjdEwn~#Fl5SE}N+uaU0JBb?5_&=>Y*Vgf z%7oS@ihW6SICJFG1_tkhY@762Z6H)@7)6*yg?hqldM&oW7p}o z?*}1+QC^i5Nz0?0s;Y)J=Awd^YJ{*dFr3BUnYNpg7Ph8{io*v2-79gEd&hS~Zo~9& zw2rZ|;6lOUdwsSyCZzkaxndouPf3)Fn)%9x6hMhX25Z;%q2XBbABQHyX_dj~dq-JR zJYIt;@|u$Rm(!TLuh3$;7Fm`F+CtI*=AT1p;BGzR@;5cXJ+*gYmk!k05nBnCG_Gu ze2NeIqDs~!s!z04L3xC>>x`2?&E@g#6TYg1F2QlwlB98HE-JwcBFuw!04I(5;~HUW zv@s@Gp6XC=v%CJXv-bS9T`l6OFl1F$hFlS&7d%-7ey1(-pc!<$ktlhHh}#Z3Ve1_q z4DGQC@o$qfD0vfssNpk3nyC}K$G{_4@$i6wmX8IuN)5QFtB{&3=pr;sy<4b7F7 z4jD3!3KZCsBvXqPN!5K>VpfoOPw;_P8~Kus&ncT^hQ2RVSPNSTHT%hxO@?aPf=)@i zFeDs!aO$8$vK}!65?N<^4CM<%Wn+z~)}vQ8OlRV-PZN?~lm(h-fP=Y7rZg?Q|v8mcHbaumPl1>4rcVoEkgd|3DQ&Uw<&LHOmrKmOd2UjY4 zzKMlA!9TKVts!7HtPj+Q7c}g82S~nD5|&k#;@b9@ay9`6Ha%fkCmj%$pnh@-T!y;q zCm{hit%Qv)Rfj6&Lk2RMR3rfx*vUhO_257Pu9ei8*OzdnED}P{ zBHL=SS@l+;!8Prg(k~H&&kk_9Hqc04B&NQqNfqoqr1Uz!v~gRWkkzR#EQF@1PNA^D z!<$A)aLZ2}zrwSQ!SlwVgk-+SP8tuK>fIKDvMnv)s1I`v8WaK*44M+(gJ-F1-t~*N z45a!R$+)=RJe+hYrd|v^2^tbD8&HJ$*eA&)rxKnE6$sm0hfr4_3E#$C!bi{HAG)nl z`h@b!#=S?{`a&utriy~Q+ICPuYj4&nyWs$>6MhANdjIjvV6_+O!JM} znxZ+Cs<ngfpaSxQRs;zsf-Qvdf&A`Q%ZSU3( z@JG&nzzzLLwHc-*4Sd-jH8xGE8IGI>vqv@kk@bM=5OF$bK;vap0(a!nGJJm{KsM3GCi0|e znj1B+WX)sT#uyuQ=amxK9d+5t9F(R(Q*FwPE+fyw1xt^*l|>KWn}>xoUOK)@NVVd4 zDJ(Hn=KQW8^=)CzE&Xb_%02~Oyi8t&Y28W^BBg|3w>Y0_|g z9B1x4U+N51n=;8EZfe|Pm8TT3Q)&tKvQRFC71^u#GCSsHqxJo&ry3o_Q&-x?C)d94 z*nA?wA=#u>eWP)U)%qi&8FV?J?z_&NEigov0t^e8OI!74b5D42WForOZQGoTgVoA5aDP}A2>rR~$B3GZQTvfZ=VD&$_H zr5LgUnZ-j&8g}oEpeW%himhOnYRDswWvl+sl<`@|zvX)>xEoD5YuN1jO^p4Vwfg+&nDm*nr{Yy!;$@m$%G=@vg0m|e%mI2K4+T@ zR#OEHqfL`6Qud8dMn7wx&?aih5^OluU?sEEyeuu{3AT?@iCL$RzGa*8=D zQ{mhz+vQ;>j6}XMraBmbS-kxime)OJ&QPm1JySTfO4jPYb*B?sEvXGc5P^pct1iMQGY|JP4RxY zBJSXsSNIX9_;rdXi4D59@#jVr>Xf(22oKh*^xy-i1=2&>)F!J5zJ&I^HzWmSyc9Xx zbjmDcVS*m|4*R44o-jJ=5!auwYo;gEpkP)?(um}i8?~iY^|45}=6a1SjWWNX06C@0 zi{5=WGL3PqLPD|L9S!<-Z5H@ObLpGpqN{)hBLI9K_$7QHS_IYQ6*Hjv6;m}QOKQ>w z>|>k5`<_sJA_6Gmrr{l^_8&~ycvR=){kTEZwMuz1&~#PBgwl}ikbvy*ff0uD2JoBu zywrAT4%98zJT$5)cB+nbmdEc)7KKmwM%SQl?6yd(t7Qy#H4|&Q`j~o>?$|&akeTH}vm zM<@HWBKOEs8&2={B{+W<%5;6OV7aPX)0_0fP>9)DChDLLRj$5VXK~3Gt?bpr5`Z75 z5{0vCLMScS88zctDp_HeGSP4!fkc^%Cv0#G+zONd`Xn=2N-SQ&0x-61sze3?D(DBr zQDr!^XB*Ox7I+u9wxSahseoaxYx^rf+K9_JSss-KKxCwW-Evt>QpYsK8uOLQ$rY?h zJt#(t@qG#|ZZcnt>tz!2!aKYlN(`$hGbkl$VcqK*BWM^yQsv;`tvRlAFRFrY7tWb+ zuS&9Hsn2@8$dK|tas1nv#F~UV0nL(HE)Iqs@0!Dj$_>^H(zH~U=j*}{$28ONwNlXR zJV=WP!L6%yhlF%lr56KTn)iHmwZ^a} zrF*i*P0NbI&5EqRmua&-MGVB$C+&~~-kleK4V3n(5%{Abe^26V9V1+ftjkR5(w@Sx01IG-?`Dm3zZV-YlnCeOQbE@Z}ieL>EM5nCk|(9r68QwdPDaK7ed zT&acJU(_@tA&+;NQdQSE^WH4U1YWJxOe@p|%LfkH2%5~X%wPk>C|tU_q1|G6PRX{x zinirBYulfD6GmEbx?ZJc%NrhAo%aiwG*;$7Db53-0jM>1=T>aK^&t2bw(f8hyaNqO z3feYnRb@GhBQ31j3jB5%H}MTu8}pMTA%}g~fN5`*H@GtIGngUWm#NKNo8i0E3~O^f zZDDP1?u@9izbtteCa^AnH(Ga4W449Sj3Ps=_Q*QRp|k1Z0Ol~rLY7Zp}{tH z_!en~kYj==FG+0{Uo4r&t{E=y&WbB}7SGNkV}^^kNIhaS2wlhT66^+Jf!Q{jWxtDa zb4dQebToyw4_T_U%J)H8Rz2+tjTiIi{@MS9DEMm;Qn=IwWS`twyyqA4@$K z8b#(4R~<_I6|Ue7w!!rkVWfUu2BxKAvuDB2?~H!4%p!pbWB zh=*h!WA1Fq-VDkN9^P!mO^9B}BgS>Q0aztik5r;Et#$Bv^U(|(Ys9Hdf41-lf-3Rt zA>M{$NEYw!hFB|Tt7YF6E5Y2AMwTs7rKJVfa?>qxOI{h@ddprwl69iZjGmrIZ|MsR zR7F;^Nx6!x!X}`K4Ead8c8AmXYK+f^w5%Mb$sv5#%;osniy081mXrOVse$0RfDI3-b9e-vgF>9A_#BX8BbL_{J|K4 zBCbgdOlS0&-|NijKt{I=?QsQ|)mueZ1*=w)NB)FzaeC2PQDJd`Ls6lI0^egLrzX)@ zAMuTipg^o#*o8MH10WeinnE4T)BpK!w$$b8RFeO)`csomf1emb1{B1 z!|_h2K^x`P?RpI7QX{;=iq4}d6dzW7!g0%lYcow27%C{kqX|MiEa`^s_X)z9Z%73) zEn(A~@Gexs$Yzzb*zqtZsquW`h{P6QQViS^R&10Zy>sHa z^4Rp7D;=+_=O_;X8!4{R^mJ^4afCuDqgu1Y)L81lxg#yWwVR58>kn&Pl`Y={6^@Y! z!*f}^+}reo&3HKxxTeSz!$p4+a*ys%GpmHi^MSX(R?O{E9H=Ha!deZJyKk_YIj2G) ztSC7S0$u*2sbn&ZQ1Cuq|Mhzhr`tQ-BR$Ge#50O zDexH$9_`vlXGU#ixt@t40}oxp^PU!Ee~vk;ur^Y#<)h~*-d&Sq`=eesvk78ju4sYmg(NqCe>y|L0hTpR^(Hby%jnV>!BiRRE22$6+H)MZA@|)gRm&R-jFHMVT zk@s~|c2$fFI&!}T@QGUix7xHKLZew~fQ2!u__#BCY|=L*E~z)%hO>$$-PPMzwL`I8 z!R98*D%rGdtra$6du)>|l{p4;i@KF?Lp~;7_&ghMe3eTDjr##?m!Fm+HB)L@~A`l^MV8 z*h0Bq#>X9-3?9oat>G;{tUS7#ne>Re>yFLRfy7pQwF8Y!LRvEDi`?m}G~4ztCY((L zYs2upJJuth7EOxyV{QFFE$jxSlt+`AN9ii0c)<)yLx zT!qTsR5jP8Qs=dKSmI0*bJ|VhI}~m`Yt=HAI6j#>4&(-CVHLNYcKj3ndfY?a0-H7qd(fW{7PuV{>XsBm{! zBd9==QN}twiDB4|VZzfq?vN<*oFpdT(dthlPLWuf0?ZKC`*=;;&w zu};x`v$j!ab5^BrD4pPWxB6_K)*XA`twgy}3%VqO4HnJb6X53{7!7KAbx8&O?P@a{ zY;dJvxB2SAfaui14PPaEsi?BH&i6-bc@at#ZsOY9gW-Fc*Q4OEX1hE$x)X?X5D033 z6L)t{3~mN<6>5*JMM~;uQw7t>-KcMR_`s_350<}lDW*%8$p?;K>VPmcQsE_zbnGVP zZS(+0Bqmt?ecMtyu4zNnR>Psv%tP3CVxo>`oU`t$-fW0_r7orf=13m4v764aS?@0A zi;;S#QmrLs%OVRzvkGx4^a-eRyW=*^)uFh+Ys(EAGW{Vt_KDiO+GVv(zi8AfiEH&4 zk0ty%ac|C%`Q+izr z^xB?JJrXO5FPbFTY)x)GZwxg_f-r?SJP_?RwVL187uy%^B91 zLG8H*ZQxF|MN>21Gio>^l2V_tp#|l%*pOO!B7O^K4dZ(gbyWAs8>mj>u0{-$K@o~= zpIAxwx@{Nn4KCC*ye^SmNYV13BoD}CzetieMVkHQvfWs4c-vo^LngFvy@jv*dTEM# zBXcfElHuZVAF8#*jUsfKq=L)9#F}7SvZO#M&)pjj=iCyuks9@I=uv~_gkWdX9X9G$ zHO{wGI3GwS!!_VI+(;a+ayX^{9I8>KkNf-x*uILJCXUwxp2l%bz@Zh5V|A5; zjU^mk;x>*iR29dY0vtw%P5L-)vheRFg=4TI#)UZFgTf!<_&NTF<8?#gYULh-s|t=) z+BEK~8*s-upf;m%6HIUlQ{dpC;N6$;qF~a`Jg$^ zo+(?VcGeQt^dfWLik0#kl=T+sy|qDP?v4`cwyJX&a`5~0ntHFJ8HcY^3#Pz6J0_w$ZHg#dg#-y+ zX}aC_;_v$q`?Qk%d_MW?)RRxAz|NAgC%eaIJvQp+V9TRu>p;h}>}!Aze>uZR5*OD#$87$9_O%^!A->F@j@hmHRb{*cJFlV0LKiZ`Tjr?1EzMB5gF z*PO&UFsIRG6U-|u-!%E#Fp_>=8!H-b8%WcZGhn-5bKaT$UU=URb^LkTxY5|}+2g&g z?^;CC=RNzs*L6n?^t<|f0hsR*WBZ@eV(m*?9#xBveZFAZAyWUSEq_~NXs>e;C;H%- z=r5qWulHJ0B8s8NufHj8YIjm&$$#FezwGr&MWN#=$kf+$5Qk*0uO-Vf6`(x(NXxm6 zzYKx=7CL@?VQ-+vcQH>JK=!Et^WTrV9VU-NW} zraZIkXGyo@#j~qHtIZXS<+nKOU#3cZsS>qSpP16u!TT#MUL~vd64bsxN$u%Kw8-#_ zW=!W|pQQS@cA94)8=SIEn$-moa{5R8EzbW(ZTus;9;Q4#X=j&L>v$y20 z8V+M?+!H9dFTKPK$#eSHP^AO8FEfB)C_&-ODDO~sjs3jj5{cq5+EA^|_v z(r4)&UCkZKeE%HiGA>gpMgOu4{a^9z-1s|9lMGX2|BIkWqDV7TsYv`+k)&vr`L9Cp z>o524<3TBE7YhGnh#SrDK?qFCKh_R5Q`J8Lpg;D57yx9B@Sqvua?21t6f?YGd-eBO zw`B2^JHT5b9ykP9eg>v&2g|+Vk1+0{XaP;Us<<2<5AsR{Iqx-d>75w7OqSj}xCW@$ju#Y5cCMpguj8h_nmGKqs`;rM=R`d6AKr2w|51@ zQozTn!Xv^}0U-{x)ttf-*s5h4Kq+`AFjn9jcfG%{mj%ayV~cJyL0qMz5U1jyPA?J4 zuiy_C9}8IFf?x_i7P7zne+7d1_;U3t{7EXPW+A_E|ImS3XkQmRiu~uruO>oH)EUx~ zSN^Hc{&boA=qJArO#0IT1i9Zn7JmF^(hC9-!O@Op|5W%b?t$h?*87~S;O7M5xaCKL zVmQLCxsjkKrLF4|GyGimrFi&rG7!XSL4)fm6tAw@DKO}h9r+gxjgtPE^!&UxKpPE^ zo8$a&`PJqJMaxUJ^XI~u<8+bzatU|h5~2QMGFUvquO=MySMzVbKuCc$H81kxef;#R zd9d}lNpf_sM*;cG&+mI?)8RHpK%^%Mn9BA%{c1v@FGR;WMVRM+g5yD&zrN1H^%H82 zTKw%7)ZtUI1!f_64rw}ra|Cw;FGS+69~QvZEgv{Glp?==xDuV`=#XBd*xL5+qvrb+ zD$aF*%YJvC?e_jcmP(fe0{x$4;D1;W{fD?Ll!})HvRH=S%F*u>`U^HAqh>`K{zaju zB#GL=uLMVY%FH4<4rDFQV70g77kkulnZWXKM}zQxNu{NjEq)-1#P5|dx;1@X+CbGd z$C)-w(r=eANLw`RXH|4X9Re{uJ|s)9?;aA^wq>6lk}FZ~9&#<(=IId$f+@dyNX=BO zGec4w`R*a1?k!mkI5R3kaPJ;f0g^X8GiJH;{w+cp?-@ABBK!V5+EUUplC$Co#e$@m z-$7C5hi1t4?^#M&=SMEH%oh{b*^w!Nd_P5G=$v1`TI=4ac(o(f((o?WO%wE$r71zog6iREV{qbh?X=R|wgr@(jPDfj%aRDn!YT zKSCAS`cbr}PQe##O@wq@xKK13poPMn{fL^xTJ6C;N7l?mgn^HR>>3VO{n@3&JC`+2 zU<-)P9VQ~6GxmrIpY90aVuc1M{8mWzB6ZnbUnj@u`g#jU;d44p+UW=N;s-Q*qKtjn zLbrnF&tB*jkZ-imR1E&v>rCPJM$1fP@}IrT6pnAS%#4EYXRkB^$~RigCDHX4!NNW~e+(A(%)37u347rDF*w*WME`6Y?1A&g;NZ|?{aevB-Av~uLZh{Wr97C=i@ zb5K~z1V91GRo+0&z>944>txvx2KvDgC=Z*Zogx9XK(;7=zd<|HGm+sB|40V8=p+{# zP0IuqA3q-Thf}}TAD-Iq+Zg_{u1U6N2hY$hpIHjZtT2`yY+%BbM2R)eA~csxPuDe7 z+e>=dxzVY&$5LMd;Shoo9>!AX?S8=bP5R1eSvDIw{?j~Ukyj>pg1@qDC){YrE0dhC z2(A;OuSn3HTKmQaTExb@oaPAb` zwYBpZC5SI11Q)qhkk{&P-(Mmh)XRyzdATesb=!3R-V4`!GNw?5U*D8oHiR6oa1aM6TC5%Eob{@_OPPQ5#Ev6!OIxmmpRm3 z=FoI`fRfA1>ONi>Q1klNcJP0p`STE<4`NgCq02G81Jt75(cSSFjk8{fym}@a||EJH{a3}C_a27Zk#2MHBtXj7Evrc3A<1A{ zYbfxbRi$Wft$L7=3kQ-q?wg37t;VQWAQG2RP&T=W7%w5oMa+Wj%q&k=puGm^07}JF z1r(9ch3kh4j)aM#q1KTgQ$P+vtJqR(4oBKo{R^j#bh!^f8>b=9&JctRnU(GoQ;2Y%P2hm7J>5mTHsSD5 z0kJqA1#&WHscUjpxsTXqZpx_Q6l@C>=?uF;l00^!M_IqmhUP>Y9Q)&9Z`uj({~l}k z^#dRAl^6p_%Jg=)t<43)#|32Y#>6dX|nZUE&l zfW)^(Id%(l|G)-2d63cJGAdl;?uqjK62^LV%9uwZ8!(ope}@x@lI2B0Fru)fjc5R> z4z{>X4YcTH5oFdIpg`#sg2d?sHCrUQ66e#|d6QGM(+QyJ;a;8Yf(S8P5Ry}HcmMGN zVu}!wA6`A+|Aa^6h*6sz9BM}%$|;D3&R{lX$!9vlozL|BpP%z!p4o8p`Qez{z4#?> z`Q`?M>rHj^-K^=4pUwe_KKUTh>9(g2>ptEh>Vw1{Z|Fs$QYR6Bh%BzJ9Z!n>%6e(8 z5>mSOcv&cZJZ``rgB+EWy*TvPUYzkGWc&o@mVErtk)O|ru+RJ2!D~F|&1`CJY1^>p z=RCen+R5M2EqyrKp0d05_?W>AIhr;#MHjKPC{mKOpy5pL>;{Rk;e0_HCDP6h=S2&H zdbQ@JnsXGUS^dcQ5My5-)1X0iN?x z{V(WKJpt)=59@ai>vs?9cMt2~=db5sO+0dm&5}uMP8?Z~8coGPg%MmmQBIu8_^fD2 z)|!)QqNvb<4a7Lt^wnvhjt*sbRD)4Wd~Zl46r-aE$3jJ-3Zf1NR3J2>?WSqf`SjJR z2>ufe$|KW8npDiV;|mf#qz+aVUYzbTifdWL31921gE%-I#u75`)h^e!#`aN3>G^W6*mm0dV*_u%{+ zIIZ94zxlUy-~1=Kt@m%_m45Gyyl5-#EK}8>>1~4biIQa;@%DOcxgli_Qkn6*E0t|3 z`l*X;WQl%z^{ZpE?AX<*+Ff+$`H|e)5fWKM&&b92teVdeCrA8NIWaa_E@w9FFLB-R#C1kg)AN;!K|iI% zs1l1O;WgWfj=N(Yxfh?4jfhys9$$jG2(V3PKWt?=Y_i?BgQw5YfR}|cEgYb$akJ;R zD!Q|;@kNxoH|LJN(MwmhE#eU}{j+01rDlnkai;gulXOjfPM>5Nqrzh8W6gwrZ?T!_ ze!5X+q!c)32Y(*Ju~C7@Qj|1wRob#$=Q6cWcD=G|**_u&8`Y^)?rJxW?dR^p-NWPX z;knX&Zr`*XE)SpZH{F|7^6>Z@7N3tK9UKhPedrIm?dSfOe>kxLiRiz+?)5v}o9e@J z^Jd%`^y8^_%@Ql{H_bsfIiX%%7UIV#L8aeQY^UE*_1eos%S1;b)jv|W(tnTYzQ5f? zEIxS?YAqHcmxcJ(9^`$=PiTdu21$Mv(sb5#8uSV{TE_3evz^;kUxo)fLjQ5(wh*;4u#?WM)g1 z!{f7Er%LHDVog=}16^gWSB98Tm&mY2Ug%?BM1&XdtjN>_>%vQ>)k~aUkkU*Xh`QSL z%nXtE{9fP)Q2-I`Gi)AZAs{cJZ!OX*zk3wD&0*NR9VGUX>qgHkT5M)-6NT?0n71C~ z6O&~<9Y@X&q__zDtw-g=MxS5={|7|?k%n_w*zWDIX^zqe>UV;}6n@Ug9@Myn2IX}L^a&e*IiTRBcwOv zxxFlis*7|16sO%TDve`gh&2!YpFqzU&i+nf-obr_jx)o*O2oSX-%Y=tQ;p{#VN6?H zWUDM#=sh7XDZ_fn%6wFE_&|Aa(ljy1!9naLjfG1jc_3Lw=m*ASk~gNsCkC?Hcvli` zm{4CjYCPdqXTRL$sKsjM&J=PATZ`O@SaYh$7808&N+3zZtec5pB=bgOhUSti4We$T zizo@pFn<8QzCa3k!g6IU%eELV16T*K`} zc1~RM>$>nu2E0!v%G{Wq@f?+Z{yFNDi(AHN3z6y<#qW1*_rmyxXh;t3HaMT{N@TmD zAAc!+%C*lt-e$w4^pk`&9S8tCGX&}%ds~vspmd_o+qAe{A^=2XWgCJ>lHSa}yDynv|x`04VDYd>Q9$(vCk)5VPIvRmsYHn=0xgu$M2K3y0ev%rmZLN!vWckzkA+E@t!m9KXdas@j-(7oOwW4QrGQ2Dw2J@Uv`fsv)kj9qjLrV<;Nfs>aEfh%amM zbNnuo3l)wC=?GyWSI!+V#5j5*fk-sQnYD4naFj=j9-#q~Jh>DTS38Q@t?K7PAIBMt zB;KL)3WsLzWgeq?b!aeDXDd>5Efa#QMTPCQQ%1Zs1I(5OAFaZ)eHw$6cG|kEQjb-( z^IJSz`QeVauyWuWd42{@H@A<4#EBH)Ax(MQ%9kBB&TLZ783my^>ZCdY#j(<6m#6ER z6)uu(E$m8~ZO47Rlv!H*>?0Ji-y5JIeof1#PE`f2sf4%hPQ~iHAutY|O9_Vt#SZ3ZI6Yo%@l>!YVEoANq#8idqYelJ>W~xgjo$pb~WR$y# zGK$yW@36TI3@g>N;shnM=SYa>WO!yE^$NM~;|mRGy4S0iO)cSE+SFGl6L(5PrC9j|adN`oB3iV%>Q4~@Jt1J4hT7To;l0NlO1hpBFII%9ml z-`R>+M_o||zKSjHh+fl`dY&~?vNo};u*K9t&P5LT14wqd-1T)jZt{BQX!HZk0Pe)` zqj-!0GiFSl$YNzB?t4D(3Fs>?y)LIQwbT>Ff^fx6YKoM1x(RD9_QL931xY zOkfYq3RUCaV@{nr**ver?L`u^L+m}eFpv}FG>GSldTtfc%x?$UXy(~5)iLvUOMuzm zavENCtS{4aG9&CEBD;n&hd0yg^}Wk9ex0cD-lg+bGc%?@YG$7*92;HHIcpI_O|r^! zbXg>hQKI7ydm9NK$Ti8tFQ0WWu%g#m9>zA|$c6t?I1*%y?uQs3cT7EN)a1r}hArJx zI2@UFPZ;cVPS$V+g42pgo{uH(%gv9UgjC|+n$b^DLY8whA?pZiSMg<{eB-xVn>*C? zb_h(5#TO&;C<5M^U%0=_c-r5wqyuO&vB@8@w0dO6T+v3i7*fdJnw6J>cK0QUL!O&5 zVsp-ZDtP*;<^7vz=!2$zKUC;*)XANGlBnL{^5IBFlI@PdyJIw8Hr1QfbbTEH+uEt( zCxLncS?#{Og;r1P%9rg(grc*gk$d*~&V1>5_IB-ef%L^Ym;?TYv-~J+nGLOEYS*K@ z=WI|9rQ~RCuoss~-j(hgUaz=1Ax;mJ@3V?``fiCtc|5Ir?=?K4fN#?s;)efBUzL6+ zzL6G@*hGiJyvZCo((SF{F13VCu&fiA%Lf|RtBuap_5Ia#tN42@YssTwf1j zNbb__aX1orThrSS2Nx25$eT=iwQBM*K{N|5`zF;X!4TyZMxh}{J8<${l2B5AARTBc zIU+jGhOaA@4J{iR#RFVXL-BA29J{G>+|`%DcS;T&x)6>FgI)G3MEIH9*sUuof^YX$ zrtKIJAtnZRY96V-e)#QFn(pTe{r>vlDjHsilmry(%o%Qo3g0s@Y=2_JHz@um7ITC@ z{BS1E_&OPAKd<-;c*76-%Rj>%PC$PO07Qn}G{b10Vx6>@My5#1-!si3f{tP|jwd-_ z6$rSl3 zo=I#ux!)P3ScrvWbxDSixLoR56pG!l{kCQPxXX{o40krm0y(dPI8cdzkm4*Ylw_FC zl1qpvbB`qT&AoiOJlig%yO&Q&J&nE zMWN&T^@j@;x%~d;?3IaJn{+|BAJMYV4+oc zh{C+v`1M*$bG+Scl_?7am=ETa(c4^>?mkaH40uFn{q;kd-&6PvA?@=vrP2`XMO*82RW)U!3RoGj(F>Bo+9$fzY^jk#`r2Fn_7BB{dcDo@yGOy#sKn!`*Rvj7 za6Y7xd2pd##Sbn%X7%qw^c)Y$`7=7W@glpK+!g&K4B$f7Vm%JR)~l*__1GG^jmAeWC?pzS~r{WC1+Vh?eUucGwV z{3fMtbi@#1|L~E6pU>ReW^<$3T1mLFkfvlnjI5D0m$H|9A*-X#&I}kRx|-gmMPtM_ zG!nGG$(@>oZ(Ce6Qq%V!y-YxLGP5W9>>*r4B>r;o@#SheAPP<;G@6?*xyp$yrKKY! zX1o?x!imi?_=9Dmbg1|)PU5o~c zI@6{|@7o%F2wNU12^6mm$)Lj}rFVPYw=)-Ky|1~f(KvYnX%Z(A-O^WtdPqtt&%OxB z7hQnKxJb)qrgSpbd1HB-d5t<>N4HTC+5RIsNaun6C!8Z~k9>Y%r_xIu`?)9}XwFNG- z`uD+i(D7@4n3@tX(jJpi@wZVyzM-fIm)^`I02W(DDSecD>jk9 znSBT9PsbSlR@2zJ0uH@ATm7eHDcdrB&dyn~b)05yyCe68UDz3!`&V4hlyS~|T!}Sr z5bpVWB7qRy1400%p6H+R{*~h^`5dWr(It#s-TegI=w|Nrp5%ukIqAveqv*~kx&`h4 zWD3Q}u+fh@m*oL`AAkC?v@K-&9-;>Q`i-#?6A|)=|M~%G;7LRVY9~kY^|QE11zapQ zuOe#Q{^lg)8D$xMO-x}2I*7Lhso`AF8p)<2_~&NI3=mT}a;ab9)c z95Kq#XU{vB3(uW!@E-FY?XNg~nAA>8`R8+5tuggRT>RhcE+KSZejRX*Ap03P1Ga9E zEVi>ST%yd9bEw_}@?;+VwkGD~mQ;>ivwX~fAG^kPK77rTbx+xI;vZbd%&aBP&NAeY zx5BbcoQ$J8M}YA6L#NpuW&U1j$!}0f6#F#s-Xn;7MaU_Y#}Nrf5To{_Kk_)fUcEXLmEw=?hCZX~q>w2=OC}!p zx*%DWUP##dj=vo=yvU#~$DK?o2V#~)zVJ@Aeje%pms zwCMdom&k=+f`c+aHgG*V@m#^nV!46dUAo5 z5s6BaIU7%MS|R>|rP0JxRnl+X-FD*QRE4@Al^$ zH~r!0ZeQ>Hp6p-l$Dj6IkPt05X>iu5nzTvWs(HR}&d2)8#Zg!<5BD8~UiTcZ=#x0D zk8DY<+3~#E6X-nN>Wr@}$D|#QLJ+@2@P`vu>yR5t4A`Tu$UO}VO}2E)+%E$B zfA*;nHil>9BDx}UtZMMF4vA&*u0C)QRB#y;@_+wSNYcKm8$@ol!!hq|;$O|t$u6Dl z`M0CQ`}s_2-s@zWd4)*sOrHVehy2=p+P}YnK4`({;jx0x+wjg2nna&-=3hef&nT!G z`H8ppp|fWqev0lTl*7txgWDWq|Aez_ar<15hd#wMMZQR zqbOl&QKS_S@4pH;;g}DgX5*(Q&V0lyjtWXfRdAHJQd=C{f$RQzCN(jd6Dh+`ld{qK zgx#c$DBO8-`-00|X|H6$I0l6Zj)-=~OjVHjrl)Uv+nJ(T`j$=GOGb@!?5KQBrk+*S zRd%p7C>n}F>_4K~Bz79;pNYEqV-|oTm0Tb_B1n&uV@@t+em;WH%+sT$)*gB8IK}?X z9}98){v^-D%Knrk!{f|g*8(MeCamBhj@LU;rbvPm^u~=Nsrr%@Wmd)xmqZWW`Ka;% z`a>oEKr`9#i@gWC({b1%-qAy~;#dkANqn^ww8YDuVLR4|s`~7gRFhAKKcC@7a1{OT zm*SSJ?d>UUX?obP6tA~uYQ@Jc$|^Uss2c1N*gtM7&&Annu^5&-4PBv*@BYCJeo4%! zsQNABOCWl0QW}sss3w)o;*B!cPqs{M$VU!{1b|ElP0iFbGp+l(%?F4K5hp2s8P&u) zk{|tozvPl4;P<_l6#69-BT9aaJ14I<-R43h{9WP;2uP;K#gjqIvQk>kRqa_*ysg2kk_It zFFC5dh~gGvl12?BrD!^PTQGpbC*>St-V~=h02|dryv!lr6&KNxceV7k8M{ZZyhBms z@j&1vFDH5}TkjbEc(tCwMH>5$Uon);1o(I=5eHR3IO4TVQ(OLVKH2`Cg`Io*Y|>4} zn|soE^sV!3(%^2ITa%ml+vnM2a%*xk|L#1S?Vcf9;?#CrWKn-k!+8B7_u&hgj@ku@ zA2CbG@#V4CBhtxE{o{u`K_7(8k65Rt(`k-g6ZwO)XMRVj!JDxbuk1_+|Kka5=<8@z{E<=-eTJe@TYY&jZy`Igr7 zTdqtVvz()gzgfWFW$nJvo@IZ(J?lQ3$U%{PiQb9pROH)VLAMnsnPH9PDJzzs$uAr^ zO3B^5DE!1*=SY_N!ttTiyF`&^;2a;CA(*#=jz&B_OqnRX-A9mA&Nw|9$8pTt-?A5T zwe>gflc%x>us^@fS zk2^{S?7g0m!3CC*xU?8U%=8Md76E?7S_$FenZiwIonYcO={QdB7pNV|;_XD|sX~Ah zAD`jSq1i=WdkbbsL~vX0nTiJ(4yh8rs0eUAi+*w6{cMG|nwjfR6jyq-Cl1RS9Gt3l zE>~>unZE+T$?tZPK|mB${-TEf-AFDy50IYG*QL%gO+l3KUd~Ycd{I(ykr+*LbeG#k z9H#^Y!QiRBsBQem2{-u*KSL|c1W}*>^*esr?Y8+ss!Z6$CW3mBd#yDoqk@rzJ8yxIwB9nn_m1hbifL9J(Y|Yece& zcQ`0wipx}_XotpN#?;B%vO1j=07Zt^@l9@(paOOYH=&d?RV5;-M<58u!D$9ZfqU0M z4vPHQ<(#yU*efigx7u*BQ8XP!T2a^5Ro3Z*y^n%@>cSd=Hj_kzscaDUWG@kJIWUvr zp}`;m_nW8T*8*on-ClnV{PvU#opH|7$>>S+QGUo$-V1gnurfQDrc`192<0mIST%0v zpnm;lWDap&bjs2GqIe@4{v1wPU|uBVxP?yqUcL@buf;6JS-8)X*BN{J4T8@v-pijE zlqXm5eSGlp;K{RE2@FHER2O-B^X&sSh)R9_>|Ss7Pi0lWEAPLTRCywJ%!=`E#{u^8wRD3RUM6+u&0f)(zi}C>J+}ny2PCtG`*%h z#CN{`06)(9iv2aPV%FqaG=*k?UzIPsK3-wdZ6KoFJ%QC3n}OGt+uGv$H4c?$W?s1M zG^Fl$^1eIrQoP?MH&jb~M)-L6hYDoDUt}NK=FJjOAy4|i#4Xp6B%gH0SMM=YrQwg@ zR@7kjvSN)|(HW2C-6ASkn%&i=px=iC1mBo`FZdAgqb1lwsrogal5&0g_k)6Lo?fV^ z0VD*j&ix@yhb&BES!9xbi!~ms&aP6b%?%Ai4IqRj%k6n)T2dZwb`z=e3CU6-qXyGY zG|A9hpHi-5sH+QT5J45mnj&88H0Oj%Y!)|IYNOAlH(ig;$%hyaLc@n7(11E9(%N*r`pg5ulzhOa|EqP|60coKc9<7)B7_laFXz7jMGYvtdK9Am?SQS z+OY%-{6ii-&E6+tJRZlUeM?Y`M;OD<35W!X46H5Fh*|vGG-TSbZ~oi1V+()vgdMXm zUk4WJIcuF@d+*ojtKh|>yMJpIWU7kW%61=jEI zZo6hWU0bHpyKS-QbiK4ww@>SzO9|rE#@4Xp?h6r5VDM!-UkTt{0hRq{pH!WDd0FMyx-aZb zpI0i({zXwWTpIF%-@R!CWRcs6B7#gOCSYZmjyWEfsHGgXzXa+?d9-RQ)BNC%c9fKAnh`}X@}!U(_5WjjUeA_)~oW$LW5ROs8` z9!76C5S3it)(_gzDU^uFyd5RV6DqP5OmSV{rb^U*^(u8#6p*5 z6_P+nEmYBToMY^Lv3{lQ7&g@uUSF`S_zDezE{}%gs0_#n4*xC}ox(m&a%GqJ_QNkA zWA^*89Ja25w$KLccCd|ty|t=Fr8hhO7d;;T2i<)YoF*yQORw>nXortQ(UTlZ*G7b7yGidci4}NR}8$XiRQ8 zCbW*dTTDV0)kMSWGVSX}LWE^KVz!1ykx_1z3d)2*DBoJ;6>a5_-ehxJq6t$9{&R{3 zCU-f+0^%7!9-djTb?+Rb2v_m;^?7pS8bhS|8pFcSIxoMJm>C?mNw|IVBU?w?Uuh?F zCFo;8^!`Q8E~}Fu6DaFM8^6jsDSgMYCs(v!E8qToYwgw_*KWzRyY%&Ww|jc&YxjPx zPWy)3qg~ETRG(!J)m(!a?wR59?-~Wze%}|^WY%MI5~3HnY=lc@cr#O$N9YdCH^vSz?77A{cq znMjd@Bhx~W#KfqDfBUAdLU1KLqzSxjHn0&GY}1Xh{6+Wn+2kAQ7QB$Cc67kyP|O4A z%mBv0;&X`B!!w5VX=t)|rxX-hxDbG)hi7z`$mN!fKS*eP+lk&RM)q&4-!-!T^_a+G zKfyS(>CN{bvvoQdf9bN{lBoH$_4-lsm7Oi_YJI1EYC*88G{;JG+2t4|+mcSU?>Zmo zWbssX*XzgL2YZ=i-T7{~@y*rM&DxEBO}zNvXA&<0Jw5MqlAlZZSzE22j==p$Vg zDkP$$%k}lu+FhQIKkYT8Hfdinu(`AZfnjTNedm^qqlq}bir<$cMQm*^k+|WuoaWs{ zjqhyMKNjEfEua?N6gex&IN4r*a)-9-vyrv6WlltCPmBB6THC6>$%TGKK%`|2Z!fV8 zgG>X^s?xRt>7=Cjo$amq>%)i58~rzkR*_8k?8&aH-{9a8m_^Oetgk&;tG|lgLGN@v zq;Yrgaa`Y6UE(|jJ6UjY);G4dZ+)Y5Is^#JfZHYQZ|-i@XIF*x%ZY7$YkjT$z!y`) z_)f&IwXs{DG_g1wMTaRg1q6d8koN8%#aQV6j1#m$b}Q>|_ep)G#Qg<1QCDmRAT`2e zI!0_l&V%g&*;H@r_U01w?+&4C03aD64EcBvPX~r@yR2uHuKo7*5=neK5dZYSOko7^ z*!_}MqNLZI)!q8!XL>cW!UeXDPj`|{=0oI$xC*dB7wKhL*Bcx4uTt(B&yhwT#}0(P zN_yB`+g)~VU6D@+`Es7-sz)3`89DFn*tGQfB}_^(&trAkAH$#*XHJS*SRL+Z5``?? zJsJ0>HxtgN{v}TGwe{UjXYb$y{@YS-bnS$=ot zU^45j|C3d?5C5xAs2mo2_2hK#Xn*g`e)lE(_vGc?->`=5cZVmZZ~oEU+uwh4aH7)s zWO&nL1f#MP(%^U9^rEU-pfXlfgh*0jF*U#c`upz5!Ev|y!_kY^M=-R#!=r=!?)N9( zbzi;yu6w%ooxH;}jMM_cs#;5@6!~BF6OG&2()w{LIx%00ps(s3vN_@e-3k|IGP=sH z(Uv8P9>qF4hd}ytZD!ksvNs%>O42bEW2TprfubahO`J|m6PU}zahVEG<$ZEPVU*)6 zq6(@}+$X%9=sM*}xUB4F-0hU`e5g$oK+{%fWP%UGKwQkVD36SDRvtaNoX1mG{v^pC zJ&KZ#7*GN19H@s4)_ly`u6-LlAZRAKhK0xpsoGkoo5(b&t?QH%lMK@N2n`I}H-D$= zVdrS3XaH%iuq_Dg{A|pBH&rtlXv@NHG?+xW(xwH)sl1NjyO~f4y`ZdD4o`=gQN? zd1UcSjfit=gm5I|b~Kug3Ct|g%h!xlOkij*AxWe6P5|WfNt_2|>rj+1dhcxVdM$fy)&$N($~NQSjZML9^|Uq7-a9U$Y3NHc*9bTS95cAt z@i0n+Z7L>6wt@|!2BNQ>^%m*^(9h$t=d}FLd)K7RLi^@~$1e-Zo#L>jXi6{Z)sj7+ zErJKrf$e&6lynvea;S7J;482zc{aqUK_A>LJ2Lr#u%1^UoMh7r-|)6i*;hq2=|uBg z;kw*iM}@1~oAO-UN-RaGY3pb0I{}|1Z31%dr@PQVooHsgZK4W&n720r>aSMgA=NHaF$-{YesJd zW_^z3LdEgX{Y$w9H0SHgET_`_1mk*wFxcZ6Udgaz+Ni!r06}Cg>#PM#jq1FmV@f@t z(?-XGl;w&SgcNKImc}afoQ~SBX)e5vW{e9z&E}WFI@QAL9Um$Iq7`AeUfoB{n*}kI zpn1YLJc>trkMO<;6ZhJ|eY1xC)O6_HSW!I8#w0wTJVsFD1A^#8`RO{F4)jn%_eyPE zfK6QBX$sB_eX}a8UCHiJvQhRe$V9A2#6^Q#dW5$e-=fj|B+{4Q$Wkg!qJYYb&%&G& zJqw~Pvl*tz7gY3F7dN6x!6<1XEmP7za~wSWrc!i~xikfUGR+xJo66K6^7r&SogpwJ zP|j}8bUR2aX2Pi3fP745;BX;&!)_CmyT0`W{v_1|G@tyel6!HrJG20$E5u#lI?>amJumPu zS>5a8TRp)-PN>zf!on#A5}c4(M4eSv3ZCamv7wtFAUA;E>Ld~j1QY-*5)X%N;yXrAZoa(hwHlodA%i<6Rzjf~F;%zfhqM$R zF^p_RRhp$K*h~yrMBS3+N#+bIv`7H>X-0gb>!61l-0Jycl1*oXrIjlL@u(+a-!bmb zCyI3EHTcD>!snhVy}@;w4OpVI6gBGBNUjR=ws!8YlA?p*Y<4Ku_7F2^mVmpfEcm?mG@rt``R zyIt&v>d0aj&A_!(qU~Ecu4`etm{T;7Ql(lftd29w07yI`&ybgg#J`75G;iT&;x9&e zA#86l6#{D@j&ZGW){VJNV%X~0s&wF5c42zO^)clQrb(PrQ0{mTG!Kd))<8ND0G?Dy zG#%+xYD=Pio|qo{G4V%?(Mm6`h%3(FLdT#k8Au!Vbgq3KxO_sIKE1MZ~7pRMpZ7Zomo1)x&s-c4%nzGR7MmyAU73glk@y zadmO!7O;P=j1jk3r;n z%d2uRP1qHZ5o?|WDYU>Av3wg$zrm9n8{dxUHS5D}=Eg-MLN#d8!&%_~uum##OhB7U z&xd$Ga}bN!`iFuS#-Ed2gV?EZYqAf>qBPnM7!xm-YPcC%wLQO4YzvRUbxIh0A3*z; z#3AHbHh*AtbCq4=wFMgu{EYTAy&RKRAU00hXCE zB}0?>My@Gub8$aKR8eoYBnI0MCMa(W%>p?9*m68JaVsXk5aM$#@i5Cwx0phW?ae2G zf{3CK=09;C*!?ieXC*}Y0)7h7tC|dw6+%~GwPK7DcV-bfblS+F+-79_gOi&~N0fx+ z-((%@jN^?<692!GX%-|H%guzb{kjgVL$^Td05+_UA&4rVEPZ<&&inX z6YWnkonlQrbQVx0BIJ5NHf?sXV$5~R$PI=a4l*ueba8=az`6hV+?MPIMLqOy0zV#Q zZi)v=Q6Cbj5~EE4@i}SdL{csL3d_QWoi9zjIx`eV?JMI$5)bJDwR`4HET)=G{o7LK z|Ggh)*TZCRX#jnUBOaV5{?*IbO^WjjGpq=T z)}iT4aVYD40v?qR1J6aZxR)Szb zJhK<*ZgN_gc-E3)LUbtN_gv}DW)UX8&9M~YrjoHZ4f4DHDhcnDIFiNhN!XfsJR6Tm znvZa(u=kju#R?y8Y-P|TrZ0Fi8;mIMLkY9 z2MrH^r8jW$H5Z>l+bZ4oig<4)NYc{l@H$%{^TbL#kG70xoz=WV`C_8%e2-?P|TV|Aw%AQTDb{#j{Q&P%$HiUn2^pUfJCItwN6&;++BV{# z8+LIlJ_e7T>*&tNM#izm!HS~kZgEJeF=dn7C{|Ohro?fzJe@`1sK18(N%%jouXCfC zDKmbq>kAcl0 zapdzp75u1_upG}y{g`Ve<$R8j5J8i8Sx7d>3@P1WtTQVY!(uI+~zD*;@C3$ zshD^6Y=O?3we%_oEYJ;mbuL7!h*Z)?E8;?ts?@h-b&oGl^&tJ3Uj}YzpB9o7zslJj zPrfR4Cs<{}iADuU?E*tQ#HV`$a`%W_D9F%pSM&6;iEl}@FfkpXdESzL73q0W-+#A) zcuMgV6QFY{KCA|7Yf`@cV|tzEvK!_m(=$R$a20HmK>JwcY-k~l%Prie@}uK4aTtGz zQbbp_8lprM!EBir*<@7I9lazOC(cL|N+HId=dkN!XvwAlw*7}j@&#xlu3>&=M>$%B za-n}@9dL7-1+r2{a0TWxKdNj_N_t_{26Jn2sxZ?i&2!;58uKYg7ss}~qEPXb51As2 zD)p(EW$tB>(H3k>*so(=b*y7JGX@ft@#5LxaJ@gYrvC)3$%SGiB`SEvRUPizD^WRO z)J@-)Q1btin$w;1Ci4@13QCl%Lb;Fn`V<9cmBeW_YA6oPrq{s&#mss-q@vjo+$Hhx zygxv5h{s@38C#Lb%n4`{BRjUtFh3idr2a86_+ zCS?&P5?uh3NmRT5Y(C|s=ped^SnR;A^Uo@Yf&%VT23P=P`j}&(3_+TE{ld*H?rHMv zk+8(6xcGy5g;MpMG8hhT&2>~OIgT_NQ^MKUl1)(QvO1KQUR{)NhC&bw&(vHOLykzG znm9}+D%Tjvf{p#|?^f+Y!*$827sHF@ZlB3CqyQaYYGwRzF z*ZzbJFesYmiI!bcx6qJvFF84?D|fFqd~!aUj>8aK4@h zp|r-5gUoA)H#z0wk0$9bSs@`=V?QXCF29nUL#2AegB4_ED=^Lx=V#!P^D(8ZSYk0T zxA<~}^9fj+if323gO+Paz0Rx@Z6oQ3tqHFjUxQ&}1oBY>d+U7<7w+D72i@aWaJ8Qv z{QZ=GlMNxq1`fi~xE1atss|cg)9OWd@MKC}!yNAblHlT@(vsl87!gynh zTx}KbU0)xJKePzLGB^V&2-}MGp9^+nW%WvagfAQ{7Ln=RG&AnNaL%C1cPv+(alP(v z-|rL}OPB}iyayPeN-Wpx!mI1azd8rH6QTUod^@HqgCE%Ml)z5GlNO$+=I+njCfi{c zs)k###ko|;bVm_An%%VZ`8iM6Hm1&ob4`LwgL;M1Bkj8q&2qXw_nMn4u|Nv=k=gVD zjUd-#>x`zbws;;DkFyS<@KHQ)%9CEXHH^$9Db6+>U3h7nPAk`YLwh?C2_f%^l`gUde$!?R?bM>B`qDjy!6cS8? zfjliwXDo*IT=xP;WZNuWcdN-+83-FJ%X5!S6-R-`<2)H=*G_&8tuQr8#+A0&bs4a= z!Te2oKE9sDlWsO`lxOKN$h2z8nF_Qh4LRvHhFn30^QhHQ6g)yw(wXgSs^enf%mo6G zk0k*^3uI5li;?C|x1jyRc7B&VK)emDdWeCl+0GKQqPGu%$$Z-45;zMDmcgR751E2V z%nx)iB;XWz;;q;ZwP{(W0a_5$PYo?s&+$)%NtPTU(_^5!sKLj^nv>1QRAio70;`BB zs>HQ=|8#TXX){uK1GaB*6E0N)Tq3k(S2(f)%>wHEpTT|`&Hc5 z+SW3_vWA(e)psR%VAZq6!?n$=?X6~~O8L1Vw>1u9KV+}41DQPq+3j?*Zk z8t^*A=^Eh*W-Eg!nYn!Ct>sRUX3qt_5&<+YWNe7%S-`X%Gj=j?dc8`9aL49P#mWJ4 zpE(UG2NMC$e4fw}yrCO(j}Fs*I$IG-+|*PN0ac9Byp88rdKF{$OuDyD5nZn~N*$4N z0KKkZk&$M|o&n0PP>Kx;dYjdxeA94&@uJ1(aE3xl5T1n2*uIId(3z2x|aXU)lC4 z+4$5Uy8Jf-P;ZR!S6k?H%wMcxr7#5l*Zvt`lB{N&}vY{}9X}3Mc4Sfu-MmUN*fJ zezII!qCMY7NT69q-QjG}V- z@)X-u*ml1ij${ZZ&&9Q}r-$svlm@bx(%c_K@ChdK7bs<618m0my)?8IKQ- zLM~Ko(W&r=hmAP+d1S&$TwpziWCLNjg=9Dz4W zGc9VmYeh@I_0*=vA{fvuh|=YsjLNovhZoj=F&JAY&#o>a8=;h7vV{U|9IYOAz5lUqrr&Lx2H?HuqfLo^+;d)+=n zmN49rD`YavZuGiP?q&5Hd5UNn;$fNk(}VexZPVD~$cgopKmZeXd+si)&Ohd8zS>C_ zVq7ry$ync4I-sxsuYv(asK0Vdi_4&gS@wQDF}>PQ!xRv2RRb+c!2ER>+buYk{ffo6 z_?x<1%M+4(_9X&c4IWh|0E`iK(!40SgckZ$0z?jcWhDchiHd|8Fyd;AS34t|0HiIn zV!@=gbXn6Qbiz@BG3C}v`T>RvMCVkb!E$%G0?cm{9=2rZqhDRMv&U-GJL@(K=ypM> z^X3Vw8DT9NHH=`%kYKHlrxh=#f*;?)y~B|Og@bL?%%qOSdk#CpqKmHKbf=d zvrqFbn}({M^>|G2rG@Kq%i?CYTb@31oK@Z(EL}~qh;#8 z-4D4I0~MB_;6IgZP{~GA&U>lKbH&MPQ^qq#Mif^Mqlj;=`=ln)b;Ub7E_Za-*>!E) zO4~0}^GQNoiem?ZyviBq7jxS53M_G??Dt)1-V)!VA3-O-;6zK%4n^n&F>F4xrEXGP z?J^*U9m+*#SfRu^3GkeXHnpW}OH^9Z$#B52aO1%S;l%hq*Q>-1h5R+g(+@ zh3*}zZVg&O#t2t#;^&?g9zb9SxO-_Q^T5v%I>K2Z{JZmm^`3lBklyNS)0m1yay4*6 zr*okG+`~AbsxrBH7PJy}FNH6k-Pavnd=`XrN zwk>wqUXHZY=^XQSr}Wh;q)Y-f8ziW9qjLo75%U-9Rr1i4l#hRX)PyN#Ld)o00*tDj@+PBaP4CHiXjbPdOQ;BN2kjsPLAI} z+`qD1Q|vDoCo@9zw}4P(N`fsQaf;Yn6bk|^W)xhcGpYVWKj|DUc6rG>x#MJTZO=fg1t#0x2$E&VDWODUeDv@SiT0AVSKDYe$jzTOOjl( zgHOlmq+Ei9n?NT?r0Z2Ws}@fCmQ}%w!E2Hbk|C{JdyVS)%0wA!tRa=j%x8JC;# zI?vJLosLoFPAtFWY?>r02Xs8}s$0;ov44sZ*Wo)vCF%G>_TEasmf&>4518qh;fPvH z!R+U+(P+fEDubbOAfcNplQ0=^2( z@k$j&;x+CC>QZtZXRX-0-fBfw@Uy043B1M!U+}^y;Rm+P4R^d4Hy%H-DJy#P*kmfO zRM3h7g8uVX^!O2o6|@iVlAHYvzd2ij4@g^&AGz!9{8C8W3pD(8Y_?gy%^?D|DD!j) zImUq&(;VRyvWc^vw}b@e?MgXDtPw-5Y0npD!VoVSBZIF{`?{SAdYR7AU`Ys*d$lE(vhz3`qi7;0#Lw{-yt)b&rK_6Fui1i3A|q zPuN&ZC;~P$_Y@}lkZbvHOlp9F2ponJ+sp>3=NBp{jr-AbngYz)4l@j+F!3iY`hOW8*$o~j0QNVExTv1G-BmJ@yyn5L42_jPPU40#^d z1cvpvE&u+#);h4%x>=FHLt7A97@NtXn{OyFTM|mGtYtP!dZ9x-NmZbnTkmlJkHUCO z3e~sp!EmEE)>C6WX|sc|&5iO)TA$uKkwTPu$+Y6JH(H<<RUBukLI-G6ph=}ejy9Ik8;>426iH(dv)fBq-T*5g zLJDks@sz2B5yF{oZ<_DbB~eg0IQPv(k_DzrUSl-VjiBGFdOj!~n?-iWCb6Fg6OTbH>TS1ihsfPvg$VboAII7IA zaA!To*@6({hckuUu8me20%;OY;XgA$zeLpuz0=eASRIjJcA56MOSVN_BybTj$nijd z7?Z(4Kc6=x>%PUPzl2e04N*zU#i15R5$(bELWc!)0yp1dz=0=??BhPJ`4PXPZ0_z^ z#&?93g$|bD#|o<a;6@xw5H5v3K)P<`Bb(YYE+iRGgqkQUR;A_apzQh zDCP0YG6JNJVv2-tvjB_?jtpHkP1%NUP!8s+4Fsh#4fN1kk+=Y?g0JsW%%-+LW_b-{ z^ggnizYhWzXm$<}HB|Tp?E{ZnJ*hKR^orP{Z-|KutuXy71w%*8$f8g?CV>O3&OD{Ige!b4j#zPqT@)8o8o!w zRGvoiz~FH#%u+`z6nvw9YP@}LY^pT}FB-!21vhk+~x#C$=^v|&osOVbE8??&> ze`2m%#au0zViz^c#;0!D3OOhv-$D7wj%%SR-u^pn`hT+jJ$n|d`UnRl{&l3WllSR_ zsxi_M5ljOo+J20FS^W$Y);J4vr?Hbh(z$%M7-XT$`A>9iN?RMKiukf>0Qmo~360g} zJ2&!BNbVwA+6q15G1EoQj6IGS8l1~L0}ocl80gkY2`un1A2Ij)5Gsd*jul|p z7F>%Lw+jjep8L={D#)`@H0{&4?15l2-eHHYIu)@CpZr7fUqS=Q077xM zr>KAVSEDcjxzf~C=0eH}wvq^w2=I3yNskWR4GCGvhcufTV8`TR(w~#8rF`vn{7|Pu zdJ@HosHL(>aB24$K$fnDT11q%!0*a7E0q0L%xt zCA_|2t&{6Q`Vi~l&+wHttFql8qSbXJaofwDC;_arSIOkDu6{(g-}5B7u<{S_gPo!0 zHJ#lkZi*6c@#gx}EnGa9PtEFNB8Q4`W(o0_>Ndn24-wH>WKS#kFSK}%Ipm7i3yqUl z#0a+VKV(kMGj~S}kD#!Z@rn^phiM)Xz;GyRntm2-u0Jh4fZ&nv8)1+#QN5(y=d)oKnS@8yxq%n88}6c-fO@kOU})%}6y-XlS#&(LjkkX~WK%@LWl43ao4$|xCiI{!|l8C6{Q?Drt}fXUAd>WlP^pzO*~ z0m@QctyEi?@a)|VtS_`xOV?i1R>%@ze`<(OB|+o$o~#n5%zA}?Gz)MqGEtEoh9_pN zQrB`Rb?STX^y}nT3L1LoXWO~t#&y!qwudS3b1j1sJ!yPRZZk#So`WUeg~u$tn0oK+ z74_YvfrvWO_-> z%$42Et=+q{098P$zq}x2<;mLW&XUaoH`8NIN)mdW>}+o?+3ZD}4wHdG0oAd&T~PGJ zmsyrOw6VQ@yS_{i#c~}!*;+PPNoQ};(v@ZpZ7n+y6!-;BwxrRG)!nTn8&y?&MQ1`k zBIvkDIs#Tx(#z)Z`CHb|yQ4G*)$MXjoDvRiNiW;$JIl_+?uGdRWknNcFfiwQX45i! z-JN|b>3nBvZQ0HTb3|c6eZjve%FfN&?vsr#G=t3Js*AJ9EM?eHfju8k(9QF?wMh5< z?B`omB(L2%Q%$*dLYl62UP;X*Ym_hdPF^0IbdL|-bWi^-&v72xF9oj8RN2zz9S*;< zL{t5XPeV#cSAadInYx-kTR}9E=%d}hYAeVTZmMWf(7V{I5{Y>iKrw;MQ%UM<%V|@@ zzXHHx7wjW=?U9OJNZi)!&a67*RNj-rZu-OdK$kc5b0XLwWo7KiwD$FEa5#t1hY~=n zXU*Yvr5FE^q6lX_QOL5-a~Nj#+xLJH;7p-;Kx)z$F!3elZ^igUXdT99)3OW7*|{L+u%)j6Npbj^(o<+?mMA67 z*vIJCj0C8q#FVR1b-A>md9m;yT$kIx8K=C@epolVcN6)ytT)}Fj%{>)9 zU9G~seXz&0#DVoxLqq35!eRJj^)s-e85fQe?!(yl9DV)E+GmbqxB1L3>!05~P#UDw z*;yG;if1~}F+jJ91RQWr%FpyVtz^auJGMw0nL*`q~Rp(gaeW)ONqK8&QU^LX?6^Wl}rpFH``0h-~|wxMk6T|5L#Bu73-a z%26T0ga$0vj|HgvFD$A8Th~<3w@Ngi*iBBtFuOs|uuDxPWl{npG~o1Gys*B?rBF!T zcAh-7vm>;0^74zbmz!sbrpCe{GIUI}(*f-rurL33^P zlA+D9tdCRp1kXx}Gg)o7!@Sye(J;B<&5SVyX@~{!&D{vzuOJGBEbTr6Ei~>w(6GkP zDjbHeYk**#(1WP%8Ou5ru*#P)^?)7xQ(^q{fdLWn zym~L#Ela36?m@NCMh?ZJNIqhguR$FKGN<(Dt9UX=#!(}keKp{-MUFw3GD1sZ9KaYs z!?J0xU(gX%z#_`rRIfPBxnd6UnSPc{Fd`n9O_LD76T*e!!!%?5n2s6Ro5rmX_8EQq zIy~X-AnWS$%03y=n=WV-QmSmN4KwXx6XZb-&@p~4-adH4k@j#Q21(+xp%iBuIgHxo zl`9haEU4hI1pU(PI2Wg;V)rYP^ctjPI2)zJ%y*-w(S{jO$nRl)YMno`v>{2#{`gXr z{V9>K>`#fbWq)co3Gq{q!t76xFXBf_XTgOHOKSE{X_~LyiabLfx{|IUCm~byz}@mE?7KmLvv!(9LDGQW0Er- zf4j22z4e&ZZ6)~#chxu^QYpPW+-yxD+WrIuYMo&Mf{U&7Yk`^#L6r10Accuyo+yhC zG$l*A29_%D7Zg2SvY)=3ZGQ?Hmb&>}S)4kzbgFk{T?KBsaQv|Pxc4Agwvc9F;$>H$ z%I#1N2)0!E=95Dor}3h4(U8i2C(a zY^_bxr1c=fiA($Kqx3o*>ue%WD(qpXl0Y~=GRX~6T1nJ)I9DQmFV*2CJPP)Jmn$Sq zsmWT_+3-WYEr#QI%8zBa6}#+Xo3w2azQ$W6@hw%wwpv5%#%L~Yib(6&z=__K1)Q%`fo}@-s}1W|sWsQyIksfWa!kpd>0F4| zX#D8xz&VIu&5CfT(4H%yA1Rc@5fS^H%(W}2z{ws@g9JR(LW5Q38-`Y}R$J;Lrp33S(-ujos7Sv$ zIO;_6jrHepdhl7twtCu9&l!6(w$#zd^rvKCJ^>SrGX1 z$W>1~97pO(Z$_2Z7(Z2>WBmMjUSXQ0c!qz`wOm@!F~$G@tNa|Ci_~SQav(i*@-pn> zZQuRpBHUnjI~Rn9CqZuxNIp zXu^kQzg7?9PATGh-sv0_IH3(jraMqjWXph$*^S;4@R(*YLG30K=txg{*KIYyg-k7r zBTRoyx?B)ndS8Tj%ka|waLROvF%0LVNYf{Sd!tCfBmQyk)ei?6bU501>iqic;hU4w z?$HmgULAgWc<`osc+@@pyLo!kdmKSq-t4_NRh4breXlBwvbNE5n|l4z(ZQP~-rw}z zKRJE<261E@Oy%gw6Zfe%dq?}Pzdxd(I?wP^)p{m%MkI*()b!H?iNSkjQGP|OtO}ouyq}3QyzlJo_I@&Z?EO&W7~TV6qjjiY4yM)= zRDVgcS*@;;Q6Q_u(a^UhH99cNtj?J8HvBaFFN&Hzbz711f1f<|_Mc2$#iXv^oW>SK z!50ZlbU+NDRs^>GH1G&!+Y$iSv&apAZ_tI)Dl}B2Le#!*LD%jgD=Kf@;ZhCjcSyDsg*z5eB%!bLp2a7q^+)GzT2T14b-6^Uyk@ip)Fj9Qf#_Qr#KJTBI8 zW4S(Hmar|rLBTw%E-Y3kN&}spQ3q5R=YW$TOTAk-=Va3(>AqyznuTyEPpx^GUk#h^{RbWUS|eay z<5`*YY_>6WtkLuv;#yVK$`nLWSuX1l>b zk2RlRc@JXAR{vE-X{*;!yTB2g8OYu9w029(Jpv6W0$tpW$9nwMyq}lUpQ`d?i>ylG zc#8~c<7w%G3)xn<(cV3-(h_{|x*nLT}g=qM1GKq7_O=23Sq^YQ$hSZXg zATmiZ(6yE5!fTSBnIcIgX!6{{^TIZrj{9z$wjq?jBDeWk3oQWsRBfIsYf#SZf7x{s zrn^>f6+%}_txig)t7MD*xWT@t8_YT#ce%6H!mx0j3ej3qagLe4anN%AqxbtdoZ<3et~AnpCH1s&}^t^<$H>awbs8!(RI>3KTC zvYax(6+)qaK2$a^ypqi|GBEATS2^fruw{8o-n{+?BmRRC|G|jsG2#YWJi6$!CteE+ z_4Yx{T+_D?nx!zx6%b{Ah^n5_pZv6>|u8xUu$RuP6g&4NftzkXc#tIpC9P*UCCXkU#H>u9 zfuw}!q*@Av*B|e_IX&EaC1Lh&4u9Npfhz4_eY;A7d;X+Q1^0u#ev_)~om9Jem9w)x znR@SG4!bJ3G3+wzO^!2tm0iA3-@lQsB`@yvclMImQ_=ZD@?S4a>bHUC45wE~R#ko# zuWxO4RT_KCq(kk)y*y1R8@d&ps6Rg&*i5?ChnZI5FqK*z2dpVGrL=X%V2GoheLi}q z6ZQ5PEi)MinEx^F6B2jN1@Ds>^!u=+W{m4q%X$C)!vKmF2PudI@KI0U5W=Q@qQh;gpIlZj3aNmOYEw;sj3TURmf~{opcyQHCCmnlv%3u1R$WP04W~=4-Umb z$Cd+HQp^qmj9|hEXzYHWHGV{@{_+K~hP!tfcHq#b>Wr4$)&DF)q4cREet97vA9G>O=(O7%I{HzqV6F31S3i7c5_Ate}4>X=h+fa%}<3J;| z6|Dd=Z1BC}Ho#oT$KtaD8i9g-EI^bxZ-uweD$!<##UY3S8r<64J=vaph)LWS1t}PX zbVCI&V@%%OdMIOm1#Oz8@ZU9HDk&F%AZ?grT(9I>Xl&0v`8Mm&AYgODV?$R%>boe$ z^N}J6dpsKK(>x6v*F0QN$vJe&za@EWoE6A`O29k9o35}-1(w||=(-9`u3aLI_~35A zg3Pu(`YQ$=+FFLRJj!yy zOYtMc6#a7*@b}5ypk0PbA&`k9%s632H^VF*DC9u5lE_8IJ{G)2EQJMUQ0PwKgi&Wc ztQG}JTPa#R3oHoUl>wNE`0sJ2wG?g71Q)GDYtM_7$-SO~WgQWemnX~fAzWSyl2;ID zC&ReUgvlpiU=+weOtw1Aum$JoxVVH2-N^Dc)oJGuNLwJQMYlH{C>$A{O%HyGKM& zD?mC+V07c-VMy}gv-euCyasS@a39Jbg%`jH2ivMd1uo}|<%q-~f~#{MBT#VT;Tl#% zYj%XuO$i@=Mt3HQ+k{0cmYYE)5ZHJsSdu5p>`cQF`o)O~owAxqH^=|DKc*MOs11#? zQ;>pav8qwFU9<96xzFMeF_vWzJ?8O^h`!b^31l0uaZVQ*Te#+7h;5Hoe_rN>H7K5h z?aPCyxMA1IuGo^L)a6g^|5A3pD)ete@+;W@8ty8^UzQMgg~Eo9?j)T(n1f=ozN`kE=IP>MLw^|)BfoNB0Hvf)x7CFl?z zOoebpIktp*Qv0tJI&z`gK|+_gt#w>y)Aua2W4*G=csdxO$pC~1P!veuPuVSHDlTZl z2B$!K!a!I%WG%o|5N&|YK=8x%y#+sr904qBJS&fS*xLL;%SSrnuOEa!k9RseYYTQ% zi4Ce*?W`Nf3c&-TbT%?_ly*RuSe2^+7ZwK-NDP4tS9yKhJ(HjT)2tm1ptvSK8w>#W zEPnN+eBoYoNOl&~^2+%H_XWD+7C7BP%YPrIizFID3?k-VI|GANKUc{V3Qg)=AU&498RahPh zr`}wA{VgufT(}`yb^+yM5mFIlS{--N5U>wl}yCaP1Bk7v)FZN(QAeZ z7B@Xjlpd+g&5E~NQ#iNILK^FEb8^_wD2tKkg*tsL?lq3idPp=s>g9ctz^nPJ_pVW> z;cahF@TDe&ywCG1l&QzcQ>8pMY(tZNXHkzf;>W#Lhx>b{hp&&iZw~(N4+kfwC*ni> zX77aKn|slRH0IaNdKHARXvh_>HrwPar_h#YFqKfWRDA2~92?A$iAOzoi$kI*+@>on zi>^#Ru#DRS+PJ_r-EzTfcU6IyXrX}_Mm=;k($77cFus?`uBe|lU}vhv9o4Qu zJ02Cc8Q!#`LyEXeK2EY+s<-1!1%vC)fo4aVn{ahJSVIsP6LrX5&@)1KFZqek>9TH? z&?`-;Ys#?%s)CuA3nJvn10Xx@)MlvGzC@FBl5h<)suYD)yI9{(rJ%jc2WT^u`tXbO z871i~qs|250RL-BXy3oGR!=Xp1%!K3%iJKr1+-mw?>iAvm zB`GOnRIM6i;p zqNsJAT~eiIQ#Q}8!&;jw@3WdgQr!Z6OaiMS6Lgbei9-{SXcoeO{+oTQ#l2ev0xYR> zy7(pv_<#eGE_#GJVC;8g?Zl|+%a035rDK6QyACk2?&|hf_ zIw+4Q3OL*F{ozsf#SbT^ufOkpfAU@T^dH9u-NXG>6ij4vpO7yPenbs7_!GTs|57kh zYeS@r8k1h(khGS|lwLkXI%pOTTDKjM1|!DAP_1&2ywoJLSbvaev)W8{L^qrX%3|Cs zqX={j+(*l#auv>4=Pf_&`(AADd1d1^-wo!^K+O{KiY;*GT&>Dr58 ze9H0=VHCxb3Xof}M5F)%t`a#YvY0B{!F${8%U|qDn`H4u{!&uw)Ck$ass`Fo)fhv! zmD1shlL~6N!8@YR2D8adRA8I<)HH!UQZi3glS|~+_^It@Q0?Le<^ z+fh34Fny1pA?$kau0zKw5c@G9sPCp@!P>`k4%l?8UI0(3(H8nW+;5Bh%Dp9{5qwE8 zABX#dD}XjjXo>=!lrUlzxYrI7;sWOae%?O#-dk-nxTj{h)k5>S3ntl^GRXSbDoJkp;8yZ5q;$9JQz~EVzYlZTyrx zuWshspS|)7#``>(cVl_QQ@9r*ZfG${KL{}0I8#ATjP5?ZNH6CI3dd)uaE!Ev22Db_ zG+*df2YX=`K(v^-4`SXlxkQvLJanp4Ite83zM#H49e3-x^5C70#v3(be>Er+jRj3Q zFI6kD{OMT#l}^W9l|&T4b+DO|j_<4@`d*tSclFwkeO=4*VQ6t^Rm1CKW@0X&q!aFlOSWdQoXX%F`v`3^WwFBXDCuQ;eRtVj!h2rb&)O>N z{w=1n41KMw?d&YQWbU?%;*Z@N61eIh7n46-JeEn>8qlTNmGaMCXE09qL^N(CfL8OQGKx({tEXYm!H@d`mDP#I7# zWUA$e^1o+T!K< zv?h2j1vv`4B6A$|!p6mO(SG)q9_9^H^56_6s-T{^Lry19c=tSlFOfwl9tUT(LQFsW+C+wBcNJ?-7l^<3slw$*r zguX7pvko`ZiRK&Y(X)yHDsppA0;M2b=0t22g781IlDqIJJ67LQ*ruh+bj4iwjZ5? zRQH}22e#$-Z!b;EoKk2gnamPy87(W1HuMx@UA|a$l)4O03mxAPiWmBK z=}w+OqLKj;M3N6TD%0n^=;D-ix(9zh-a9(M)UV+59b!5-ehF`N|E`zo+rxub`{o5j zG>x?_#K&qzkD`q={A-*4=UKG5x~>ifFfy4rA+H?pogzCgv30iB_Z z>#J##!vx8zQF6#v%GR0Jla-y7MMSI~Td>(r^+7aL$_u6O#bkZt(i8AO zSPsbuLtbk+^!Xl?E#aN$D$IJ>66zB8F>q&CYC0m^1)OPhFhKFo)H4h*;tlT{ww3Yd zWwY^``;ZRk>~8>-0jWigBPPuCAWwAMWNKFyY#ue~p9}R4E${xpe)s!>)4lz@(>=Rk zeL7C9yerMVhw)9u#xQgaP`+4p(V^#I6RE&mO2&1jU5uO&z?QF+2(4XIUs9xTD&nI}Sx7FdDCLtf5{Q^P{x-W#L?<}Z0 z|InmyH5@}Vd_K9BxkwhGskpoIxDU0|tQ6c12hg`9-rN+ zm^k?_G+AHK#t+hqiv;0_soODyie)U1Q@SM!x5XrFHBo^*BGFCTo8=;h_qkn*6AGK!iX&U074NAt(-X0n z%jr>-Xxg>QX*Qqa;>$4M0&*DiC_;+~_B3abZj4N0k!?$I$<>kOW17o3l{Gj0 zQ^y4Or4Atw^*rP0jFM5O^Y3JuB?Bw$N18la#pgoiV;x)M1{SHI;bc-|POFY6CnRV&d{jr( ztM}I^#erBYou%*mv?q-Wq0@L7xdQo+zOOX2gXWlY8KWAm!pq5@=N|eVMv$VdQc<72 zmxMP3?x#0w+>Clh(0C6$!JZGFEU|c#T#>t;k6Yt8nmRyWYZe7uKT4k&pFdO?DbD&L z{RppD3BuLx=jysVNG4pj?kJ;2)t$INB{o zB#|*HAVY%Cp?m<$VRH!7ea0$q4AkQbpzXa?;^SL@3uO&f-VgzI?Rso(iLewCqYkZO)3ox#~ zA#*KsY%^Qy>sv8h^{HgOw_?Kg!i?3&hg&tl^ll5)mha~2lzYqnwJ<_-JtcxnVD zJRrbzKajUT`EjfuW?D?rh|MbK+3BDVG((0~&X#DbCEy0-<~IfjX-rEirf-lGitoD{ zcly)o?(yrNx|lOk+%Ndn6vq5v%m(0qsR=cUG8w2Hxchr4+CIdt{E&LV(tlOnx1YCXANs+g;;QB0byr&IIxm)rcnP`+BJAi9$bkU!7XSuqsPGw zZA#l#)3~5HTUzrndKL6A{clkKL$qfab{JmSrZme!jzUaUWsHon0o7^G)e9vKR$@oq zUr)^&`5exaiv{Ur+qyDbtAsF01&3CUxmY)pMH(uvRi7S)q368dOGXYc%T&=7-F*SunX zV_vntHAxljjpGTKC8gSxsiRqfUZtyb6^Ew&vS$%~-o5I4)vf$JM~Q1is|DbRWwzG| zr}7LIzA;68A2O(@-wH;RlA{9rYF&jU-koSXjI%$er#AHzz6!UXxM{E{0Tp3l3~t7) zNYf6&`wc1c532lwDjlk<3fnA{jy{EkK!*ouW33bIVHq%#?DJ&i?!T1JDlzJb4A4@- zK!JKngez#TM3m+JoUJb|r)f3NultzUXY0|Dg;?)IuhF?d^+>d`bK50Z{gM}BwPG1I zWEmU*{x(ao`uowv>itl}W+ytzZaeqio&ajidRZ~7I!ybve1+A-XIdYymGrx<8MXXH zGY~cRhMxS2YTPKwU+y~G6YtOz;LZFup7?LTDb!3?zr?96%MMDDDH_VhrR6cvy`Ar? zmGEkwTIisp?ZVlaj|K71yy$#&J5C&0+rSVDoriZNIFqt*-bGvSb5n{q5SFc5S$8(q z12#WrFX5plPyC1GzA^r6wOpOCUbfxAWqP@1_;-E1&{Z1ZC{A(5TDsB#gMXR2q+it% ze?e3FjkP3aGV+fF`pzwMBptI>GHiS8O31ju;r*1*M5#cqIloGLNmCAtIU*%lRpBF2 zi>jl)Mr-dpBIy>X4aLQ~sD2BRwcII)KeU3<#>q7(vzT?xZ{Kb_%OrFK7Fo9XSs5{% zS!U{YMY{Cor`+PfSryZHH}9IwdoVgrFn{F5eEK0d&Qh!r2tnly+MeKlx-k}GyujG-lEPlQJM|NOL)}~^V{|2E)3V&pwfZ@xq4v{UO`tq` z@Ja0+zQ#(W(cXZ8Jc|82Cm_y}j<$B{=WugJCm38<)=@q`FX?FKN&RF@?&v7FEbnNX zlvRscT_Tm0J39Eeyr1OfvZ8dG^+}n#dC9QhB^_Z_e@R!HYqvZ#C;fOBPb<#)`jhSY zbQWxym>@Z;OKR+`ZPicsE#D6Au3|qnHa6=Q39Q-=-BbC7Y-}w7QBAQ9-JDwO!aqu| z6xLVkQ!Ry-bJYjq9o2qXb;i^v?FugGcT`YZat#&d@0nI(MEd4+w(& zWf$Gqb*4H>5uGt#B;T%W))#R7snO=30s-CBm8Wk(2iRYlQ<3C3#=d?ig`U~EZQGz+ zW&O0O?d|oYsS6}n+>%(uxvbMWC zbPDNx%)s(4E!bo@=f6sN*;pRhNP2-C3a?k?{yf>b1S56hySBQ$Jl#8enLE~WSb4>+tuAA%aF@^MUSv|I4Enr_DN$v3 zQmeP%7gc>xc4C(@56Ze+-&$H|sq7N(N(|FnTi-3~a&zmJ1XF$LWTVS^-Cn{V5a=~{ z@D_BryS;RmqkJT%g8Rzkj?7S$HMOqNrmr=1#{ck zsBb&4`pV}cpvPo7sz5ut{Uovp5Iia))B~aj^pjFtwT-pyTlJK`Pbam-z_pEyC5(85 zUTFKPl-;$B?d1tNXbh1Rv}k*gNf*@9`|NrdQr}!#UdIo2tppQXa}e+s&3SXf7Kh}o zB1Bz28$9-;plp&aE>YGWO*)-}pIvk}DlXAM)0_J}w1_DQuy&o!FMESQ3(dbRG&XS)(1|mWpPa|C70pEvQ-~j(M>a&#Oc)Z zb}`168hRYMd&>JcK|CAFixwJ2gw1M1U6We>I681PR0c+z+(`>FFR096O7J9(KTx!S zunqj@F>l%NUyq$x@be8+Q)uYrD~6wB6>eCmp9hXu<8L&YeL1E6#NUe^ECQO zQvte*7039>8EJt{H);$xyz(9N^1_a-2G`#nGmY=7JkrcW)2cNx{bQXGK?mQtjpswp9yE~vA?(D8@uWjvY;uBjN8{0eZe_Lztk8M~l7#m+ifHb_H|=UFziXGg!ZKT@IKX7m^N_YMEsb|VW5DEAE7tY8n( z{Xk;k5$14A{%^}-2D~8%yvNv(*%U6Em{a9J-&eTZdD#T9{r&%#V=3{>n|Xp$|W^Z-Hynp3)JU zVSNUunB@xm`}{`cA=`XoT~2M&(xG)r5k8LDUMsa;)$q%iBCLnndXaEOHCb&L=VJ0F z_O&9U|2eQmrCwd<0=!BvPxksMA&6Fs{waME^*$4t^D~XSLzf#YUFil_9N6>rNAJj< zw{Jo_T;VKMOh6pEHlr(OijIzmhqL|n1 zyf&+Hhi2H1zFkgAzdwHc=5+7qv=bdqlM5JW&yUb(G(Wk(Py@nahz2QF zbz&H7EZx!}Q$)v~l?Jf$e+WR>alf7DtawifJRK1Y+fn_;n5JzQyJ9P5u*rB37^)C% zW$a8tt&WTXZZc31nrEx;G|AfQ5j5`TMG5|@8C_t0wI){5XUXguf#tU1H5$!#t>}y& zf2ZJQfMWwS0eLn2){uQ$fYO1DcUJRPr2=YgnhdCpK!Q>VGt*fJfuLmLYve&2WZ70nI{Be#>y4}fcCQ~tUBfX_W6&eg(r$eXa}06xK6FmR6{JX73Qio9)ib_EHD~xl&-XBB?c59b&TPqza`VM zUr`E82ibVN(>Ydu>NgxgjrYDWDb-mWq%I{0qcBGmW8q@)IsoZ-Uu~G|oRbDPVFB$g zrV0C3{-%wr1|IUwrfST*+Ks&YR=e*}=XV&jlZT?MwV^P~VuHy823C@!(b#B3Tj5lv z30grm%6_}C-dixpU>s+0l<-W+I0KgH;Hcnd9CJxNDE@l0FcH)?H&+CP7KeXXGI&dD z2@dNLhrCwy8w~gkM&*T5T@;lXOsA^3MQz*M8~_Yy{As~*-L3&7>NVWv+rPew8xnrK zn$)YJZkIcjJ1~SbKkM@6WnQojYb*MBsqt5Z^4@V8vhM8tzGKsHgByj z-rcgWd>X<`SL4mu+#}my^XMs9W&tUu$l?8&Ur24wQb~z+Y*c!70cbn)tsU1kxVxbT$^R ze7!LC`=gH)SmY&%qh93um%?RMJT6l?Ei1tOw<35=Eh|j-i=V>7v2Zq3QT_KRVyn3^ zoiASHnt1?s5|7oGmZa;N83Vr+VFXNPy!Eowi)o;CM#9|`+eHF&xgu;^IAB`VKYy;N z7c5MExDTD(9VZIC))y5`?KDGD^KBa2#Bn)|VX+aK>E%4ludp^J2m6t+t^p$JN8}Z3 zc*ZJp(-ggGK+iK+sP?@KY731RHLiCoE-|L$?W?qoHDzJi z$&$kj>X@^o-moUoiWY#m_%og~E1lt{ z3^TkJkuS>SSbZffKd!Yk=i)EjwuK2@_aSFum9dIFUMq)qECdc*VrT%g_pVt-nW~jS zb{{juhO4IN!|2N9mdp=Zd$+9KurPh?KIVzRiWSpbUv?*&jk zW7Esvx?LRNJG+@`q|Md4LTx4=DSZgmZ+z434?)N2&N9%NQw)(C-gKw&cmTS~`qp+A zF}k}Hh~L$LJZ0dCOJoRxFq)#B4>iS`(Flu@_q*?tn=TedOh2$5Ryv>(n75rJa4~8P zAis*Iu;Y2sha*w~sJ5|0T0TSieb2zE2jl+qW}*_+qP>F?&<+tikiRcO;@DUs`@B|v zpyyWfx3jZae|`efdzHknyd_|cYs=smC_?S0lPfrq@XszI7MI~&u5Q;Sf%$k8=kKd< zA=lTpH|qmR2$9Bv!4y`!3d~`BV|9Bu$Q?}B|86|Ij&I1Tk)t>^OyYb-*ZKKP z8Q|Oc?y{gy#f8(r@snW;gaD*l*4L9IvBgYZ1|xb=Cr@^_mV@5tbVB6ZolLXAybny1 zw~pNoB><$W>q}xHX^Ii;Yn zYs((u>K?23<_55~+pebHn<1N;e05{}$&)%D9FKnh!6|zsv*@wsb68M-u z9wZ+g?_q)X<7qa_`q}U?my5@e4On^n@i6$Ers8<3!(O zkKqP~du%b#$3!~qbbb+%?sRB0d;G6fWJnBu;%_Ay8?o9E(d0CvU|vT1uo@R>lV7z& z&!j)Na-|68XZ-Xz39K7WCcrO-89r&hfY}NpsubJOKRMru`5NywPcRKWozKr<*w&Mu zt-tm8)ADN4C7S^aNFPp=n=m0$#hc52huP&NaNtgdc5poHUdL0EQ!l%eilGAf)vmfL zCq>K)>veGavU~iu?%%s7hyOh29v*eSJv?}|f6|Ix9_;NOyy?C;JbrobhU&(vC%*Z| z>A{I9VQoD@#a)91=e?yXKI1lCvV59MI~@h?Z+};i%&d1|nH1OzNT)!Tv;k=!q;W2d z>#fTr>}5QiVz2>SJGz^|LWCG+a?{QFuym&SwIfks=5DgYnShx=671 z%IB7^1LC*%J3R<3%6r}q$TMzq$xHr?x}#q|mk`XvwjI&qA302v)Dld4w6?%-p?o#~ zQlSM`|5bGMw2*9i6p_ZaGRs!9g0;fC5`lunRhh_#5KDG5u%;DeO|okdZ;_n`dUWvP z!JBBBtl)Sk1s<-VDE&am<)C39k7!5xucM>ar%@ks!rc5aO5&Vd#p5W$64jiuuA0e_ zJG$AdUTzvjok#D-*)^72iq7%93j#NxS2@2GncskC22A%HL}x_H5W+O94!Jn@AIs9o zeWCKt5KM#$s-SA3er!i4305$>#I^}K2b)Maz3e<2+^7_PHEJ$Ven(B*$ugv=+F9gh zXY<{saCyJOv_YNs^hn6mItR;Q3^%_Sx?e^Pea2 zB$)zb+#t$LJfk*1H=sWGwFnLm-Qv{Y;g5O5)pc+v7wK5&QZIkh7{T!#4jCUJj^4ah zMw~|s7=Z+qQ~O&(z;!sC_uiuy8C_;fks*MdqO-{>DcteXiPX{H^t|sR<@J9P?HU zkMq0kjLa_#Vl_JFU?4Zk)W>e(fu^}086H8L_cV(8eTvV& zl$FNO=6IIp<3WL96{FyU5%0U#a-GdY3;qRd#{y@5y2gdl)P&(%9T|p<){j{U+=&~Ym!LGb%m%Yb;ElyX2479L6pTP{D4yGO4 zKwx`mf(S3Tio{_l89Kk>Qy3%(f0tWMCbeQt`migDCGx5;bNy$?Fy$Gi~R0ufN z$RA1IfVIH4=y7Zt206_pAU&L9_W3{-`Bsc>z@U^EcYdQ+aRnEh^2fPH4TPg7kGlX- zK(4==_F+_rok0*$av>8@4C8zjt!+mQyw)*cJRUc#Va32X`~m0#bCh9z@^wNCAFlLs zku3FX%hWMUFRua^7ST6&3=++St(y>!FEXU~eZpf=J!(jrw-02zZy&UDclrkyDZYke zj!hZnExV-AM(`=B7e}%c-mhOrA{}NIs#AVxO!~7kGirf{!SIH_tykb>*=+$KvdBwR zMoEpu;4v1kJt^iH3%jEPR0(t>B?Ikyq#qD$1(YRmKpnxDfi<>Z>PN6@8EonFGI{$z zy@F@qy;M#-@_j})w>6Qcpx+AZnMJP_h(eE|_r6~fn^|AJ87zg@eCiiqq%rB0k%fU) z>HD@tX9bTe4Ws1E^}?I(ySO98H?fW%Zi{)=E<_3E##6>XlEzb}3D>6BVLF=uDcDkmBGy=A9W0kkFuS*S68$D1S8_)!=dTJv0|J zL|=nT=mR5dsm0f2O0ie|p`zJ}v%2u$S<``bLbHU0e_A9{8M=@s3?=XkXr-Z_tEpES zHUwo4CH09a{ZR5C9_ww7s??umRhg)qeej9PJS^0ukYbm1Y%WkD7f}tZ>S8LyDxP;! zc6n@uJKgOpH9})$b_D=)rzVVMH?X|#w&$|kK%pa#v- zH1hCa^cwEu4{358_?7fp<@_Ppbwe_ZmO>JA8BLNtFW(qmW z^wta8P_eD8rWV1b$z?o6oK=#O%;^4q_TK)zZ5v4(|9$@oHv8OFYGg$(es7%TaZ~r2 z=h7sXq}{zs@{uTsvbm8(ttiFuHu?VT-+2QFkN`!>PMY3D+l_4z1O|h_%wT3PgXYFI zRk@du_yrhd94%JaX%0T_&C$@p!mj!p(bsgf_AutQ4gMj0V>(lnT6cfYMh6|=6a zY&IskMFTould{XYVM9h*M&l@cM~R!}iYCzSJZ38x9`_e$-)Sk^L=?`IsNj@M-QWiU zUgRg;J^V_b!N2$6?^Uu=IZWlfJ?lki$6alFZ$JMYf0Mlj`hvU{G$?l!aV5ra)3GRz zR3?wvF(*sT@3+|!j^Wn@%(ql-EVYUX1{#UpT+q34;vpAxFhV#*q3Tcz;P@_OD((| zr;gbR-3iq&nUx`=kwy`o|KCN;W5-m7!y!&4`{M3SozLCu#ScO8Lk3!)YRBh;=gnsd zzmKE&cl{p8b)YQwo11{mJ-49Em{4I!aS(;*MtA>*rVVYwSZ>(jMEQ7XZ8CV?d2SCa ztdf&Vd+p$7a&9{am1rTWLq5c{7>rj#O7yr&mdd!=6J{8n@9o)+ewT@8e6gOtRS8hBG1Axs)nBIB zE1VrW)m_r$yYEnffCSyy2~N{Ax*REp)F#ZxlW_o>W`bH89*07PirubC*C1OOg$3&^ z5@rLM!T?afX{jeM=5Pje?_GozC7Pi4WovH<|Nh9HSR`xg4^3zVuKyuWf+@Fo^q%?P z<@-R#h>o=B<)n3CzOTOY>UVwAiBzixA2#!0B7+{1!84>da-4+eTZeJVVx|&} z+jQ7s+ov#RG*r*UiVIsK8&12qw1FANVnILL5V!gr7AQ%!Ro~Q)nQ??lkbVlCfY-0s-C6f+Cs8^viR7(-((N7kvZ|&QxN40Fu zv(o#WEWZ@uaG-4{Y*OT&&*J(C6fMHVl>#%MLc zcX3FLzxVJU^VZ9pkBQ%5H@a{HN|J0mW6$GWBkm{-3))~-bVO8Avc{Q0#xnQfM{Bgl z!7Jiu-&^h981Y1KfR7jGQ92H+SjVh|S~eBu>ukt|KpD$TxNl5*slyXvn@3G}gZn3y zLhxSS(Qhfu5)DV_X>`8+`cCdbP4<`ATF_o++FL|N;}RRJ^reZZrg5Yh^LW{#>KNS) z8mycxlQ9y#95$>mml4LPq4I=;CoPo(QCtng=};c&$h?ePhDJ>%%I~63BHqQ5z#Wd( z&rB<4z@shTa%C~F9bU!N-ykqDclTg8?pv+ZgluF2ggbkRYFJ|-X~yM_U6vK zXhqhLBQycR{!&lL{u)2%2(u#I8%;-}_55lXE(VxaVU|XX46(zJAkiH^Rw`&_nM%9(^f5-dLT+@12iLi{{Nwvt-0qx)Yo|C#-0`@pWV^kNLrJ zI&kz^U28j81{~X^70{uIxF!b71#58A0a>ImsyN2HLv!ZdfuW;I?SIA?fpCr;M!l*AnOq?Ot}8IR#0Hd#|B(;U}p<{eiT-)aXxCs){2OXdUXeld?R0^>TH z7cSnKc!pS3omfGc0dqj(ZrOyF5hi6}nsvBoDGuXHpD z60KFx!wO>h5wR5&P9_mysKrpYs-?X$4Q6_)VvOoJM&4O!FKkUi{9D5c`HJkHTiRjJ zu(*7aW1vYNCX>F3gpTc*3~%TM9uhmDh^cr!O>%k%tM?~c_`#2l?<)s*K6s`@7&fmx>d>R({MaC;o&lws}a{dFP zC++)b*p?++#Db;UCXD!Bn4180ch1v8hJ$iv&#~1LoU^lee}E}FO>8Il&v!wi3xDPt z+zYH?ryGwSc{I1-Jke-k#j$LRhIK~y4lvc^aSF$h^<1kD#>tP5DCLKcGc724wzB}3 zf%qWw^?^dyIl31D%hp&Q1^7wBJ?R2W9Joj^u@>b4H;++NQzGK^D!D}Tl6s?7TpNP% zWvZUjvV*AcUhZEHz8Beab#ZMCyviaFhBBEv$mA1(CE}4NmT$?IM)Z&YUAc%;sx{WGGbZsHaGmLOrcV~m`y49}u1HA4sLz1b(yl?fo=IdRyy+fXHS!g} zt5C7FOq$2o%#@tl?61@WR_wBT6TA|SAN;1c1P}{yBerqBu~*T3T@3^XzA@-`>7ZHb ziW@Ng!e)Qq34^qH+B{U9AvP|()wL}6zo8`)iz*k^_1A1&qvbML9y{O9?zf3rVt#MPBk@9!n^eImlHnkx~8$76JbCg%eq4w(zcWeSRS|JNcp`JQhD3 z;I~PqT6HPNMuIgUA5OTkDAoQ%lg9|v4HMw8x-CkGP<%vyWitSv08_>dVA|{@mIa}) zo2~4=mkdnC9$0?F1nj{@uw2g(9SYcl&x&;F8Qe5a<1K4|p2?l3WNENV|(yG&f` zd)1kGntRZ&UT}*UBba8RTY@9KJx{IPvtHpmhw#aS@`(Bcz1Xz#B;HfqV4^$24!1XL zo0jRnzOLY=F0zTVMBsKk0@s6nw!9TCAs>C#de$OP+94^ZwiiQWHbnqbDggtt>$cdJGP^Qe zcScFL#2{k>GCas}Id+9rL1WuX0<`kVYA0_2^?kJ0+O-q;JN(S_4 zG&T$vEnhczHuO{yt)P3LVRX=jV;iNwwYttNt*Pk}3LgHsm(i7*XG8 zd}y!~8NAPr<@6ci6*(19VJ)thmut}=N-E|jk;WPKO!N|@ksc!gQm8TgCCyF*$b+CoB1J^*lvN%)D^XKPyW3t4Fznms7T_9oMPzH81psOf+%w;6x8FT+LL_z<^v6MLb| zcSj61%V((Nv-FeS7`at=G)3&=+VX*byUOAmXmM~&@mOYs{p3Ud974VYVt@r8^SsC1 zB%{uNRF*2nf~kh}2>=`@(jhg-oi3=6TgFni zxI|c3xAybbSxt~`-Gz}Kpq4wM@N#|EMh+jQTq_tz{R69UF)3Zn#N=seofGgb;s)F3 z82w5eMdX+5S^0wA@-RQ6NoUIKKa+SASvt(fN3Ps4{JTQ1ETwZ&}C0h-HrnzErlE<495kq_E_um9U3ljP+?Dc9_1Th#<|kjK&EUt}lC;+r@KTx|P0g=Wq?Hmv zaK(nG56ODx0&~zktF>iXk+Eq^pSWY|o2Man3_v-c4@JsIR+^Aau-e#Hyc60Eo^u{q zK1@oC9}xB$jw8xI?qR($CUR`D?|K+;4g#?_=fE7N zbP|%`QOGHCRd2X!X(VA( z^1w8?U`vHj07n)^Y#Jv3gu%9LBZ2fU76N774DR2@CHN4SkGuM@qN9S*z-2Hnsjc__ zdb@`(u?6lkN-alL8q)9S1HB^BN-S7|M(2F2kH( z4f_lUjOJI1GRWYFmj+iDPC_M@VfvJ5O6F&_rcueRRiLlp0a*~&;>#XHV9HKo=0Fjm zqAwnpc~6YfxBRkG*>a8}DnSMa(dXIOs$nc`(@Ux9g{^7tndEZMa-dofr)*u3bdSjK z*&&(c>^drtI{N22hWBxm@C?JL=Xju3L(@Qde4LN5AHKmp-B7sJ(H-513uR{Qw(`@g zRq(AZDUq~Il10u4`!{WslHB(S%=dw5@IqhajEpF;T={XM>y$DaUWBu$vgy6gxo5LJ zr|TJCy`y-h1Q;>rNG110taFoc_${W@3X##m){>xfO6+l&q^q1uPHbg5Jy9W77@H1H zO6_a%g_zfj4r0lEN`<}C+8)=&uAHi4lj}R5peH9=a&ia zk0{l|P|VqmA0y5AnfmoKmu1?27wz{Oq;NNrKRffF6L?uJ^vX%j?VD7al=pm=>zgDl zH~Zo`1Q*c^#2apW_!Ihh7cY}JMg|`rzl3kjvM*G2>+cJzwK;vi%F+K5kgLwpuX;(> z00F$q8JSwPcGhxo6zg?l8NcU>lqU-q%~4dUCDVRN#)e;#@!OA@!B};ziV9F!jhA9k zE5Iadq8tjjq*cKaDl4Y+J&gWXBFkRl)i<_^FvnucJ%)9@3*#AiLgg-uayv%vqwzYs zWXkmNt}TxTB7orllgMG;;XumU%qeP~1vj!b^>rhE(zEWop>Mz23P5D{i}pskIi@cl zodmWBGHUY{j|rXky}fWcIygFv!u?5SbU5zrcMqez&U6xm({Ojc-`P9b?e2BD{Yigx zFh1Cu?Cyu7>0Z>^?Tw;?&N#Q7iZ&fw5e$*fL>}sUsQOuJPLx!f7vE|_8|eFPfA4UD zpd0}V{Ui9_WWP5$I*7V^hlk_N(caPC!8khD4ZGuhZ?Yea58(MU+CS**O^){ZhYtJ> zpyP~ofdRn3jn{YRF5BQTPO%ih>Nx>U`|S0dW?M>($fdt#o9^N?y2XiS`Tgd+?49?W z?#=#p%Tvgp)6?kC$GM7U#)Tl^l#caMQ8+3(6u>LkDA*#x3`&>yX&5ochU=-|a&p4< zP-V(hdGvjW{Eb*EwkESZmoeg6zwIw%;%8H}Y#}1Y4MgjvVov|l8bjfxj@p9xd3?J2 zIwE4rIw=_G|w7Rh2g%aVDM?>AcR zpletzoZ-cs6=eft4v#*Ctil3kVb&pIa!aT%48<2D`1;{x# z62bHAsCsndSQ6cqErq$Ms}tBs?)&585IwWTF!|-S`)x1Q>4n=(wvl_RS2JWDFKAg` z@TywuBM(Lak;+6^$}%#$%t@elf-?OT*hx8W&>O=?qJ~bOQ+Q)IYDyV^oSrAj@m#}w zR2bLiPWp)=o-lQL6sF1Ccl$nB#^-QKn#rY)oP*3kgobsH{5iJUrZg$`O!8agA}uyXezoHcPG~`YojO3zuYo zf^+HXI}%8uZ%FIdk_a<2Q@ArP97ht<4TGR@CAuTM0(4RsSz?4Qqt!(+Np*r9>bdDy zwt*)9;CCxrth{3EM$KBspxKB07bGRqU|6b&4_hi_DS0K)hDD5#vI$KM{+No{A25>G z>i96HwGUP3c0PJ`T|>>!tGuX{k1-TI8c?430p7-1qpY-E`y!P0!Wfw$GGl->m7)Ua z`wIKwC(mTv9tw}vX1H%Xc@r`?-OuyDJDU0YtctxmUh#mNF|iUYY1=JUtn69XW*Ax1 zXTCE}<~z_Po~%`p9JF{hV*rj>`xO{f;4QAto`6WM5QC-EIc7vZ~@umu8CF{>eRnwV4BP?9y$$;_J(io@os zYu6~4TC_r_Z0qcXa^+l?eCu`tiy$QLFbng$m;y_@k22vCed{xOE!)f`<{ep=^kE+4Y=>Ts7h`owX>|0PY=)&|45D;owcrB$Qhwh2K&%G6d`wj@R z(EcqYZLtn+k%THpIkWkfF5_@ImYnOjq9^43iTSd5al`q7E80Yl#9{VyBZKe6*lj;L zCizv!=9_#WLbkz*{QyI9DOd#-sD1*p=B7>RC?H+jou6K!n(sQY+qt&_@aO#Pu402+ z=PqGw(0O$UUCslmm(DJzMz()Y)i2|YB(7fc3HAdvvrp1Khqyo;%7rLAcV{WBE!`{1--8;c!YR)CBK9a=a&S9#*`C*aU+@IV zeMtK)mt|0UBCV}gYe}nACf`c1{kcS&>-dIR?&mteDdPp@DdlUIa^g0I<9lqCFVN7< z>Fmxy7`QD~=1HZ|$Ed`RvmybZH8QJt;OEX(e96xb2N zW>0nx?Gyu7yq96hUHEIoWJ?*AfL)PAKl9rsv%nmF-^f09YBRo>cQwVL%t3ffieZ1hs#lR z-5kV-a)i)OHzys5zWm=zHd`CjKD7gq9G}K2Rr_um)Uq2z>G2 zydfwJ4{-UT^Cx5l*~I@~MgafZ`3wEkq91pKjYF2pq>MyFZ z-~W<9duJYAM)34bAx#-t5wk=8otF6$-LZkUy4~G<{r$&Q%@H!^WtgSU@eI`O9&SHS zhI>!%d;7cF_ipDKQMZ)Jr*nAJyR89B2kPy1y0^&YXE9jr2f zK@j)mNxa;F!{9&gcCI{}FZq{y>2iEeg-hI*bg*U_{7f;lo+H@a8*#9HIZ+HXnR7_%Tk;*KC8zV8;W10{=z>&=8L#qbD4j zIsRQ`IfFBOJdamY;*J5pI?)_=0;@oTX$Mb|tCl3Y_!cifdG<^o$@u8%9#DCxDRK* zo-0bfO07Sz#HR$yANWV(iR3lD8|?4WrNs?u0@tQl$wj>E_TsZuc73r!f9h*SIF_jZ zd|)>!tX&4szj69z*Z58)g24C*-qxT9oGQ%&KYNn_$RqOCJe&ovMS118;^ZV4sZ6Ky zh>A&@g#~HJL$W8lzJs^WUfdhGy1sry}EDdQ-fHE1F<@;zbQ**Ae| z+2Cf1)4N&*K|=+dQorw^ziZ4i1Hau3uCeAby?Grp+f``6q=8>>9GeU-`76$NfWO%2BWb6MV?cU2JQmtopjJZLZH6Y-P#*c+d}zPs&76<^bdb~ z`pjf~if>!!#zt>iz~K~AGdMUsL>^_~H~Th2Bh|TMOWEpr!L<*=bfs!tAoP!4Jo`44 zi1(1iY8Kc`UlhYg2vJFH~S0UTjUnYbR zUJ-h(oa(j~g1OXJ542T{tZ9}^bamlWBpNcN+11zyf#HLacUrkY%|1lb)f7vOu?0wl z4%CY@o_crj=i3T3$-M%Z--O1$v|aLbn|z9GQpiocu^)aPCZxKso;vNedpEV)iV0o0 zB`6Dqg34!0JvgXrK$B!THM;K~?Cn+Vp6@}+9C$2uuY28Ib)dOd0bN1_IMs;dVe*W0 zxPP?WNR%=PZ@0iGR54oReylL+e#bOHe<8L;TJ6ntMd3Zv8ZW^UjUba)PQx)gKf^B` zslQtR{rw`E0T9VjB?EBgHZbxU2#x6bY`>iTeV}s)KYjA@>`5+>!P(!Roj&>T>_=$z z^7O~km#6sH%BGN>4^ZeGA3uBk=(p3C@XBx4%P%kfWAO67p8D zq?yH+G2fKahz7c+0!%F)F-vI?pf4JY7+mEM6Hyr}Wu{V)j1R!v$4o?Ah* z8n*@83NuL0j1@rXqtnMA;eRyo>7jQ}7HTe##^ytEc<0X-REX0`tl4JWB; zKt-=ZsX&!Xr#s^d%%T{gAi-^g8;>u#z2mM3`8`=miG=kWnU>73 zC6#kIt%6yFcLoh+xZlWC6}`uztNK#uc)eW0>r`Adp1*}%mCZI;s_XkSI~x4Q)1W~s z#G$P`wkpz+FcPrfPJ`-?E9Pfrb}{)us&0!>ssv3Yybm#|hSUfBpkWaJAhYfU!+U=h z;rtvgKC94L^2iYBBaa?MGfZQjNMU0tD5Ue*GdoY@ejGMbS?t$~33&i175;42uCTl6 z!j6?At?gx$;Ne_(xGpt&b!;tNg$|UP{0*a9V`wT2$r|KU9ohayrxrs7tf4orH{}Vc zSdga1@Xp!MZK(V(S-~JGnFLAB6BRz-Rbd1a$-m!vwX`tU6I@R8I+qwyyh zia>%;z2g*kN<8J)M27_#m&#l<+7!ZEksu;R7-Sk6yLWX!aso+w?(;HZ7Ug? zNpzTDxQ@`xM?gDNwp>9aW3*P?S=ke@Qz%;mY#)vDKs9rDX)EUIWXZY76lKWF&8ano ze<=%8F3dPNPh~vlqKwtGN{_AiJe$>xRD`4|=`odcN~?6m#%$KaFzJ+k3}j{)KTSB) zi!0`f-%cO@dX}Z`I{4mtno(lbq}$PbY|IysS%)1tE`@Y8XdLcO05#iKlUyjtRj*kj zoTDbXTTIbkEn_~#J{xMuh_p=x+%k7>GhYqCCa;DklD`0P)04d`yJT;{1uRZ+?C_%K|SEB`9F#iQRZy#^_5qhH(N|f)0Ask4p-d4ExY38aKzC5 zLBfr(6FsiE{k`h<0!oJSc;-3>)h|)xu)DeU-A--4SrxzE!Cqaz-+fHRP6xb~cu+-! z?3eKU3)q(U-2-M7z7^QtKdgScz%h#~n+;;jGseL|^*a;ZIXzW(<0{PR;Go8R6Khu4 z4LqU%)a5-lK@N^;P}hw-w1>TJ|MPoj4|h8TC4M0uT3nRM4%#ol#rota{Nwkq;(YJ~ z45Vgg?TYSex?wlvfj8Z=%ATKjXY06U5#Y_h@KZx?VNXDtTV}1bD69p8oC0 z+4G{;wN@W5UOs(}MDgPB)0cKv<*s1Y-iF?WlX|DR^s zbtGUJ6D-=T=NUpZQjNb&R2p9!y3>|U?%SfsKhDKnAn58I?wq>y)xmws4sH{_pU1x~ z&F#~!d|B%3&K)so__-^xsIA=Gguu+p?et}TPtiF~e|&lj=fSr*fhXnWL(YgTanC-_ z_vcYBWn8@xZrz)`ovL~J>L&5yf=`J!ds(eDpMSetZ)_G^+lIs_@tRjsAPb4Zs`%q8 zsFH=6n$~%!iYLC>l9V~(%`MgvxoeAC%R*s*xSe1AcHHc2CCq!-O@3Q&vfB?GJa4n( zy+nWcnA2r8nlNuvztUy5{OIVh=*4H)&})kD)brufcC$6zvWQBTS&qpM|2`+q~+Kz`MuKdj-5ezJOgAfc8n#+UF1sEHOW2n^sQpd}1k(xV)HC3HwzsNUL))_re zsrS|FTCQ=Ebpe!E-tRfF&@p&yt&oHgr>r}3C~1{aEWj~KV^ORc9L1*jDPYGXg*QIB zxs-`AhOJmwi03%DEp}vfU7Z3$Q$r3S>EFFy%F;Qy$rNLc?hpVr@Wp;5p=HHCi&R<_gO2Dm*zXDD1lV9M??A zS6ms~CX4wJ1LCaN{2AimS^@r7Au29Ev${cXhqo0J7cMakC&QzFD^F8#(5;?FLe0AN zDE-6kjpDt0*&KRx>3x*pRtUO$<7;=H;?UtS!Px$u9Ec&O9oFCU#g z7XB-0&eyo8ig8gs(AqIP!yMRHshd( zQuvCy3cd+e;kh>`%88LekQDEWl1Qno2&r1cl!4$pD%`Hd4IJSXoZuzW(d7&;X?|bm z2RYC)e)N#nUwO)%Z)Pjt?*Md4l5g;0iwQGKjoReX>q8Achm`vf^L zZbfnWbjp*hKnVu_78!}qqyoh<(&yBIy}`t(&+ecSvf+F9PCg`6R94fIg7;Ol%q$*d z+csTqjD#wNqgZi9wKTM54t*vd<>5^Ab+&x}9`$Ow!Ah06qE|4dJP9bJoOcs*EQV%z z7pip|d&^7sRv?!>l5!cE)ahA~iCU?#*MuEKM4XFp}I;2Lw@Z8zUc;h!eU>YKjnd0LQI{nU(39 zmh&~kZp(+oKV9V6hVAE=&yCq%X;?_vVtjc)X?0>fyhth`rD89)5UTda2L_Za@~s63 zY<9ukR&W4qi$N>U|Jj6IiMGw?0fU%J34o7`08M$6!O=~l47kD~F#0$hV|2_l(yiNn zeN>|&E=$gNg1rskY%qzIo-(-o{klaj1mu+Zru9ps@e=Ec%qO5ROrrOmq4xLdX2b!h zmJXN^@My^rMxa2Yfv!dEtG0VocVbx32N$0sqhKAwdF9a#_rJW@g4)$}C($fM8q{W{ zALR?%A)io1a!}*Q2Ma%`xXfaKOLUIKx|kkX6sv{>`1Av!4*s5rl2#O+rXQ8mJ3i*0 zwSxdI!t?^#C215-l6h}{e=CNmNWXYz#3jRSBlWTaI zyrufUWFWX~i;FdZo@ZoEh$-hCqMDBR*+?AX2vbQp$px>OuAUVygSXMO7zgCbaHU#7 z1G0>As&}z`M*m#H)X0DhqGgBjvE$MP4cxlGgz-nWh1F@BZ7JZTph;okDNPQ#PUStL zS{D|d6~3d>X4u1uU00iem-%H}hF2798vt>^vhSo32n{qhHECTX2a4`4U%1Q3s2h3) zIhU{CoB|$~@gzD{#!s`=gJKXTCLIZ<(dzmbm3oj&>&r-&YTR*>EFzpPm-ZDu$~alV04uTs1;3K;0EY`tu8qGEv`f^qX{7hfpdBI~5o{=1Zx^O~iv|^V*bQ!O>I=ICS5PS0^P>@l+ z^=Q=&&gSV_Y;s)Cfh!kG=tlA+nudr%hOlj!4e`@7j_RiF;^w>!?xvM3MYDZrV8`ye zh$~qe+@j3u^==Zk5^*637}jH;CnWMFCBK%kd&{5O|eeQZhBc%`~#2$XB#P04(! z+rqY!zL~*C+k3o5o{MM(+$ZHf2hsdpyiDeocS;>qYRHdxOJIp1}2#)idP(dA;Lu44bEmAA?Sk)?4#c<%h zy$O;IaF7#mnUT*!eehO$OfkHJS$uv0jB`9r)`d***vyK*dcSIXP`?#a7+qCa(QAw) z$F!a&fMj~w#6APmVYhk?(qI(>G9L-jIh_= z?H}&<4}1MyzjL$)+~DwNud{o2)H{F$J?QT4?e+Se>svoR%KF*gg$@q(clW#f?qR=s zaM0Q99`5%#dk4FRd%fO%r+)-JfA3C{{qk>52hX1VZP4u zcj0^`hQ<{vCyHPA9;OwH;#EMBM%$?YHW*!nMM}3~@0vF(LdLqIL*YaiU9!Upn9nmM*UEvrIVmRXOT4k*~}-)z(z!9)M^J`Xa@Jp z<_0v5G3+6wsUL1yxY)St~VIVFbmwb>FSv+8kw+Br_xA_C3Z^UYmL)te@C= zi$SuvZQOVdo##wau$HGJc-d&(2xm#~01M>?|Niemco7E=PJ+=z+(a8DJ-mNnJ*9_4 zr8!Nd5gzAI)CxxVuQb}o2@T!1uvhdthsM%2M)+XF4@Tb??D(T(xdakHlA6OQbIkR2 zM-d?}LgVC`Oye<@3%*_`(A{UN?7?k=mmW_t>LAoW zAC3}m&@rG3{@tNLc7kqj7f{As=(>Kvce(9g^#M?w5NtaL8~j^%-x?RjY|CXkS84h&cg2G?U3DfYw-fbtt+G>L4&JnVAm5j47;~>vQ3snbg^Wj&k{e;(#5Hm>8WnB=m@BTj z%`dU^RIqhrGL3(>RLf@BD$Pn)DO*ZH+4puAo)s=C1m!DjEUK(nJohcDn*}-7w@9YE zwlVsxK|vW=N=OKgD)3C=bRqFN#p-Z1!)2VpUPIz|7cJxIHHg?vK*!Sp+##T`>2fI+ z*CF4+n1G&kVIsxuXhcVMnZlMsqKQwN8a$MgqXspFoU<`CP6K=c>U4%0bqqTN)f7_L zU*925-|IUC=b@Yk>HLV!Nj1M#w%b|({yC%nv!o%O*9wUH84TIso22;nc{mfdWd1y< zT8kf2?<{wWH=dR3qq>Xnp}5Ez7~mn31|_iT38;0x0}=-gfW7|i-u}ViQHQ!P{;twn z`TL#Pu0P8n^8+#$#jZwOq{kyJv8$Lz#%3lKWOaW?n%&)DPV3;^909zexHAfOdr;3n5%EU z!n*?GcPBw_Z{PIdxK@C`Bc|?&?Iu82-L1CdF01Wkj@=PH?IK@4pO&4K`>Jj)ce$5t zT`BP$>?DTTwWCVk+bCgr8`zlx-KGJ%=r!f1Q*Gaz=03SS(ZJJ7?!4JB`f$(JXaIUc z@#L02xMhIxjo}ju%$*YJ2Ef-t0DCS7sk1T&sR2URbAZ^Zi21xx-y@a1+J}1Nl&D^b z^UbV848XHpK+A5=CxMGw#Z;9%U0R&krx3VZ!?#dl`Jd}(Ef-TU+9WI3=kbdj?Cw@} z(x~3KmUNZw_qv_x9!u#gq5v(-e}+jZXhgm(lhOkk+~;ySIH>NH#Nf$AG{>8@*3F(Y zcgM?@=&^Iqui$?AY?m>z6e9OP%6r^ghM^zNM!b;OA`X@qn4YfKheS<4JW|Z)_v$>Q zE-Xrbhcv|lO74li-|A=y3L#rneSV(Xb?{<&FMY^8h6_$tm+o@!r#D~%1BD##0c=$V0 zzgo}VQKZfp{&*41fC>_oXTf=2TnDY#H^HHiL;**WXFM|_F_B@Z%I=!$94n8W{e1SE z?%&(@?fJg>?*btv2RQo;ld-%wd;aM3@uUCYi~udU>Aj(*NJhQTrE?9Bj~^%J&(*iG z^exYN<{R_3YC!c9CAgi#K?oe*I{`@7v=-RPNnm-ZcLW7W2nbg8BK` zfBky);^m9M>GS8O|2_EO^hLg6Ne*5yu)e-?`adtv9uA&7hb>&O&)0X_VX96knB2z% zj4ADwA*t-3naQdUOMY&ZN`1=HfdO#Rcp##X!4wm1`0R@5W0V zX#U2-nvt7o!pV2i>p52b)fwzxWF%u2r zi4j*O5+`qZ&~o%6vM8`+QOoePow1IQN(pS5vr*?5t*$B=>*zXo_V+XM-rZBYi>4Hp zNh`~6GeRXBI#s+0uO?x-QEV`zdmG4>hr)ySrW(CScb!I20DOEwUR)k%h%><`gMl!f zVT&&7Q8FaFb`_`wDR-eVI?0`=aEyzHzS;F0O~QB`>LOWUk}-2WkAPN|`Zj`sDTj`D zt`avv$H{oSUbcc^9qnzXk}>h1Gjc!Ry(|DG_z6Z%7OVIYHj|W~4gt$8oWlBYJqtPa z1blg2fKGT@iVfg|lg2oE9jKu|RCN)f%OIpXLy})}5;XWaBwsb7Y|XIV!DT#;FXMly zyj59J=XtccN|tYfB~s`PEc7DHWub+|Htu^5(cN-|?iVD1CrkmfT8sjYI&RaT6nY+| zl7bj0Z)n!B7|OLy=#S5Wv6S`Ba>`L5ak>pR!@jv6^8Jt>5k(?BpTyH?w50oytB}wM z8yN7Gwu2!lVkn!2gvH@}J)6bArY2z`)?7vxEGLR+$z_Y1MOutiUT#eUL&`!yOHWzPByO3OC!QPd(Vaduj=0_> z+g37NMNHi>ap1S}3^U?HxO!NLLEI2|T@z2miX0GwqqqoG$; z%>sWn+v;n_&}UO!6h!7h5%ZBrVwu@)*B`^3670&9jq{Q6|@vE=U^RDQp?v393|{*``x7n)5NDo^GU4ph}jg z%W!!OJc5O8dsOnS*GEmfWv zXV_Q=hT~WHs@Fu~LK&q)H-|_Iz1bWNkqqU5d#_IJvB`v`v68Ckcs>d88vN z$G8nirJ*Af>SCKXw99Z>heh-II^C8!gtU^B-4ytidft*+=vrPOIHjg4=0AfI$zfsTeDHE}s+=a+c zUeTLWzsqGTO4NYi8|pc0<08c2o0j5DiUHCd*P1eEW|+Ed6sA!Is%Xi0q5wh!Zi_jo zFFDMfI)EXU*ZKflJp58u$$A;Qd?5ylXODsga1KiECYf!B0Me#!ht=T^4N`*b4W?wUYTBY4o-#sQ#GMFymS5U6$hG>?+c%p&TnblF7$FO32 zi$~xO+i128BMt7 zVyO`@PbO^DqAX7&PwiYfMmADerjHWJFI2hNf#{h*DQ{54vkZN3aQv za|x$%)~HB+s%35KgjgYn*c6XFLmP8&aKbYi85(3%{F;_od^J|uQ8>Sapo*YG04AZp z0F7;Yfqx8L{sEYoXfT)1Gl+Q3j0nU$7b_fL@Cvh`PEmR`HzdQa>|(5=1UNf94$Kv} zU$T5UQNE4e`?)_|_<5i+-}99uhnFUGkUS7}H50bQl`w5N1ttSYI6OZ@(6q$GDJr_Q z0ci(6WE_L_IJ%-WiGgeBVRd>b9)*bvcpXuW`G#s~rJ$F35m(5==HIT!nVCliN?imT zRPtAwNqLpK}`KE;YDN(DtRWwO_61yHpB=hR(?tSdVw? zWLDw}s=Jz?6=oA-jGu}o)B#7FAA)%lrRjI*aL9^rF$N>f=iml%vtG1RI&U~LHjQ83 zsi^1JN`nW3nar27o|>~WnCQk?W0%o5^54Gh*Qh^>de|VIj}lMP*8PLMdbjhBk5kYW z7T#14z3M?tlKwq>8x1Z~Pg2}&cXzLDk95O$jB&QUJ`ZYSbCBA)l+~FKsdGB>cdXF) zMyi|q;P@EMvQ)qlaWViA5HInRgJ%G`&PFN7S2NFey?)Ic2D$Mt$qkP=8H^~MWQ9Td z{Tj(m^q_P*W}7+g_Pcc{Vm()G_5q9xJzb};mSy{*yVt8dsY{@P82Gv}h{E)+o)u59 zBvh}v-`%TQ>sikSaTR0X?r?IAp$x)#ed$#W4~?qKUsULv3Y4f^CAl=ZOGm=}x{7D< z>N<-)z^9vHzl;E{jbT|<0F^(~A|Lsrr7m)4VyXk{tHBr))kvk8QU{QHC=`Cm!l48e zDkKWcj4%H_c>L%m&?bI4Ga7LeR4yXMw6JXsdt&0{@FzaA{eadgStcr{tIhM63lg0T zRF)SuA)bC;4dpzck(izj-vrPG&(l8l26cO-%48U(cD06q2vaoY8PKcRHOv}qJRy2{ z-?N9B_WRm)6|e`zF$F5lMpb*{w711K)2PT z96flZ^ovxS&RiynKV@K}7n~gK7+9em4-{>2!Es3;fcj>!R!TG;sP5~0YZ+}w3WjaN;zN9V(Z&N_NoXA(_)x?{~QVb{=2m20kT|<`8Ca z0Y~!D3`_rDU%;m>7g(DZD-B{Lm6wl)Ei2Li(`>wpsdk%@>jg+Fo0IXfnnw;dc$dOG z@ho!BC_0G-0yyl`n)}1~((;hKEN-nxM@xfSSw-PS%OsqPL$b=D1z)lV)7h2+*RH9l z%B7sa#6-aZX8HR@Y^qi6KnKmPSz2b3Z^ZL|aH+h}HNW)NS0u;Z3K|a|U@0KV5Rbx~UqZc)#au6v31Q|~P(wD9#e(unQ{)cF>J5@zdL9fF**-!bUI0y#uh(Yo%66qT3uTu?n8|XJ@gE)-eOVLU&B{Tq6U8$v zgkxo{reM`f1_~>s5}F0TV87?h!3`MkyMm23`0k#ad)dS58E}|(7QK6u=wCGs-m1qJ4bCGe6*5tv#`6_e zuzMsGNcu1-gP5h%shF@GNDToLYvg|&vhA4tz$l|Al&lDj_M}TW2TpHmKyykWDtx9|$|Zt}2Xf~ApQRE^>EYbx7Tfy?}osaRy` zG}{H3NpHphaeM|>k#|%6k}8&}bS$F?p2(1qQDu1^;Wub3SMkyu1_UD}%k%V@swc=> zdRFMIB9sTQ(+qxf?2lMdcm&}fo;~5iKbJIk}xFE zu}v7FT4rO0H565Wzv5;WKVj<7R75v9k8v|9q4llNlD99CX1X46MVpmPr5m(ObLki@ zwG>b71v84)P?@1L(>m3fjHCy!)>UMbadt+c0%A1QdX@8B{*aO3ncB{w3eRdXB3<_ery zs$7a8cdJYR<)zd&PKddgAvye(f~Hhs#0Uq~uuHd3`Pvli~mVI8AE z4glJ3xd@k{Uh^Pdk=ATaQ7A|lZk1nUPeuIy}u}D0a73!v<#mWp}6rf1V z(`N)LJ(rLrfZ|#+*_0S+ea8RGCDl9uePxbmokKB6E#vep>Y-e;Zn8`k3$|>9d|dG{ z^vuXnho?J&T|E(CCB_6Z?yK@{+Nu^&U|rORj7OF4z1%x(yXp&Ou|i}Z z1&OPNiEJlQ+oT2Yb?ae`1zUs zY1@8iQ8wC|`#0=&kZk^;))>3Ah~po@12{?>M4{}-vm{wyk}0Y>Nw=NxB32^y*PKlm z$+lo`VxqzjP-UMHb57qH&A7R&FHh>QQ2RX3Z&+`4nKoYjoe!NVzRxrpP+85DxjxSG-wR(l-uhd!@f}vbRnXEN|SLM$^kPZ6ek>oN<_dfDN8@vAH>98AO!P9p1JTzBsCJ(3v$)ymEh~O zf(n^xydreAgXdVq3U>mmfR+CO4#TAXXK(|^S>0M0HI1DoK=@XIhx~ZzSD-Zv`X&1& zpKawnCA>PB~ z)y1U_LRUj3%*3z)36f~UUO1hOLR4kIw9Od)5$xD`K1qOt*CUX2E38%P13LdoPOJDw zA&dD#!{5Ex)T{4;wMn~RFq%UUJvL5luPYDQdzKx=VU+$o2)BAvP;JDZU z-3AQNZ*#?_^c3&P;7#FZ(sqN_JI13FfMrV;&Du;k#K}8quxm7IC|X6c23Kp$BNZt( zp0A@S*zD_+Lz%BUJCU}S4JYa%7Au>4;rS{Oor5r4oCI0Du57g8Niint;L2o|$1Gvu z)VwUGnTjOen35w8-DK_H(UgDXd+F-d-<4sXwH1p@rOA976h&cP6f_p*oD}IRU?%P0 z=j00gW&Em5d1C&K=i}LWA{Wi9VGWN1kq>A^R9TrN)I|s<>bV`VBUk2aFCSnb;)3af zKn#)?U*|S|PG`q`uPH^@whV&Ei%~x9lqJ7%=Df<;hYC=bH71qo%pQ1iy={ZKJyEPW zPLyv+tDh|+1awo}XWhcvDuna<3|vWkZ-8qs*Q#b#kEx+x+%8%&%**0zQg0ci7z18` zxL~%yn+grC!jqq@`wp@uz0IXt&E_06vY~FPdZ7WWl%=I`+6Ey@@26JKjo@g=TF7L5 zd3kNvG*zAm@fb2NVQSd!xp%;bx@^(#xqE#P5M^#nLa-=!ewiOr^UzLT` zr*VFCVDOahf24A#IxD!0C0-NAV~E+BlKF%cL1m?2XQT2|>G#?mGRy9p;L;xFNv0)< z&NEzLP@;h!q#D)791RhujBTsMTwH!9xc`4@ZHc1;} za(VydAd@hstYWdRV6oVKP)eVeCRl0TMhUCznMgL4@zU&MOD_g~oQ71_;N|92yJO3i z1k+Onq)s0Atf65i%(W}Zqw-a)cE4zgwWX3tyi4gavb`-@LAO(^UR{e8kSPOrx8ox% z@%^a}jwL2j#Wp#UgI$N3B{NkR*V8Xl*-|cHANk-|g;ljwFX3u7J-Py;qS z<`=?vfl3P8Y*kb+$h;bmjC$dwcVB z*{{30%C2Vn(pORabwmGgqPpxl`qy3jMakx`0`?Q^N8WzC1HJ(1x;bydXV{cvMqDr7 z#qaP99rvkd{Ie6<=ic*%cdm1+ZxI_iJInf&QnY^NO``C=Twgw^i+;3JFAcgOI=RmN zxsJzgXQnR#KlNEsr@)GgDRwYB1iFQ&2MU|S*E5$QE3_A*{RBYpnt2ai+$z$Tk(AgG*K~p7~zZBn4b+~ zp(ngjCs=+`c@?{Ab7YS*;%@nA+tF#es^BSahcOe-nf6!|wqL2y7GT`j37+Sw0by2l z+kf4JW@VphB5zarpe+O*#vnRJT?)SIHdPJ+-66+#us^74cMgI9U7qB&$0)(z^&Jj7 zWL#m~#Oph1=p4tOh6DTNVo(gq`M;>7Td4V}sefr4TkiELu9|Wz2Ssbxe1~s)(fvf& z1ByLek(-%$iIoY4=miSS%W50p0USX1 z<|F`p;q{$mo)J?N3*U&BxW26H&mAXTmB^vfNuaOoHjJZ7lkb<)g*Z%s$`L^N-V5L5 zb#K^o6R(2KqU)DjnD8ww!_v z4|}!uqy_DOimyczclSs8-Ren5T~L>I-|g(z0Dmy3%&EHFUZ*;}4h9=HRkz#k*MW57 zhQe&P)#*$@Si(qq-Gigr0G9Q4cvPK>UM7?EY@LD(zAWwY=%D(ls6NZV?00snqfvEP zj>&$V%*Q5_{%zXr_d3w0)iK)<~#avCF+~b=Egq4W{92 zh8IJ;-5pjZ^c7ui<%rphBo9)gUdm;o=W>$TJ*=5bI|p+K73_76wnoPW0^8f|R2Qp7 zsLQzD-a!q)QiQs!>;2wQb#n7`J?Q#6KfHy`N6Q$_8|U6Z4*I+G5>~qg>H9iAsKJRg z&A>OvVdv({JJ{=bl*jJjZof9oQykSC^ZyKH@#QF0bMOsuSVOLOhVXO^`gv_;Fo%=f zzoMn2#5MOWe_c9W@8A~38&w}~cYiyMR85>5?bQ%_X7@8ph$Dkg9Gjr^J=GexSe#E;N7rAlE!rM$5O@vy8Y=J=U~g3l%3>ypoeVNtN%RL>+aV~qp$kJ zV}XqoybC^^C0Cx204dc~QfnmG3^j-9*Q|eGFh%=NHJbPKb~mqg52Wmk2AtI#aCfh_ z9WtFq(gA1XP6tXKzKrMaZ!-5B`g;4jd-aNeln=j*sOo_l-Z$t`e>-+mY0$x9RyyT_ zZ8x9ulwKR-2M1g7V)yXXFn-wE-%c&9H0UObA8yN ze(UJbL4D;(W6s-cAB5P}N~_s@MPAeI?De5e7E<{`R zk#+Xh;HNO2t(RGC!F$0&yn~HiT@Cw+lDw>!T)1FJAPqTHE#BfDM-gSU9QOX-?`p`8 zLp@wDNyh0hErZJy!p#t)(|O={eji<4KRkLlc=70e&Zx-4g9gsJnak=!qeSzGe+>Ls zOOQ*Drv|}nggJX#qlv2nW9PypUfLK$jWh@(W5~3IVkYS5T|BeOEqQz@Mhxxyp-d?0+n(-ai+YP z8p#d#i*OpPu1$ZwUO)nk zk^Oes?I*4bn}{6f&GAH@5@4^M1Uo?&{vW@gv5db9h;+=&YX7~zIZbP|w97kOXs3~%}A;$CmY4*U)k9IW;Ql*v$4_bu(8o5Ha5C_Hg; z2|g)87}J$`I`ST1atZH>l%M0iwA>gOJ)5=-k5r?#xBtZ|l8gusAI66@8L{!oC*{OA z&JC5xLLc{oFIT_JHqAB)W+k4DTtb*-U7q!o%m2x^{K&)QN4LV|NB@Vo{OC*P@}oaH zm#?RA>v!%4U!Lym;Nn`lA}aFiyH-F?>HCsB_yfnLWYj|WMzILzuHYqb!GoVD?6&NvPKmgY^CzJ>mjmK zoYDJ5GN(-YXbsCuMGwO@S0B8h{JZN*sZgkzPh-084juP<#*rP~TvKA-5LFs1Y=b5( z^s8XeUc68VgmE5Xg6bKU%v*rCz-;wYE_^;Q?srXKB(D1_Ip6i*n#iV{0oejUbOny> z5hSTM<>DjJvE|{zkCGru|Mkexv9f*jdv7qCs`T47%<{I3)k3D*Zuk3nYF-B4odnDL zEko$IF?t1)BBdV`VFCI(pdNGf1|9?4?Uru(Sr*CUS-8Z4zCaU=#S->lQ|2z( zSu3EN`WVvGcu&691>UWlhFGKvmgRjg#FoS0ccAHZyWI*FJKc|510Az0C$MhIs~8jY z=DI+!*0xrRTBJ&eLo}P{q9^1HJZuL47W8l*b#wEPj%F)ac2Glcd~?^hz>Bw4Pd~#aL(S#jlw$GaTR5ng=LReE$RY{r zi6!ain`0%_+?>HYJvhd|&lh}tP<-v3gP{?>Q`dkyZqDUWkL8`aCx#AeGN5-ko`z$; zgYQ9RdRP;6Sh@@H_JXflz_$gQhiB`_&9}e}j?kmq+5-8G{@5*G80tRtR;VEmT5{;) zY726JkLQau*>1wD_snRcNsg&gfLXs8B6#Ph{9*Dk9uy^|s6#Puxb0QgZbhGh$&oCDv-6S;M*4 z&CdoCwxcYm`n+QRWGJMfE3KRd{`xIOW?nH@OIqo0EvWM<6`+dpT~yq%3;e!k>QI`V8%+NXbg zHCo3QMbrovi`n&H8O}LbjF5Ws&FeYPm^%=aC|%C3tw4P(hPdCQ+;K2uYtYc4GNFOW z0Ku>d>T!LRU3+Yw1#l}EMh+O9Hpp5qe43!#PZ!Ci>r9(W@pDA4)s0*;099^4{OdO! z9*!({xY6tv04zJ*#AN?-VumV5%G~t%21jZ{?ejL!(JoCNoBi;F{$d3ike*!8Bb6kz zxWH8DmusC()->%4aZsrdxt=EuXB_WTW9`zq!gC?~5l^pG@iJ?ic5%DmlykeS5M5^y zdOp6c3VClAsri+*ztZ*%XnRzoZCB*zM%vCg&EMO=u2Bg?AkaNTiI9sIL{zmZPj3dC zzRq;Cr-siD+-!4qvl`tg?O_vmtN@DOD~E1VcQapibjxX;%fw0k7aE4L8z-2hG9Jfl z3L}&GQdIxcqLAF3cLb=A;i`|G07o`8f|HOOG!ET#;t)f+2n4iKPqQ`9%| zC1l3?3jKldT<*gJ95bsq&cQEP{IZtoc?u2ls<#K+oX%TxMBtu$KQNCf?7@29Hi8}t zM~rL78`q_8;GyI_=4&N$8u^JFEy%T3d~BXr`aQ>yrST2E>5Q_-CWy0Q=-4-w+2mjn z?ia7si`O+@y&=VXsI@qW9q? zNLX%#p%Hd&rDDF}sW^#yc_%Tn)_&qc+%nX%ZT4lnk|oUK>Aa#{(F!X3z~z=dbR5w~ zdz$ubjBJusFf-eLnb|F3#&u`RhZ$qq6@F~MOkt8$X@)j&8PSN4t%@6i(H4oOz-tZM z@V0o>X$8gqdT-n>xhxpR$M+A#n$>KH3c8V~Y%Elzs#4s|ZV`7*IaS16&xN~A1>DWH z#a$5#73q$1NR`kX2M6Vqj^5r;3nl9)1V&6jPT8rkg@=b%-B!?lV<#M^*pEK@s{UUG z%R9;MUC+Ag9a;V}6)H@TP7SJ#fsr8$dkcGNIs>5Eg)Ss|T0)ofr8vXXEqC$LMKs2g z#}bZgb@bqbBd;&1v^n&ZF2XU_JhyT~Z`_VnJZ+sFNjUzrJ2FQf6?bGgRn4kXm1SyU z!s^4kzY`b0^enO&6-R)Y;i1GMD~s6N8U=6K9EUNReW3xr1Ni|v$6iq54t z9+IDVjsk7aSR7QhYebj&gp7JNC|@``$+ z8K!DwY)1-Udpu#P`8If7Y!-ETS34rBN^P+rw5O{`j`rUaUci=SHN-lz-jtcRh<4)* z+AY)E$2tWTOp5!vxLQUZ)hvr3>e#4QEZ0>ytvNa`u`g{tdl~%|M;BdWGYlKfjeanU z5sJY0m)pOQwRnG^ZToF#d6;LfbRuOPG z*z_Eb?`{FP*M(Fcat)OY`euTY%b5--h~4(u^1KhEeCS^7zG~BhHb?F@d#X(*Uw|%a zbD-LEq0NDfcn3sX>Z;S*^|kD%mU~=OwzN&BSZpwB)y>AV;4jB4U83~hwbSOOvZij} zdQ}?jR%rxq7n`|fs+uXT?ON~6ZT2d(>2}!^U zGGgs=ykwDECT{bmjU0;@*u0@s(B3YFcD)$7_SPRLplDa3xIa0LP!PFQkqRdQ!#Yu3 z?!ca3otw#cUjy$E=vy6tz$M-H;BVrTJsOK;GFgwKR9&ZMdriL={BS0yL=&wZ{7qCY!-?iU(+2nRu#e3F92vBCmRMT=K6I5 zNlg@bB3mC2>JTB=o5KT&xVp+8WLKmG)Ae73zD?^F`uoh_vI?EkX#-jEmdkC5JO z!n=|5u0?m2MDA1*+@1O|yFhlIS7tx{Q^@Q}om%3$^LZup>{capArnwVNj-B* zYUg(O6q33~gxg5!Ne!Wnccnt%qoPoX$&c;?;9`|6MD)Ef8K~S)NfoE zga`$CiRx`OGtz~W>)$5!fl0&r4{}5QLEZs#2^`)5t5{}XVx|exu^I*EzQ1~<*E>LQ zd__#v_YIgt=%u^6!EU*0VE2~D?i;H=p{Krs>|Cv~oGM-y!LFC)j1D(i!gpK2Zar$# z!*3$3qH6$4auhuS3~7DG!0txcmv*GD+^P+j$J8}%Uv0vB+Dn=RSu!TQAql4S< z=bH)>Lge!jxX7?`uDrROMyv6;my1`}Dsssr~pe>HgN$m>V_ssLNNNOjo-B40jC$+q!-Xx=IN#_EceO~GO_|G7n%gNC% zovX{`KSm-Lj3F z4?vnHd^NFnf$e=(+^zGz)6K>Ezi&InfpzQdKd^)R;h#Hyp}$)6<4$*f|ITsn`(L=9 zJJa=?Qm+hV$(U@xDLj4k7d6iB`Zs7h2QC0l?>vdFo+PX2KK}FI_;?;&-D#QaC|?sa z?Cy0A^!FcI<(-Zx3CUm%eR_I3I_y^NZGuTAgwx?%wIYR?+y`GFc_#WOgsazjhYk_-%L|rT6AZ zyxakDCZ~ryoGJ}}dOVBT^QDINPMWNjW15Yb%aYetlCT~hKU>D{ z;K4)wTWpKisg=GG9#7-tWi-JhGYpW}a1g_*%V{{qSMd4IVS3RD@VA%Oi|C`#9KZVo z^G2VWovc^!EM*OIy`rK4JQg8;Z~?syKuizj>lw^5W-3#uFXd;l3}N;#KE48d!H;-) zJz$#Pjxe$Qe3D!qAM;Oq6*FfVxLL>|KtJJRvIIbnk7;#I`7gXk6%v1YhU+t$MVxw* z@(B|zm^EF2Fq5GvmoT~=*2^Vc*g?Dltmvzl&CJByl-e3-ZVk^alGy~4hfiV93(P(& zebETvECH5BY=b0gJc)LqDXc$szMe}S9!|ymHd@Z3SwOkSDX;ego?Zb>q9=Vo^@2r^$(*C_y}rxQxc}0uwj0 z&j%Gknh5%aW=Xm-(f;dv7Qc-ENQ=VrU|J6~pxOt9Yej2wb%7VaqW5vSim=Ql&~7k_ zK-EU`bTn6~&|_3<5S@Ta%K8rQk!t?z?`P-(fG1kk0a>h)C3)V^^?;*?!B9Bp&DuY zTECMM`Dh7Zeg}B>82%#1yspLt+U+bJ$H^MYInPmAjVXNvN*B>dUuqK*;ihTciPP@%OgUzx0E~hJBSC(j4lR;Tq>|Oc%P* zpW%7THmt2N9v`1at3f=moah8Hs>y|K33k_aipu3#2EN)6D9w!N>)*1L#{Q&pi!n># zW&HKFe94^4*y1lun^T$R6Jb@QOe(Oo>SJ4@=N_6KX7e-S)5%r}ia9Zu8j5_wZl!oU zjl%5|(=uAMZGu(p6bkaQZOcNGfYJ2s4K#tSr<8>G0@Mgi+~?^k#z+8e-DQaZMTsx+xG(8bg+q8pd@YiVg_Glg)z>D>bY(=O=EQ9gum8(w_cv zjlGW&K7Lu_>P6&wNs4%}Qp)OEoHsx)mjf69*+ONXH2q8jz;IMAgH$jJ^|~KxP_0Bu zpKTZ8E0DX;iiZO#(D}WLAFA(-oz!$%h>mV*Ap%(NlstfQ6Hw9WnsaWk=PHe6pt2-O zw^`<(w^!X{gs2~&5Rt9zF&rKCJC*wsvl`hU26W)|n2+}R`;|LI`R9jk_h|p9`ka}U z4KC1XQ#R|py?%9bnF26%_jTCctv*>UAi2PkZGuI{d@Fs_Il9rbJ+L0_9aN{FcX4!8 zMmf9vEmk>Yi`qP#`FcG%tUhxMqG!I{{r+C{2~UCJuA=!MS@2GFcX@EoHw?FbtZkH7 z6`&R{`nj#6KNGRJOr{Kv!lKws|AW4K%HOd8^~EY&Ves-Z;e#)P_q7844Sps|`S&R@ zn~&QYXQ??-iwPJu{Efa-aCz;v^uD%z4VKYA;f%I&8fxVa>EL&g@hvH`7N^Nv!VQ*@ zGSd3YwA_!|SgV&3$a0QG+h0!qK6vu<<=Nop(-%Jvo}Zom2><-ouV*h_z8E|^dp>x0 z`uMTDrR==F>tl8BGNGe;1`%rF22@NHj^ViTXQ%&h_PtqX>U*iXRz=iV0jGw%0y#=R zVc;pKn9};VKrY3gR6O9z!<1%`e+3mZF&KmDM50>`*#ao4jG)8C6EOe~RD3LxYMV0( zzKy~ZREF%J9kN{$^`tQzqTxi_SkIg4>l9@2Wtg^=JzZf1HAV(v;u#fYq3pvkoTA@L zGd(cXtzbe6`ObJUoud00Aqk~ChH;pddXDDJ?+o#;6t3Gm7FJG!M$W_>l#Y>yI?-#? z=5LH9QlG}m5*FtrtyNi>Mi;E{t1AJrnUTPDgg8gTyZp&uxLWZRXkZ;WL7pE zvdrYDT!}iiIM*y3k28m(3UT(AxkF_(xUZloMiLEa*kM4i8|OQ!%8D3dW?{-#RInrp z;=kW*ir0i5Cs&yIJbyxxt_2n8MLb*7i;kVdNk%@p<=z|9sWxW8}6#wiConMNt~v!FPz_yeE1*25jTM zR8+?4dCrZQ6?`mczje4wdK~pjs6p7i8y(L~9rW z>t6U-NP=CyV&Yv%Ht$BWiQD>@IOSrBT)v0-9;Zk4UBOb7%TEakIpwde*bu-syvE6L z2}91Vnco9HJqP0DV>xKwaQFoem%Mi<-busw})`B}aI(joi(dgn;#b%Jg zi9Ma7thagp?w+toY#vIl*;I!E1sc)9AX(d`5ef<1FMgge*o9&{VX00cA!&_K5( z{qDgmx}9e5E>33T)^c>K!ByQVaB;C@m7r&HZ8XvW4?tG2u|j{tMF|7cMP^Y(NiAc2 z97}?i^AL)?R?zGCR>X-TdrhoOWX^Ms2PhqZR64O=EhD-78C)hyJ&%yRHRUu)7=Rbm zJLW`tj#X4(06|@l2A42hWj(60-xy+`;}9GN`r#XVnHD5m8EzFmbYwNpcpodb3ZGN( zW+%?6O|r3Q#j%7V9d)|4T%_-MIaz5kE~mtV2DZG!=>oWKGp-Ucw=(&qc%d{4n#eSn z7q)>tk0VKVO&n)EN^zF+mFamRaWKOCv)DF%7gGR-qOJ+Kt)`$;DTkIg=J`!jb0+Nj zRfgPTYI@VikE|5(S&}S*Q8MAXeD9JNL<~QbYke$!vA0nKD~byFXc>Y4SB~c^as!Ss zb)Lu)!^c6(e@8yDFc`f{AuXPT5hJmUdz;R=JL1we)K$C_7Jbt+&%w z)E=*>sW5#q{kc^X_W-?G1N5p60BBPa_~t|pmBW~Vgv)7j^Y%;?_9*0wl70yQW=1C` znHi)F(#ltHTJ$j(=Yvffs9`7rJpI@wid0d6d2`dU$Tm_R-fhQDoC8Os2JIZ-z=!h*5y3&G1 zCp%hda56*Ana+J}-90{*#c?>Do3^JXFE=x{sqv-Ld)+inkHvoKQit*Cv0*FaZoWtg zLiO8p*`}O*LI-tV;_Oji;jEU(wn2Dlxd8*a!HC8%fzf(6@yb z*zAcyToq9fh~H617kv096JHm9GzK;t{xla&Us4q z*05yh_=PB3*}8ScM?%-=mRdyrP?61meRNG+V$`8;Y&y%;W&R1b2S$<64bBo0aB!A+ zoOP5?ibGogP}vXI(@~_Qc#NfY@{4gLdk`}d=aS>-Gv^x5e!phII*yLCmGHjDA}Ge5 z7-bdFYcU6k(zT-6@eG*nRIbA0N?5UQ$Eu2;NraxSHVk-;R(2~6J(f_TwU&C_oA(G^ zL~)2}s6AB#2S+h>W5`4DaRsFAF$Md9$`v4V#7fV^P@fnVqfhmgH1VZuY9a+ehs4Bo zQo(Oe-n@MN@`oXwL(1wxv>AIVTWKVMFAV;TkGo;1I!+W$lPCfxOgQCN~(6zNzy2`Qv@wZoGr24NI>8LmHxmB}EM zz%W>vgaBX;1LjI_VJ{Hk>_LeTgyGdv8cs}NVwKMK3l8W9;njqqJlUMV;=YgOpv~jo z2Z+1*ap20^?xmstWHvAMOhO5~mVqfl_Jwguc)-hx$j5)TH5rZKkX$d8_+<=Q@aJ5q ziQ&RyXMhBq!?9r3HkF8@{`7EKYxN!1R zlhSldl~7iatQ0-dxI^!)C|*QA4@%L`dzB(%jXZ=oRIW8vYJx=Pw=}Jh4+9RJ z60>Zv2^XM^itH{`H6@cq165JesL!E0ZIkx3#3G!))x0C{B-U`?1`2mND<&3gkHrQS z%>1p=bXOWC`uMC1f>%45VV;2yRE@uTka`G@Sn4tQHubD^+h_=tEJkY$;wl4)JBuQX zFdS??_t$Y)alsrVt|tmLBW^g&^tUy<2IP6l1!nD6R)<2;^M^+u1!EF1GV9wVn2Gq8vP#V#pI19>V4EFdWJ z^o@at%tpWIBuqSx7P#SX;jhOy4w?T@S~tBd$)JtVySoLb4~q%slWOYSiW$*|Ei{KpSb+v zuTb(YUJzu=(I?Jph`C7(Z0#ezAewz070^Z%(6yr+9Wz4RTcE>)5QeiqsyVkOop921 zmEoB)ftUIoq>D+TQ2A_-WdLSkH1qV!7W-SV@5hMM;yvk6%SO=3iHyV^() z*v(%0-p0Swb}7CQbjFZEGsQvog9s5}tQAZ!R890DmJ{1BjKb@HPT*a)e>F@iqXa6E22BD*D6@ad%)$CblCN zsoXV4qwh1^`VJ4uaOP*+AQ`@V*Ztl&>POBy_yUfhuso6d=Gj zVw_>vAydi?qyBx$Sos%n%VZP9=XTGeplWOCt+;8@oTRkd<|gi%6j`lQ+LsuGL?#O#wRB#Cd;@-X0xREuGj*WT~8*{JUDv5RqIs|HvWF7t@VeO0;yYnzkUBFd;l#5 zI1!1A_N+|$kogvI#%Y?hCr?kG|9YG%FOo*u+xq(&mp-n{-rf1$kLG-5ondMh2dv!5 zwdJS1AlEb$e*uToO-;w;Xf)d@Yx^C=I3hA#OgCT3AW64xYQ^S4B@s{A9K^$|u4+s3 zsVsLYQZ`oUJfq3gh_tiN`HE@D`HD?q<|{6Bq(7QWp;*Gposs1WGp>ALM#V4aHaYSh z86r-kbypG>SH|74$7ffD7uW*eex6`s)p|IE-mKpgKC*sOs7d`Mm`{CgZ-Mn=VlUFa zWK1HlJBeRto2qGqu~jnzkpv*)hnTa-lYA-d6ts3H!}y&Z*nW4<&tx)B)H31%j5d3d zPFyGLk+jn+EH!aC7*Wu z9muhrgnh-av)pI$Qz}utq--F3mz-p-obbPi2eR5Z3suA-vp}uNQ6+uR=PtRHo(h4o z_8$$VRm#d28MNm+KW6)(NgPAp|xa2$_vlO(*I>8Tvm z7XI2IDzqAEe#h4Djf5Ujk{P*=rMxGb1%u6M?PO4x!Tzuy{gKk#6PHek?ST&B{pI`I z2jzt9e^3t0o(H9xXYoVUX||tC+xv412;>zHV3WOi3UkUh13%ZYnZnpx8^fw_gMyI} zYo5-S<1!)-^56)*^OSgKJB{*I&{cv zGIz0g=$P3Qtx;b*96eG*K-S&(rDW%Pq39qX+PPm7l^}aJEd&{#`^`?5rj6!Jcqyk^ zVXs-bhTVs7I`u!y8r^z5r-tMKZAW;p;c)Mu{eJlwPUilHu$fm~uikDSHc~5Rphmm= zlt!b%p}NiT6$#fNhQ@%z1-l9oGFJP`t0UMhzY!UuQgfY=1bF9_k!%cl&Dv2Zx^IkiX+DfKxTl^wM|H~yn*@D*6uaSBjX`j!M*Qx z(LBK5W{esJ`M~=8ES&kf`S#(Dj~@?*6a1b)=hd+73_7g?feVB}zyW{AhS{z6%U3I9 zm=ws307;($0QuYtR(r+D5Nj*Kd_uZc1 z+k?L^+VK|65y)dkE4Ac+k2M5%vFAufq{pTLQjn4INt75=a@25Sm zn}_I_hr+IUKkozIJ3v~LC^V&$t!`x0v*vXO#yjR}caih0%yUE4sLXuYTaNzNB z3~#1S@-=2{SwnX~G|s^M@{u;#esZxX=DIW{{XY z=Om<-3#fGiI4vE{f&H)ea7wn=a2UlS$BUZkesvly)~gK`omzx`j44~3ulybGhHx7$ zC*g)FHe;Hl4yK8(;%&I7IRm|(hnPvWTEpgJI#?XI4ci4h1vJzSO)ye#6%Fs*7z z%lIu5miA>6xb%Hv)xXu0mM>3pK=_0FYQyvBeGK}V@!!v=i>6T z8hA88XgE1z+&yK%;^2^Vsqi3&PJbC_dbaMRq$(tvquim`7Q}bih38QKd zqhKV(hKd=rDw8*1f|&ztqh|)VAwpBW|l$cKRBKIp}TdMX!4dc-RDL>uTxN`e+@=NxZGU&tWBw z2IBA)K}?m3ARl2C#_#6(qz#xXo1He^ow@f#YF*a(&5GHT?b0N}OO@OAg}ykX1w3MnSrP$k=C$MI|CA(id;(_SSg`3jw5jrZ*R2{>aMusr} z!Jy4Ri_SkFrAAW{_emGot=AYAL_fYpvZGQ8Yp(82oo*Iue=4>NY%N}sk;oQC&FIib zFrQ-}FB-{06jR}GEU|-WNi|%TF{)H7zwwcWe1gQ@PV+NN>^@(_Djxy6_2DS@{IlgM23|+` zJX|u>JAL)+)sS)_A`D;zjHtS#oNsrg4ij!s1$elQjD|lbp(aV+Fp8mYq%ov9*cKx? zTcP!)BUy%2 zjev{7O;>AdHEoT?$k3)RHTxsBV}$FuKgEJCiPeFqGpqc&yF^`*v!Y^$SX!al^0s$R$^f#L_%t zadO84R&s7%oa*tMm7LobCw@F`<>rRrT3_E8FkYyVVt={0Ik)dA+Z#mXOa_8E_wFeV zJ~3_m^nDwnB$Y?j19 z)q9qK1`Ia51}5;+vwuFk=pS3|SFZF_v}DUQ#gg7u-+Un9*O` zTV{LpkG*T|ebswjV*4?${LiBR{P_GYdblw?=pXynCzh)BpXKNUQv$vglEF{^`4<6w zUINlT4sJwURqv}Unh;>r=R|!xIdBN3=&G&IrgOZ972+q5%kYMmH6rBzi9NU zrBU;1ky#5{Tv8!n>Z(pvf;a@=wS>2EJOTRd^*2v-l(~dIoQGFd`&adP2Zg$l2KpMSp)l@9Q%11m#b)# z2vVSEA{?J%uo8K3#?CH3gnzf#-!|S?y~dFhi&Fo+F=@@(lZM}K)dx+#(F*!O z!|x1cJ%2jsHvNg;=!Cs`y*X>Q+x1zq+3SSCWH1OPlWDV6@5~Y*XoYjiPZvnfEI(*p z{ri0g)30~hzTfZqz1DQn_gn2wvlDhE@M$A?RHR#lv-TtiC2xjfh zpfL%;cDs$LVY({%T(+3gM*0Bz82_rrld4eQfxH)u3wb-&RK z2K7eUAB6ojEI;h^XYHUnnAPk3R-@Z*^!v?D=eG7OV{#?8t{FBbtx03h2-|~ByD7XEx~do0DMB4QF95Y_?%nd;OfPyZ**iy%wOSNFYgjnJQj-C1wY=(pgI zz@LpK9Gajt>4yPqO=r>@OoGXDkhO(%;EUZ^f6(jG@7u%lX`p5n+ARWcxvAIE@sTJ>{;w};J^VlYxg>SchGP9 zjXE%x4*WL^r~aT1rvn%qTwndcv;(}f-GKcIJFP~4Fqt$nHxjn2-l~VK>1-NIdjTxE zj~p2Gbr8(p@@YH`aF1)ZP?H%{;KZDiHMgzRoYj_Cp?4?upI zHhXXYL3A1P{pld+&jvwQ?{*uL$p9|C!4!zDIqSkA>hR#C0j#9!cY2>?H!~($c0&jC zS$A3wfd>ZtR@eyP3iO+_CggWr*qc6F3$TxMc&G`)+6#LfIHHYu7YLx2wV@4=^WZ49 z+Tm=_XoAF2p8z#?K%lAj>YczJv|0@iV;Vj%+Mw0*>(h3pkGC;m4-WEY-O#Gn161`A zd)n+z>%iOFZQv>0Nf#v2dKdx``>lT1YynSc4hGHHwB77Y25>&%b_r%P5Yu4h0KN5@ z_B3OzWf^Xx({4AyK>%VKNTBs@r`wu=%-984vg=Pk=pJ-h?P(7l0}-emgnc+nb-41I zgD&vX%yZfZnjPd~%^t|8;h^5{g3!9Ne-VQ*zp6wNsGp0pG0v zL?w8<4ji>VZB4tNI@f0dxGX^$3OjA!+|w?cQIK<6Ga&70Kj_2FQ=evSHOM8sehavH z3(k9Y0=I1&?l<83-RS_X-A21VX!U@=K%tq=I3}Lv83PC5Ji5p$atiWh`C?)DgO9eWoN~6kUisp?8RM&# zEqV1}JLQYH<&7?VI&zA@g4S6Y!V7E+a>&+p;l{o3=!N?W+DiHQ&wC)`ZgQ{FyE&4I zce>Z_Scf3DF4_HGfXBu67yj?j;v)P)0gYe=$wUd0kS#4L-)%?DX zpYCCAP?$-4f4Pb__tu*g_M466$K{6qxF2t(_i=*spV5M6pHuwID*7edPx^KZhp#u$ z1^n=oKMS9c(M-uQ{3mF?f-eIsyg~0Nz$5i*)e}TMlP@T%DcsmOk@MAA%w3R%!*DrW z1)(0!UW~k<-sI;$&LfZ;uc(jG%kc80=_*Qj${=6k57IshUrm%mTMMpXBSx2T%G|F2A?RzsG>rqU70_@^hICV|6bFDIwpe(O!7d72=WOL6(w&Ny0guA|k63X31jS21@v7F_aNtVxm&U++3haC+`9qj*u{5^?A!QIp2b^^?$@Diw-Y&t(;Q+A;Y% zFkOCxyYk3;cjuQSHG8urgPDz({&tT#c;TAHYIdej8Rff%7l;bg3C!6NY6><9spIl0 zrVKu8kN)n?dnacxb@r8jVATOsOnK-D$?=m_t7()yd+h5(1-o{XW=?J(A&p2AMHS0* zP0u+y*R;(Z%gG#js|lWa?Nh>N{OM{P*1YeoG*oO0h6_Zxm;vUgb^VIFN5wi(R*i&s z#j0+MFKpdS$uC=^zU}!cpd4b=FIy5!aTmFJyRV_b;q$Ryc(@Gi!3J%-C$FE^T)x77 z)D&|uzGy~u3i*fj$(8yL*k?FzlM3gQnTW}s^{(p?to#Ori~FANx!4e)Iu*1Lv9#fp z+-z|(E~ubl9DCC3wBX1J90Tz5+)FAybmG|vO5&fnE&0qlA#&F+KU)RcsLJJ#9u>h>^KM&eQcCIjad zW=yrG45-R@HJbsSiI(H4H(o92Pq+RZ`~XwdzuCVW)x76hK_4DL^x0Oht)DJbM->v# zMSS`<19TRK@e$@dU50Sf;D0sGJKKTQ0b7s7R`4yV@`0V^sSS5D5AV@{s-#OM@>Xg% z>8GY?!{+65`~j!P#}ysj)ugi{W^Kft@%u^^=Z0U73}ESFpEaj%zVV(fFZ_8FcyBac z&Uo(mEHxR*Ltnz+{JO6%P3CcctpK>LAv$V&M|X)7-%tq9IL5OTEq9?s1wJAIPJp@_ zh0Vv*qS3p{RS0=*=fEBBdj56`oB=kQYfJb5a)~$NY+93OMfms9y3ko+dFjj)4 zzNV{X=*?kCDk?$o2b7#dyr88`R~s$@z*lYpw?{RHNy^s`pQ(@+=S&YNAqF2$M7=y4 z=7@ATQ80!Y2~16~QR!*vLbaki3_ea!wg4i~G@nE8N4klpeYDQ7$CoQL!3Jz5(Uyv2 zj`aqOQ-{TTu`;C3gr9YeUTR^_8WiEH?xAK!Rv{m5OlTzj|LwPMszJK_0aBsjjFSOi`27ZyJzg1v}*?iRXUSK-QE!^Wy@)uN94T#oItA!62|pQibkrJ;aVT#zl?w0TQqg9<8ab6dN@@ZyPt(4$~dCaov1&0qZ~? zGBzR{9>Cf#Sg#AutE~t)fQ@EBN`YJ;G!fjp>=A%IS8<%|pnT7r+{E8(B4q8tabgE9 zHTj+c;o^CEf>Xsx!u|$(wpIycbOhjgYDkVVQ00IGEXm%u_Nl+#>dkNk9Q;RhtYk;H z3#GYzbVwHdE3jWA>JQTxQ^z=>{{8WXS75wIjD!F5MQAn3&HO#t{5kbNPB-Y(b1aT6 z@d&w39VI?<*WBTdT28vRHZ6)A2vgXxE#A8ByZX>3zIV>7^;_nZZ`XyQ?Gws2#uH`X za+rv+(wVYEbSEc85@#`cpuZi9`UpCTn#3l166uSGrDH$1KqemOd##FvijdX7)q*@k zH6fs@l*pg7vhdOai7$w$dK1RL>Jt$g{^MN8a&+E~lV(hqJU64vz?UGy!kMiv=ORzz z?US;H89B{?Y)NH+4=T|_QUzbCjAgjo;%E}hqwSRxgfr?hT%pJ_Oq?z^sGeUjRCQwp z;ToiTsYov6(s9T58VAvwBx$&`Rv)mRH_Ar9*F3ahof)wOA!#!mNi-YzUYRVV!B@eQoBkZ2P!XK>Rm#=f!B(xzgNx z>5ZAIjFFt3MOqgiiX2EFEXam=7a1-=L(~@;TqkfxYcR@)Ray9JG!jU~IwquOb}yXA zxB;q3Lu_PZ3f|@$meX4VRV}LaYSNj+QbclD3-eq%_JE9UGsj#U+tUE zoD-Uk224ESd^LwPX{Mw&ky>>XwCr%LBr(f+xKri`?hkLQW6~krIrNSxGr8rs4qdF2 z``h1|c~b+;GIM@L^QMNIHgn#hc{BU)+`z_JZZEHG@pOkTwtHqWe~as7>gKe|MAnYG z02nVaQepE-E6uoM1&poVbLz$+#>e3>!+2OZ0!EF~Gr-ospq2K*#>7o{2HGp;eIQSR zU6kv}X3EKlm4Oga`9ppB!&UyATBFHmp4RO| z^KAXV$EwHF@L=O#j__kn)Xkt#zHgj6I_$nk;Ug4kM{Cd&b7Cf1y~d$|Lm5y|rj1s+ zxCm0a*}TDe;&8j2he2LL>0bE;itfCMjF z2)_qfefXNEj~B#ioVX43F^P1}H%#F!&WbE{pi<<4JK&^e>{P)@`t4r%D97xf_e{Ru z=~x`_tB6nIsqYU^GXYvE5bNW!5T+TCx1wtFBT!o8OBJDoZmbQus<+Y-F9K2U@4JYM z%Ms5Qjb=v9<4aA4;wqf7z6d0z4;e)LjiSZGjh@h4oKxaET0}g4ie`YTV{zx}pp6fPd8yHK4%X?)0+EOun zdd)UTkewmkk}+hK_O;?~_^?dV9nDe)aM-H&<23A&aM8dyPl1NL&s1~ZB*dZR-c&TL zXSkLA3)@W?V)({tcXsX;F^HBJpijF-`il1Is)<<+LTg49I8dtvTW#ojiiIGlS0?)U z_~o*6Kn&klCiJ7`AXU;v-{r}2OPTm;QvXZ++MEuotP|r@GGzc zj>;us_rmH2rGcxAM@#*Q$$IoO|qy>9&}je*BjFeke#{52`s`2Xaid znciK;)Kh`S5y~h-7{s0e)jZT?ItY-Z=Z%*%{K2!yp|QDMJ^38*D|S4@3C2`Qv!L{R zm90yv=Xdk!W8xo!7sbA}Mg;h8b(Kp6aCT~8u-W~u-wgsA)eU0wt2InBFm_~Qj^ne)?D3ls|lBu zP$Ue0AWUU&hQYp=03)p_tni1ia}wbwy$@=D)>=ENz?LUpmt+VO7c z+xrH45L*i2LD){6#|#VdAsE%7Ne&9tF?Mj4XAs|qCL^?8!xv|4VD&ZOiz+-2krbj_vE=ryw$1xqRAkjj~T#=8ek zc;?UJGBf_yw?3rJ3Mz{T#eh9|=(ZG~G7m*6B2NYk%y1h*Nl9`g6HKq`ix*8axSrDFGCZ%)H;`rDWcd#&i1JgU9K?BR)WAmTVta&ZJ=b2 zF7F{bLNuF`TL#Nkh+#o|;HUqsrz|1++|o&7s2qZ=PFl5;OXDUE42F6QFUE~DF@{>! zgOR0$rTNBQc`?f>n88!D(^r^F*72;8uUC0LFg;h|^zim0#4u4PZ?Znkb`<$%IMsV` zU>8UzW$9DJ4^kE=EySuJ&HbxI%~UsZ&LGiG{%>O-wh+IcW0cX-6UsRQPHE`YVJVRQ zi>>AbFMhp5l?|LvR>KFFT+rMCzdjwZtGpk6Y zs^7(2?kNv~d^K1t;3mB%4=O7Oj$rfSH=OIk41H`T&5o7JR!99)zUAn`-vA0u@b6zG z^%Co0A+P2SLT{MDr;EM7b&C!z#5nA}gD1r2 zuP%WsH}IvuK#`=XYp*a^bRJT=n_J}z4K%b=j9pWyfu^jDCq)rvlwGw=Wt~!l#}b7x zRqhA25>B774kFI6JdOl@Xz3CJPs>YfMKu^;ZXc9buC3Y9OR<@URv+++y^reN^2l1? zy`@js9Xx$;pydq~lU!k9PBOTMgU95K1<7JP_opmZpcIW&(Pq)_m|jMrGf;4(N^XeM z9xY%D4fZnBnV5vUSXPTa7m|PFt-aRwm=gg^uR^Ai4gc=At70oxrr z6;dj@cxRtreM6x2zpc34xruR5>THL6S&~ z48gzZIts}t!c#mObc-JC@jyORt{tU7R2-IQX_ zs|rO>SWb#r-Xkwh0&_5{ra#iv+w^m`3nz;LhC?KNg}ywgE)k59xeIonm}AOMgqfsd zN%OO|`lrHT0Hv=j7pAHLnD7iIta_^@l>xLiop~?XU*z&2EF;5Yac6SnfJ~Cbktv7+ zf3WcnN!YTHg_jO<^fw#-%BzTFO!G5FAkIiXoB+&)S!!iAPi&fo?Yk!_NgNrTm0z6V zKXl72$!U4;WiMRIttONu0H$9q&B*AMD#f`_YErdWe9uv|xWd*Y7IO2HqrpfZyJhUp zLNOuTy$F>tk>58~tC|$cz)>P&8FbQ6wx*0s0xi0hjPxYbvKHGC<8vzLgrFDxhmfp{ zSYm|BeVKvG)v1cEu|PG)vUxkSU+JPEhwWy%uOVxe2aHj1kj@U{%nQWg0>$^8O&~|6 zmXT&NM|qd9#d=p%W`%3@Xd5Gf)h7Wow5!irn@rFN_ghz#LKIc#Yt6TGUN zwnuq+C3>M6?zenozO`&hSP2)Ie-te5QqiZo0Y%1A5i6>ZNnT(w_~WE)-NzKUTy2co zjmCD0YR^_!C&=5aZS#LsC#9qV{t{Jd>|BXZu1m2u4*)f9qq1=Bq%Eb?UZZ|ceL!?@AxkAjdY zg^xg$n$C05hZ}?Psn6TZ)yN$>XUzHmx%gWWS7F$Z6gD5BH+m0%ez&|QqZk020VaMh zimw)<58>4aP7BCqXXiPvTMfI6!k^}E;61(XZby#m;hVSobcJ3Y?Y49E!V`KOb8%9F zc_s}x)+CYoqV+j4Ypg-_9TxfwgI~kx!(G4Xy?iX^IJy9m-Sr=MjqZE-O0eyGZx>!k z4fU9UQlvY_7Sq1BF&Frz38LhyXCkcr$?*v+!8LkHfVEQvb3OMXE-o`K8SR4|-3|+Xj+OUN`X-slObRQMN#*d@KRrG9rU&9-fIRA` zX4RLrM%P#EPqQGhiy46C5UAP=YNkm-&sh>Ur-JOiAH5!hLS36=psD)LpkXQ;F|3MN5x5d}L* z5R+E(ub#cCe1ES!=pPL+oFzh4-(PSgsAbIJ)>V%Fo93y1?iu4ZGY@~oOala?i>ex5 z=~asr$e6%v)gb9sMEDP0h=;>)8k~>fbAJQ(Bir$fTI8?SO4x9ou!I6rxJ!6Col%}O z7W2Y1L_{kxbr1?R(Ue#_P|qm37*V8Y-q7U3#g;)xy1*cIlf++DCcNR0{)Y$q9kh_u zCQwe&PY+TUFn-v~UPS2^_}V%T=j#w1mG}`Zu!{&-0p20Q;VFD`Y`(BYhrNMX*$k8ntqn0eT4YCOn5 zr^hF!qt`z_dH(YB_;079pO0VuaQY(`w|E3XL&n2TpTGX`_)XT+-K?Quf*9fNKAJs{ zcQ1Q7dhy@9MU=l6jAh)8nc_rRqJ}-gNw}LOX&a9C2@lqg_@eFANCE^Ze~kV}<^YnE zZqx3F`QRfjO^=nvk(6Dl*kZIE29KI0;pZK^N(Q`YiY(mKC>RxC638)*0M_AWb2xn1 zcwC{m9=)x<&xE3HaN%{CTl*fszpYoj{N|yVW82Kv44xt=9Nj%fMy_z#3?P5bhATy(M#P&e7M%@7YN7@sJvV@qW)zjgble5x(UeIqNrS1u)r%GXGI!>n zfk31l*@LApl0TYZ<_||zZ$d{Gs*kdtcwK$+hk?rXscmQLM*0ke_0Z7H3dSf z^DG@{b1BNlr`=JXZg57eLOLP`agk9t`n1 z>Z3Xxpg{q>QQ}Ol!kAo=)UGdo!C0uu=Bwg!M~fya}LOf4!c1JJCbJuY_@v`gzT=ba;Hh1fs(fa)ZEWA7# z5^hY~9f>c_q2c<$Mpznnw7Lj4mzxN_%8TeepinIjOw$~pP4J3BhH?fTbjoiN56qhn z_Z|gvaF%gi4cx||yQT);H}6irQNGJH4-G^Xg~TKY-E+8z(HX)~#yQ1Zn+Gr@2TB@( z1lMh*BmX?iV_&^S{ZKc-9)Ll-EdtnY9l)RjAh{PubY^**icmP{w#!$0bpXi8z}%ma za-HSC81xQ39RdRnNhuJGdi#JX#tsa{EK5P@4-P#s_I8wl(Qr=XpY5%YyQxHqNcrC7 zZpmCzDAy!YoDe&=Lac4uIOn2;n|nH>4SoL?t2z8UXQgODnVcMefFVs-PK!2qby0q|u+IW1l^9Hoqr%whu|p*1yrbEF#*oB znsKM;vmGVWFOf;bhv0G!E0WPo4fH$E5N;21mIOziZWc za}Vjr@c=2(rXe8~5cSgE0tJj@!?_N+43VZfa)s)YNUf1&k)6P=YM50UPLd)sf-QjE z%Wh{zTBL7-EEjMoRHYEY+ivIc>_dq@R=kLx$byk6V8fd(lU-06nK{f^Xo%?IT!Knm-MEK{Wbf@RceE79R z?npU?RB&TUO(MD3o&qb#;4!&xF9=#K44yor(lX&9u5xE5pUQ)|aHOmSp7AlY0T84# z>hG%vf2<*^^DVvp5&#)o)f0y|f2;woc+Q=8tK5Q5^-t7Sn6C>NSa%gt4z)wfJRE1m zha-L0-rnKR)Le#F80o<#w2ygbo|$0L%8IYMYuuuFQ$hAtG!dKqeIT=2g6088q}Z16WV(sgTZ&lLP$`}m!A;LYe{DB* zLrTXG4UjUZwKwG+X;yXmx8o!@?1vrOHT~QQIe1JoSe`I1^nA7YfFaCl6@*XK0E^;m z_-#~~S?8pr{q^nq#}!5pMc!xpiKsz*9IAi7C(7lGuK0SufO5ia! z7RDaFny@9^1kqXUnXez&pYPn+Z|0b1Qako9M-2Zg=dSDq{flf*p-b}X-YJsnHW-uB z$v@CI-rLM0UCqAn(q9j%UZZ}L3~9<^0Wc%s0P$PY?=$zc;AQVWFsw=jXk2fArXHaA zzL2MYUT6n-tAAt+%voB1d9SVO-|+N)ww#9uD?S0)<1xze#%x@7%x3-1gc^tq#=^Jg;!aAdl{Kb!AWtfBFVSS}Vj^WCSiuJH;%V>Bq4 zO5xAO`va#=dsKv8HBSIi0lskVFVDy)b10Nzq$^0goNJ9E z%&5pxRlK8r&Q@kdGXJ%i%4+#FZdpcH_+J~w_hRvO@qg=k_AMhv?#4YgDE3XwD!y7y zM^k@#j=c>i$FMkyt6jcd#vV912`crksM3=&`$G~4^6HJ`hAIl66M*v+k@TE#lpnje zcmJ*(vW4UrJ2h|ISP`mzV+SpMzXDWnWZ~<-9V7GDg!gb>R$#gUE%g@TkV1$Umae>s zl@b2F3pZDGB;r$_0va(oct(xfK(oPEJBpa*;J?*u27-FD)Fo<;to~O5_-^ct30G7+ zerzfsVZ0?5wTfUm7pmH*_gjSBsJ1He*5`VG6nKYABa}<9Z?cQ# zThnY>BF;>!2khMoS~)NgI!LOMUb<$ylp9lomemX}?-XV%D|{TW{w&;H4LMavB8xHQN9QF-O4SfUk*Uoi{Ti{*f%A@|AjHffL~YG` zzD>6NquP#GY#vsx!Qvn_?>CI$M|xHr5P9NNOt8StGb|e5vw$zEgA7On2BifNK|fky zBe;dbz-gjVQ(6{5|LE;In-vWn>)}$+FLBpQk)mjzYi&l}pzf?5=zOtT$VRlM=}Zau zvYD>UlQSnM<%6@r_Sc&W6veSz{A+nDSNzTz+nM4h3zZ`mmwA&oD=~?@1-g?cLR9)< z8r-=03eE~^6d8$GH3}$JDx2jmgM1Kq0^3)Vi=I94gA~h21X^W!4EXY=@ak9nz4Rn0 zknge{&n30OO|6X9A4UtC*nrfj_!#iH-);KKf+^=9R}#wxT}gvH0HR?M#S7CwtkE-N zy1|W&GB_E)!JMmnahAavNI3H6O2Nvjt8j&96w$!nq$* zK7#2>8-YH$+V*S4fP7YYJ5u2GcrghBP|~07HW%S*svsx78$7~@&o9;=UcgZFB@lUR z_wu~ibz5T7Dw);>PV_NTO0HCk4<$)MK{={%%4B8s?hcPm1&uvUF+Ic8Y*Z%?&iC+eNueV9$G4~gZx zAKPZF@1u)QDXDSvySMOh8M4c~J`@#UOE-R5X;$ zU^6``ZHW2np{W9{)MF|yXfj8o7T>+?>YjQ+rQ>p|tVn@~miMO7X1a^ElC#fM712Bw z$Ge3z7w7);(GunnQOWM?JIK(=lVy+~mb|N|9RI3h8^p3wO8f6knfsg96)!{AE_*0S zdo4OmkL`P`Bv$l^qG}f#s$XDa)c*TFlAaqP#77pNNjhVe)h^rz-~@00f_F|c(g^@FV>^lkc?cJdkP5bK9J$%m}Ntsm;z4}Eg{ zKvZwj-3G*@vx$zENrvnt0)HwWX!jFCsno@6apYEvt*V>L);~K7G3W6t@3yXY%a^;$ z8M)Z<(rT3#JVcxe=^StnNVo*CZYOPF_<&Hq(!BL_+vV4D2)JS`sNOAaSwk!m+9p?s z#hej4^=pqEejNYFu5G!PxP9gin<8XZ*F2aou^6|0y^9dG%0A^=BX1Yw6!L>w9rzk^TgCX&k zl%|IX_h%z1nFhR5KmPOT?2YDca7lmJ1Dwh{1M#WQFDm zF8nT{XyGrB>=`DAOxWCy8uQh#y(4Qk_VZF=hs%Vc)E~}g;toFtw8rQDhwvW%8gTDj zc6U{X5{`1zzVy9Zv0TWR&gCR>K(2F+_d}O}A1etr`BdU0xYBK|yilQurH)OUW8+nN zM*>)Zwvi9{&qIvXXNA>pHM#IU_h45RL8}>Z;w;5`NZ}BXM$kY#_Oi^9$>n5nNYzg% zkH4pf$>#Tu_tm)JpRXaZRq_^C&7X9MDrIUWp#GAV?pUUQSVEncmYGeR*IC3r)n1wS zqHsH<_T6yF&_zVeT*;H~1G5&mcYz1{XJpOLb;{rli}8v`(7%0A9ODonmkZLB{B~%H z;cJI`MU%$rjS~yYk_jGIsl*f_EV8LPEX|6 zUmGh)0WJ_EhTqXQnoAEQ0DqRHXEG~^G@zg*-9LP5+7BnfDRPgoRuL<*6x+k4N-K&G z?`%U-w^Z*J;{Z)SvcFsnm5b!OVT-4gVWt|~)Jz3eSv0#Eam_Ej_i_sDH_B_}GN^81 zT`+8;)jW7yd$Oe>t{S~wd2>`gkUZaevwVI2Ow5#8L$lR7cnz6g@+@5kSnQC5Swbqb zxOD5~L+SL8IZZGc2Q{Pu#Zw-%%6sy;Vq_Kw?5>>S zy>AQ-?P8Gy0IL$^g$LN#A%C`!lFs9PyQDEV2H`xq2sc;5;j1O(6FieIUaW%9wWHzK z!{Nst(M&_iT9vgbGTY4jDg21vVsTS;3SFxj=WAT@WFDHf5-*W6Mv`n1M~mIu-%`0` zADeOG6sTJm+2-U5sB+6Zcp%zRD~XA!BFwgd*$ykJdsw*Dm<~h{LWM-M6(hBX-yp(Qum zlsQU9-zNpX+)>(ui`7Mm!-NE(rn$kXS*J^aLW+)$O^o)T=8BsosBD{xz6Y{yHsgkmLk8Tp*JJ8zon!6Jsst3>L`C#N5$JZ%GuXZdSeR-y5w;=lrgRBVEKT!P}T5kMTy zk*mV6efJ| zt4;Ad<@elK%I~>z#NSt&0CAl7X&x=2t=&FBfH+@arti+iEp<(R%ZpkX@vRk-pZvv> zzl~nLIz2wArCYtw1E(i=b<hW#ZxYfZ_C znOCsQS#h=l?cpK3VLxlg=M345VJ~0U%NF)>g?&t6KTp`h683O}Jq#hAAEekpnj1LG zfU~Y-bCPuN_<`Qi_YQ$Fohbu?_a6@Z$V4c(GIz{GzZ~N156hVp>VjB4jowUD6kD?bQiu4!f7N% zF?!CJ0q|(cThUUzB=2)#h=EB{pa<5NzfFOWuq-u~xTYS}ulyD=yqmz^4_9GLgN?ST ziQ|rNBXwDJ^KG=As{!NGi1;i}!8t|UC025>g1xxHeS$r{#C}s0YnRx|#0IzvQ1ku& zQiFfb4_KY;QUe30I1kA{gl&5*IR+01XhxJsgjF`NJseThFEPb_q{q@=1xM%;#z$3d z_?9}{VYo>UO-=tyMN}LINr52|c8tUT5wwh$UYRsWJT{c24n(gZTJxrxh6bjlIo^5| zN8Fby#Beu4rRr;o-S0NOoR(9KceEo@SG$P?on<~eg4kP6;Nm1~;5)(%*2{?R(^&VX ztNGkt$5_Dt>y+>ZbIhm~2+1|@fa(*9tv@NmGF-+O{}^0hlFn2^U4(#`D=A_I7v&bC zDJ6ncH{6p9rvMSMq{<_d+`n79Gme(i4R;fxXw2_%*DcabF@~6V5duMeVvQut`?&g| zFSae-VW5wNYULM5dsvJdLgM5au55VpDY`TutD>T%WkQrxh0uTpSmg=fp^;Y_KTE^8gV%mA61R~Yo!V-fruAZFB#v1W$^d1IPW1|17 zqVJUv)^H8+%CT-3eScVkxU~v~k}8M{4o)hi;+=&c=0sCFCfc-%!=-OR+O>EMEEkRh z;*sa!y;w2lU3fS{N$eyj>xIgQqM{Eo&z z=+VXwZadXM#z;FG4o{*g9QVDE`Z#pQ4uHvZcW0n4-_`^pJz1|M;+vy&b8S5N5J%bT8Xd5(Q~@Pj zR?H?EMKBym$n+xZ!I>7gS19{7;RXr9B+W<}6V=Y~e5E?as-ed`(wN$!67A>`F~qOm zjVEsKMGa+$s)gri=g55L}y@wrqf+n7dO@8_m7BQ=I5K2YTbd;?a_XsYJ zH0{uF#%{zGcgl@vsVHiu!?|6JcKymxF@t&uV+n_PPGu@`jnKJ3M~StJcrm-anY(5{ zKd77+*#!!4_0M9LXkgRbIk3QiU&ma2${K>CFg~LqKD+P6=ROK+&NYY;-ZS70Il5J@ z-EkMT53cykxG4s!tuhK%G>^)=J17|zlv~aV^-7yyIE`HFczIa0Y%Sb3L9)+lks7w@ zy}P4Zm7nnBQg30m1$ohQQ^+l&+-{~t@FW^gB{&cbtVP^98hBU-4KI0e1?8EW_4;kc zG%FWnPH5=?1)1|kE)D@bAOaMzrU#YOxxC`6{qpn98n(DzK<|Jekfa}40K(r*|K`2ap+`hjR3n)dN>?DE7E|Q5(^_s6q-L{x zY2=sAE)l(@XHygf87n8H*xS8|(3D3xwv?uEB%zWFH3&hTTo4Z;DFxLceBPi4rI2_x zi81O6Lv==my}q3Cd)NnuSzZ3DFj69CpUPly$pU}RN|!#TOgGN$ugz|6^)s9~Ubj60?Q7tz@{YNg=< z*D;Uqx+K*H@IhA_kO16jY-@_6GeNHQ!A!zsIE!?Rcf8>yG3^vipaKJXY!`dYcj$}V zmZEKr4lg*J?pc#5>gC>#iDOV8&!ujq`~*uJMU(w8j*&_9MZj{eBAcd@dP(c1dI<-v z=4c_^erd57$0-zpJKe9S%sQ{Spt|}S<2rUXk>BKVY%>j&L9j)~YaEHkO~1)!LOgRT z;vV*k%09XS8H^#2Ovc3*jkQW-xCmw4)tX$mOS?D%ezGTsGTV~8Q|w|Cs-VdzA>-V? zh(NGl1|S>>J*;awplr5hb`(y}ml5Va$iwg;IjZAbM9+dWj?QZ~SOvQ&2@-L*3s(1d zQVdeu;*%@NkhUD$~jk-79}~Q$y#ajUJZn>drQ= zvqksN^hj!Su(<$6s*5L3!DliT=b9#(gLe7UR0bqkl16v5WEeS_#r;P4WMu{*&DIzW z5*-y4!Gc5-d6u)Woo0C(3&UB!$r+X1kxsq!6)|dO#+>-D`jny->B zIu!M{muT)7%OGQJTMa@6D*Bh_D{-ZnT6kP<7(|Uo`Z|%aE^fVyop6j4$6O6c@-Z1B z;~1k5#w-X))PWxlt+&SGF-A-AhZEu$kJOF{`n+!u`0Edb2Ua%zrFZ=F*^hkAkHiOv zu;A_U%ClE5;4HqbdM8*#`~(Y#D~uk&+cwIk{@mXj>A6@l<2a$QdQrzFBwAdd%}3N9 z4%8tlqX>ZKt9YwRg~g)5`COs~&33x$j|sxS&@pQkst=x;Gk~hX@mTm+-4G)LwIzjP z-ln==-%3?m-=3>2vn@l090|EcrWz#2l33AdfNT}I!YG)BXVErVpo!JQjf6{(EeR7F z5UlU%c?BUAH>Z5t@2*6_l@Ja$_C%vrpmR1F1xDycHsLgku*j3|1<`C4k`66oR;9Q} z_<~1A-FCb6DeczjXNU%4Rk@ME%>y(Z6YY~)tf=-P^7*B=V}9H{)+2st{JtW$6*mV6 zr@^`VAl5d>eZ8=Pn9D{ovLH*bd@Cs-gU@mM!ScM$8cmEnFSV1JJ%8N9gP2;G`v#7z z`w-xeTCn@u%AU(r`2uCBHS{ndy;S~KfB3_l35T<-?*<)cS>&h!QPIWz7JQ-6#lO(!_j6yK9y**EHjezHT=B?7Z;ZZ<+*`hhc3 z+tDk7Ginp-bh8RRiAu*W$Te0FJWwPbCLUE;GKnMiF^$gZK7sGktp_B?C@kKehjWbG z;*X_7%jFRw*nvV zr#uJ$KAkP?=!azh871cL(h{A}Loi-)Fs?3#yrXI(wzXx56mv5-899)jvBb#%BF2Jk#p@L*8ldJCj4+ zY4SVMGOghAPGO!wqzRZU zqB8R^(j@FaxrdP$VW-N_VugKOqnRJgN2D}70-5Ac`6G{__gK)r8p6I+n$G0zjW15k zw?M`D#FN_T927gcixw5rZ93ED6opOwl9fphs2mI)Cj&{hnoVf$hJ zZ1=+Ucb;;ACs@ZOVt)?Z+E0hYsq`QWl#swBN-NMYfHb~03D2UXW7ovtK&?_WSf+Eh zYGL;zuLVu2Rve-q+d~4^NCX-J`=F9>=#J*b;Zh^Uvdn2OGsZg3IP&mAxLJmC8Xq(A z6D=f6{9HCkRsMO3#+5pOm2{an+a#`%;{440pJ6PhGBKw1UkJyp5?GwfvG0&oB+w^O z#ws1-RpzKB2RqtRB<~<>X4VZW9HCOWQrH_k%xfIw1P3XK11$zyrX(0gxE(8`K3^uL zkQeKAooz_&X~q?M72wvCCeYTqm7@emb z&1{5FR)}e8ClU6mFkar>a=fsVD8kP)PYF^tbHx!=D9Gr=^OvvQc#m;X^0%sL|P~#kpQK$YQ$YVw|x?Fah>q8 z_jARv(qxN=1}axS#uEif&~mNUX^e3_vcE$R)~hOG;w#$C6Oe zE6&G*XiufI=5m5Lp{ezL`Bo&?22Vy{s~Ba@T$%?27N_B$-8N_7!C>$eNY7QKdjdXwDObp=&|?fkt1(^^9{BL_MZB2Xg524g0q>1OPI>aBuip} zHjFo0?iLd)+cdN0N@8-nGt~r9ZlizScpvIUs3C5c|)<{lSGV$Ez8o$WSa zSHz66i`CYSR^*CJl*K^2m)k?aZL&WbWhRQMh+2&%s%gcA=< z^~I^m$V4teC5pK6jIW3XFAiNiC{9I{n#3K-j!~K2iG4O1EpL;FYdSj5J_YVGR_vpG z{RFFJ6}$?+AE_?T6BXJlS$niH(qdvh0I^xUiF$lHesu{~pK~CyL8hNO;uFvHZeZ24 zdP!EqV}vbGtXZ+Lkc3oFZ(hh`UI6%l=#yPlT^|U#U7Lqe`N4 zX~*tjwc_9|rvgiix3mFIoT=mAeZ-l4q)sU3lE+u6`97>Bfx@cfcm?5f?r%(g!N>IfW`GN7Vu2CK=vBo*j)fOI50XRd8qI!U zh)-E@(BHsjyigTn3HkP(oLX8Y6rDm*?r#-s<@ynLm2huj6|?M1$b1~a3b7LB_`gDb zGp6$|>d|O0x!qb-nxiMubI2k^{00|S^$g^PLP&dw$$P_B7s*!%!=k2v)ZD?!I|r%@W>-4$ ziA{A_qE<~s>>uW$&?S2L7WEaFD(6pACAN)-8&tBCZWOK&OIfIDMR4`2)p)+~7*f!@ zvauv4<{Sqh{})$3!Bj2E_f3-m_0`1v>XS93J<4yA-eWVgCACMOpEKSj%|ceedPL4R zGqhbvfC?TOH%df3h5t}iiGtO#$&HrZ(h;L+)cmSveVV*KGH-rL&+Q;~;qx)Er(c3& z=bez}YLA)Xo`t|Y=k{6o8S`xQ<&zeMnC+fn5)eA8&rrkm71_$NJX9da9!1V=H|<%n zBlr!qe)C%F%H}RRwnh4+_JHCXWfIfea7dilmM45ScIT$}0@o}-t^xBC!B`3CcP-J% zNFXAwJ7W5Gp;f!m0>f+7XFI^$C^4?`SyC!{H8*vfivr1k^D3%Xh|rfZO-ovhs(_-3 zlqU2gSveXv)!9nvyvhuM4@uD5Q2kigbwt%zh9Nx_=xyXM2P>QK%-;laNp!lD1bEsp zQ>={NxQNh$AW3pt6cNurbPZN(F-j{! z^n~V6{y>UMZrP#s6Sc?a5)Uscscp{MVd9D>z~a*Oz>592_ivB9I%b@l*gIb5vOriG zA3ZrI&d$(nN|qH)k!sZ3dW1+(9~CjWlT)#7+I*;To2+Ltn7SI-mXT6{Y}vTZ$EF=6 z!aM35K2AO5TT>o4?-4mL>BiaIl-?g>N|;sZfex4p25)C2KIuDpFe_PEvr8Z?%MGNsV*#GjLO>_e3_V0XTR0h`PY4@=sw8_ffPEw2l` zocX%ZZj|qIo&u9^y>4`SUqf7oWxXcL%^~*dyi$@mmg$daGgsB!Hq(gvb-1}FW}^gi zbq&<2;y}_UElq~F>jsG>WY00mv#V<{gUvA4iS}t{!82ooLD6`0JzIpWSqMuW3W*x) z#~D%BWNQw?r5rW=%u{VizP;r4tL z`2x5H-AZXZyy{D7J0S>z=twOZvvF%E#c3Dy!_mzSd$#tIeoz3XOWRenaBR-+D~1$rIP>o$}S+GQqkx=e39p%kP)ZO)EEx zC^nM_gS-&^cJGGNmV%2VV2cpmZFawgs`{29BW~%@f)}=5rIE`)i3r1wF3}~C@=5L# zE(ZkEv8AFPRFGtO{$WI=xbXv5Wy1Ozv3h5@vH;>gAfs@4MFmbia?lJR8=G8#T(!EQ zPoFGRo_csQPz95o*ZY)uSVynI^SH@BQrRWd|JZ&UzmtAh@~!$+6=5-{aBwALmix8( zH0Q@Rppf?2#{jw)U>Q#%zRa|2hL^g`#9iBmaKJThvAc1gynjQdtQ zPsQCxzDCMz08vxbpDM)oRD$Cwbfb)Qpzg3vnqjXku2>kpU$mas+H` zHSid;k>NEw@s?Dn)L@w7W~5*ylwrl7{tKSDjzX*z%YYqis8o`}LvRErT7>>G-ltz? z2lS*h%qK|dr$GNfLAUL z$-q?qTwu9#bZYoXI)*G#cdo{$IMuihd!(e$OkPqm0q*dMi5~Q;PL{9+v6o73^DZG1 zIF%%kB}ddz_h69PrI|}E3JYm9)o;!Xq{KL&@eb~nW~a+DQ*H<9D`7b)h8(7e1i=Xr zDhCUFbXqfGID>xU_Pnnma8z^)AZMSY>Q>c8}sb z6HgQSLk>!sXXl= zH;diLm7~Ic8D0UWw%WPsHA&f5>LJZsX-kO5t8%%u1KF_T=Q2cFu@BHqtb?#pi#cr) zN9;BCmPy2SSq8+En1SX)nkU;fMf5PwX<=J6d*=2Q5(u!`aswEDc|{=!43m36j>vjB zN(nAhtHBTMgZxJP^}coMR@MEeYTX0Fng_0(_y_4oZA`^BxA+#@L~cX0*gmoD6fuV3 zHH6~aWkktm_K9%uk~$F*ohBWHEsN9v#^Q>LQw)}HRhXj;`)#2C$V=!*rR=z*IHYZP zj)gY?=0>)#>zI7=t&K@LFn`WA(8?&5oi=xcrB;9&{nYNK?Ajl!wlg~PTQ?^)jZg&_ z`%HIYb#>a)W*d?V)u@Ck`)!6vl|j5uc((UzaXF4`3&A;f%`zdqTUrKWd~B$7VedaY ztsuW!=Iw<+KDU#?BaYe__YmW|h&Vu6^<%l-;zPNCC_0%t!Y&@s0!{;E1#@62g8PdYPGC(QVo}HzbS3O&8bR@TUOHr&fX|hoUi`Na<3Kl4y zi$Yq=uMtM4Y_wc|7%hkdrPP{bXkoiP-|aQ?V4{YY+`e%FHnk%yseEG4S4O-y+^8C>8w z4)&f{SUSc)@P^D*sLYU8m0L}%mMDp;H}82*<$U8@u{B+6k$w7rk>4t(Qq_jA#1b*Dh}^BLy>Ol=1rYCC?{pJ}&OqAP>|om% zN=eOQIK-ef7I~m?V$Vjh)@v;duU4$GY1+|eGoJ$f6`3ZQn7}h7&ZL`T=nkPS;xS_u z_KZ}VwNkCjq^zzEXrdhNyLZN}1ycoiil5!=u}FT)|DV0LVQ$5v+PMWbCKh%zEm^jzryQ{3XXCB4{?!sHVnb<#?F_0^{ zi6X1!k#wrIn3Nwaw93MfDWWvMQG5y`p9)P8gubXKNuo^|;!JarJmyGQV4VWAooxmJ zL)%kTlLZ+k^;J6^lt{wThvBXpXnexBNVAm)N|rd8t;9>$%)knTzc%B=nWb&irK;K! zr8^-u+NivkB}wT^T)9yDx=wYX_!FzLqyjJv)?(8mQi}$}vyn3yq4`IaSFJg-t@D;z zSC?QR7I6H!s|1>Vfj$6>3{49RkH4P+lk(xO@Xrx?(YwUlPr}?{dfwyy5MLCRF)>GC zrd2GI8f&m0rI7=@|K2YlgcnFW7WwKQ-evjCHeSd7hWO- z8p=HFaHvzgim*LRWGW5JRJ(*B=}YZk{IaDcru=W!Al;AA&h(Q*-cMLhJ3>7ZG+C&a zLF3Vg$-c_>TjdI_$MBMsCAy5VRTos{jNTBXl`UJ53|)zvUQ{Q|Ny6G5xoj6bp_mD| z_2l{Ly^KUjC-B8Nd~ne*^s@(4)F}TwV1@(2x7SHbL=>hKi-zc4ixAswV!rdMX~B216^NIaq41fHU@QIXYPLQ9NB22G_o-Z`HT}3o zhBMh1VV^>lKPpmS&g|}aGvR?&O3x>`{}dBr5@J=sbd)Fir0^SJ#f08qwPDHPv{>#b zt0y#pBUdIal{4U12XV~m@Y86S%K>uA0TfYQ{W3suEip!w*EA}@iCcie`vEAw2=ttv zmt4n^U8mS)ydsMW{Fd+KJ1gHEk}rXok_=gLVhjUlDX47OW>S{1?+abuNPg4yv&c&k zm2QkderJ2G4WF2!J30>6+w#=pbw?K=!rP=_T8IUGN{sj$b7<;`cS_+lQl6Ktj#e4K zrVbkrI07Gi?}RqB0=*D31Qf+h@i8FJfpe8Hk>y391vBkwL|QQV8ff)X8Imz0#-$OAW&KU$ zx;0({F=Aca**S3sUAW2y;-2%@^$mKV&{+=KQHq3I;76*uVzAlENscdv06*C z@p5gw+iV;yG^L(>q2I2Fa}lr4IIQOJNIsR^o_K zg&~o}Mp?}4BbauQ<2Sy_eNe$F#2{IKMpnlF}A zGw>RzZjl-1yab{OP+j40#b4v^a5H3)s#!tFf=L+=F*#Re+=8`IC2(JVk3$#Tq*l|# zoyUe%@lLS`!<{_4?ur8$?kB<|{iU`R(`XHSl4ZAv=eDtNo1o5W%ZN%Dv^S$RSx|*3R2@J3eu0MYBE~F|tU!)X zEY{h3T{w79cV?xo=|e7EC5-_UAJiCJE&8lIL6T;RwR~Y1X3g&{7UKJRoR;Ee+c}%U zug`z|*Ls{*$}{|tyfU>&+E40)`3+vbi+X}K6t?kc73xH`ND5WjaNyNK9>`)PqS2xf zw`f@qD;Bz>sFDmY^fxjUtcHmvmaz5TXZHKjA=M8vn4-2fLwlbxD7U}|=l`$uh+;hh z1mKJeeY0Xviq5&oa;rSI74OpqEqGF|vnW~V{ys%DCYi#I$a=pm9sms4ZTGxX)t>lp z~X*_{$&P$h)+7LlJ6Ep{~E!Ni*BlYCq6#T7@zU8v%5# zXpY4`C7$`7D345WRb=BMJ@jDa(|xv63KY3R5v~izg!^8mq-(Ch7b2T#jbm<`&7i{l zOP-Rb80Do`(7>7=r~lDar}3h>s!4SbjN7N>;{uKhZJJzfc6ZbF$s(^w*y6UY zTWtUawdf%5@ev7m8h}srIwI5S=ytkH>MC6Zqd!7=4$KP*Utr0QN4%tl8kEnd0dM$3 zx+zL0bWXoN`|}#z^W$HV#Z3CtpwU3IVy%ZP25(G97`>mYP#}T{S9e9hDTgqzzlOtP zb-BA@6JoaGJPLDEySJA(A{NWQ@zZR_3A@wEtW_K)Pm1juxCkB==n1Yu#n z(n0p@`(#DAN%_w|n}2?r@8kzhg{B-$oMMd#1tG{ZSo89ie->Yo05QK}*eWCqhr?*9 zI7bbwXv((W;vNCt_b?$WFfEGZ>6}|4-*zH-&^9%i8?c1h-B7cQ@zt`(T15z0ijEmL zns%MwY0ZN5Uh{Gq{)Pd#Y4dwXSA1r@(l1|(19)U!Qt}^~u zT_xYoX`VIN=SIh#`w|{zZ(1{j?4XCkV-+CWF?czLx+3}zk<%6%4LMV~hQYExVTJyvsXI)LZ$CPy#?Sc+t+eC#LE9BuG zaOq+FM!gPQ5`Qh;QE7A>g7;O=raH(8O(yazgR^n^v~zxe+8wa(gm-NvR}CEk>n5pc#)FSeat#xi!`-4TO|Y&zwbjlLUXxDjg<<>r z$0pPRI`QC$EYc?64eC$PvQCBc?r}jNxQFfszVF^c|0U33_n@9uZ(#Jppna{D^3=7< zX52W)AiVD)1l%dTUgsds8}16hy{NJ@Y zYF7D1@k4ambg3w=>$Nuv@mtf)f`?U3ane*v36R=cOm^!X=1Nhey6ra;r$c`2(&K^$ zW$m`ygN!A!lU_MjplT-EujUENm|W+CF2F|MB0cK$`h611`g*HUK|)H^#BC~&6KPg9 z0b|%kBx{QmuI&m-vS3brE#fp0MZ6ri-5h^KE17Y~xZ^&xnuWAO$h@ivX5=dy>Y`BLdg1 zkGuiR8>IG`d@aCU&9?V={zu zKROzST_z#WCIhBCq05!A_tdD;@eG;?YzZh6XC{Z8@e}k)R%>ziDS~zfelNB&fXcRI z@gi<)6(c1c?|DbuXq4_n(p0knGbZ5|`oi2_C#`O_*s=Y^wosI+MqK=^yidhVth`n0 zRefS<{2#u4;cv&^xeUdt-9+07lw+n`az$c62wDT2q*!FJI)48_hA$6vPwWZp@*$CT zc>YHV<@*2(4gow8Q*~Azi7dPHKJd121kwAJHI`Yac5!X5iZ=EAQ*5m2>r44)l78$%luydRQe+*lghnKGwpO0Hxw&I==&oPosRA zq83%>UN&fNnTit)F43w9vKJg_LxKzZ7Ew3dZL>|z!_>W@ddJy#0JK2LHX+Nyl;stA z8BS&W0ASf^;MG~Jj;LTJMil6hBVwdD+S_BsTAlSuFBkT2Hp0Mur#Y`zk4n7MV3DC0 zH*{&u7E{(altJb>k${}Z)pd&iV?3b%tlgA<&V_N~d{)PKvx|;t0V<|EnUv zp4ZWeBPfNv+W9mlx=lnq?zWv<_O zc6o~TOiDDcOVAc2<+awWPGYJM%n1%%8hz7|Sy=e^WjW6#(e( zYN{;u{DM9;7p3#OHk9Ylb(hP!<)335t;6oPq0G+od3hPkQD_e zRO6CaDc9{v7IVJgKOx%*`_pfAbm-Q|iXwwV^X0svhjfUm1op`YpS2<3s&j4wpGmi)Nc)=qgI^f+rl&pYLDj&u*LFv_|_Ln98@< zRb~H3S`uyfv)Ucd(FUrs+7y7K(<)(y|2Xi9ul3dJn689z)U~Hk%Ga?*TRpP60jGy} z1dos4NQVRtfW*&KMuYV=)da{Ei=v%Z$q>g5}Ox zx^k*fsx~DlglpNp%zc)7UHCxvIOMTTU&t0`-Lv>AVXHQqQ$TA=??tkoCVC$qXpIr z$;rvS;es0W{o~@%n%77=!<1ye6f}bUa$kenzB_nG-14}TFJ}t!t9j_5cl44aQt1Fw zr$iev4!q+LEJoWzt89@Uh1Nko{6pFsN;0m&Z`@{75C<)WhL^7;->>r=t#?bx`3tLh zpYU14ClmQ1Ja+bl>7hx0HQrrHOEB260_j96z`0nN<@aMi~8q&qxz zb5JYv+rBWmh@?iuEIDPb!}3M2o>inWyD~7w?CiYXbwdAQChPO)^#^CO8D|hDw7K1n z`9By26^!pFK#^zA!4(juM3Lr?8v#~9$w@hS(>{b*wYj#)D+j4T{a9RKg| z*^J!+C>KfK>&BQXN;in!xEt1icH|VGD6+!9dHiCYMY*KJdcOk|L$4|y;EuVC`XTJ zk*UD2SqIB@mx?t;nrYBr=RYk)tniV-CYJv~L`tLK3mxkvuCHfslYdZ{Syi@L) zW^&QlF-+anxY`uCD3_m}%?j=oyk)Ss;-)6rwC5<1UAvaC6lZ1P9i+@v)hsgCQ*m0K z89fkO>B?FdrmYr8!P?D%;1)d`g)= zPRc{l% zjWR)vl(!%yZWD>KMQb${&K9;S@7PYEs-B1p+Vg$3B<*CDiU+C1^=1M)6P(*xc8gIiA7G>gf4Hs&vO z*vWnN$wNLaR1Sb{jqciQJT~t0^q|`o3pLpC`XJR_`@~v5J}{UEczbX>FW|Is#)w8b z8+nwMqaciP9!~Y~pl4ZZ-Ae`xY+7|$$0!|+@{xkyG7f8E{G6eVmYR1B4eId^8+zv> zUN-93=stGE>XSvC<$Mr6HT=xaUE~S8Jq^N(t`h{+#daF8%uB=rU!;`3_i8J4%*wmP zsi#zD{dD6)4K(GMyvv_D-mELKngWmJJ5k#~GZmFsQw>^Zz51oHbL!Q${~qm%J=ym zPJ&1`RdmT3!KR4bN3y%c7TV#VIA9eIZVThb$t~^*oDEutX^v-(-jVe5vevB#Lrw0< z2BkskfS%iDi8~PnDvSHq@3M`m%0$uOl;wZNsdGh97{A}|InQVdku8Y;Y(SI0YmTS; zfBv(SWD$RaTA&90>cQ5om2Iw@R)G?QJDGj{Av6(OMf2YR}bbN-mx`F7JtMSDc9O3`cJPMZBtsN(H z!(-D;&^VZdb-G=z;XuiO_ww{^y4Y{u*Cc`n1Mi`Ub6{Dc(Y=V&c6<2ahoTNXoYwd@ z1V?8%WYVnseh7oe17sR!@27R%8Ux*1v@793Ev-z4<^@i|&FpdX*jRR;mc0rsEVQdv1BObseT;CK9@lEdz^WniHcmiFv zfl}3i;;pK(xVnB}>_-27A({2)i@LA{1d0K!tnQ2ur zusRT)+Lm(Kpo&ZE60 zkiU1QKM21n%8AaZY%!Cm;Qq1&J?tI)LC27&LyJx-2067iVp)Jkq^*$8L77G;@+soG zs1AkFkQ1w_<~%4DLM3wWUDl!Ur}<{RQjSiJ$Yo~^L`da>R4e?232A_R5N#(EZgm~q z$>ckF1{?Ib!h6M@Doo87G2&Ue`W!7QkaCPvzQ+eH4AU*PWc8Tp+)kvga`EC;rH20e zcIW(^o~>@-zX94JhsB%I_9~}uz7qfNTcHA@r0&4?C%x-v)A{}GcZ)1=esgZSFu;dT z#U~s`hTB}mkKg@=i&}G$LeBr%L|Zs&Z$-%t1H(c@69QyI!Z^2W6y>K_N-)`i>`aPk zLns(QJu(#P-c+Pi zMqi4;fIwea@>14bmbf(U?RV2GpK{#7dwk4okjQt{_or2~oZfNu-4dWPCgX3oKgFY` zb9zU`ZzYJ@9X(Nyghj`5g4g`7m0<KEXU51|^OlnxB#CSNaBxLXDe_ciX`?oJ|i}-r8RwL1pN|n%rT! z@cqRwg@2$y_lI8U1;aE62T3$ujQgGknzlcO-{N2x54~g&&eQp56enSS7>7|EaH^D* zV!11N(Fy{vi_hOauQg5qzS8UxO*1>EHuPc~P=} zOGN_z4Hrog48t_^`~3l29$eS!yTd33vcM;4I`@Zgp;-)}(O{7D7d0g}0D2uEXkUHY zwxR>NvZrvbj9BizTdi-fj8_z61*-+#A+mUnhY=fuNtIA<7c_!N1`a2;lAt863vg&&&pQLAE7@d$7RMJfwC|N(QEaz9!Ae_6u(;4@7{e-gtzk_p5{3fJg z?^b=J|At^5h=#%>WThhebC4UZq#WyZSe}=bXc7{=ORI8I$5&8371@hV(!r)gTL`Ol zy1)BClSQtAjc*fnf)N};_g?1n4)Zvtau9EDbSrM!Gbbf16=sG}Sq?Q}#x8jj7v5=l zt;vxsSJ5g$0B#uny9@A@vAcSyOW+G^@fD6{Uj-o>L6+p#0J zitK3D{wIz)lu+8pyarC&mf9{ahltd=Emjd7?;e z$qq?&#~MYe+FY&CLTn!7vooP)l~=@4M65|9ttBgJ$2Heu&IR8NrgsMs>k5>9sLrdp z3LPf7lglkrnQ&qKvrRm?jTY!@9qqVwRZPMFN4v?dKqx`uc<=pt}dHF*goXH3UivJbrJ8!zG;gJ zAbYr3)>UsiGJ&3g*^rFD^N-0yp#jaCX6pBkefpL_WxRG{b+&MHY(Zar&QoK%)ul%~ zf-Ra>&}y)8Un@cKZ+-!<@_0k$fN!GZ60fwX5IEQU=2sAW(GZ80@>1T3tbCj>KpO;Q z$9j=r)I8PrcCebcd>mJgiELb-Cs)yXO6{(~b=3rJ&^Jm)xp-2l28mSG`Q-WPeb;&O zw3AMt!8!bO(IM0O8~$G@chipk=5r(pXjq#2J=PDa6>lLJb5GfR=othRiSE&8QEw!# z@X-}cECVdxz$1!6!|<_PcAfBqji6zxNK}|q@c1DE?k&xz<(G!i>iF0e^Efr;AukSB ziTr-++^n(e!g>P@u{2k76WwuS&NfJM)ljZt`>yF$c z^jd|bsP`K|8;x#MbR(SsA}*tC%unv38rXhCljT>kwXrVo1T79sxts!Dg<6PFUh>n@ z$^SY^lO3pS^oX_JQpzeC8<1A847n>Ox5;9^OK7IF1bWgdRzc|tEL^2IIqz3Fj8}Gn ztkS=ewh7Tp>*CEUH4>_0DC`gis&kWh%G8jwamrm}Yzy>Zdy&?y-=wc85V;(-rhHNYtqf_oBJ6zBY9Hlxu3zQ|?FM_REu0J9d55i^A}u-I0F+v6;o| zl|PwWMfp{YFYFO%$uxkgEcjw#J|G2ya>qbTrS`+qoU& z*uU56^I!J~=&5x|eE(iRkw#O>!@R03y*E0-b^Hld{B-^bP%%mi4s$gYe}*3X*($4J zjLQ$ic0aXWHMYc&KlaG(x+DeXN+jt;y^mCoFrw(s3 zO0w`&HWV5VQLHkhKb^1E)6F)CGfXR%3#l%&Z(OyJvZ55{{_>*hT!Tsq7r;I zi!n$OOj)IZ*>Dn@6Py&LK*`?g&U%$a;g1ZSk)}0MuhhCIs<=cEMGTh+VbB0;G#kig zYpJdq2+JG+IY;im2&3$MrA1Y1G=*>Hzj5*yGgvmrMX^WmK8k%aKh|d;6g;& zE8_oFKHxi_F+hz@1fBHoYi_PFJoC!()88cnLi0Oe>agL=qRh>6-ZVsS>k5PSNYwkxHeKVGfiK#ofz z4s2Q%&$%?Uwk!C$w1g^;2wLkK#wLJT@rRC!OtK$(vL}+pZRy)9ZH5NoR%TRqnHe+t zX}zI`J}erADS|{r(v5O7)#g-KiJ*CTE>b2`acPL=Ly|wEL=_D(AN%ia;CNZzOa~z{ z<0uRV!!UG*!O$J|``*ACloWg=*)cGaM=-KT7x2oiDM)=GaaeZiD6WcQQz+mWFAOS^ zNtQQVR|r*F+ATTDMI7$A0lO^|Q9YCDo~a_UR2OB5#W5+c2-UNw{C;I)dg;_S+^#VmD#u8Y00yC6}&^2aLW+KW{ zrm<&rM{;O+7T?O9`LbzK>U-Fx0hsj2Ga3tK}_G<(3rF{mROr%R6A^RAoR}hJR&Sf}Sw0j$!Bsi*MOLRob-wu*(K){zT%gkq7^w3;6iQ5@Io8aHrSFVptfpxS%*mu{zKqUE|!9ct;n2 z6X$pJH;Z}_M^Ayrvgd>w3G3df6jXXZcm9UQMm& zK%}wpxFP|jt`1o>Dtc~uZ}0r%i8BaGzC3gYuwHxSnC3;eY1gG2t->x7ia_?n9ZqWw z!qk!uLhB+`ddu4i8L(Pi2($wPKi z?DN0QFPf5Id~|uq^EarWPbNT?y5s@v-47(ND4)Jh7H}}zK@NlVhDr@&zRVVNCS1>J zZ^f1%ucJ+!K{#x05Z0h&HGVy=+ujH)!C}=^RAXvD_K$GDDTAz==6HBKrPFntJ5MkQ z+GmB3;J6rZUD}NPJ=kVhW0?;}gL^<*-PQP51wng1APJ4@Gt>YajoRl3kpMw>)_@xf zhsVzk!A;+1QOzbEj*sAKF5$@Ac(=tnGlm${xgm|l;jzyq-)+~|PXP3jmrtLPBo;%8 zv`00sN$&92Of0a?xxjl3L@#X5Rt%BQysxVuby4ZLGr$`r_^#d~f) zxL2YX$!X2N2cu)14h!I(>+*MI&E5lIpUi5sg-+sf` z5PuLqe(2s~t7MH74f;pat7e$;3~Pov=pUPqNS%$%fQRE__ae!Q+Xyd3bwJ0#v9x2% zHbM=L7i|S@n<4v0mL@Z>+YGutI2Lr%A?k(0qmjVy$hTi6heR(m3N)n(IyFP}-Qa#x zFCg_=E7ykl#^N8<;1mjOJIh&pMB#Unr@q)BI|m zrb{%V;%C3^v&B0+Ngqp-z>_y!M|%--Sfegni;Mg`WLZ_&@yQ#Jmf2HHi$1g24Bc0X z57HI(Em??+_7*5Y0=I;ZhRMQQL$%r*;a*2oGwYe9Nm- z){c(8y26W)zw8QFdUL(K4F$4g2?YfNg^2Sv7xzSjjKSJnt*OpnoNTtqg1rARXK(Z# zR*D|uYS7uILL%9BJ~XZO=@p>^lfWVfqn&up;Kciz4NOqJY}iQhoHzQ!POa@;x;ras zNlJB{piHbe(uor?MZZJKugsmSRRaeS`IPQ@aABp4KplX3@^jaDzIy+(^WSWp)dDg& z7UO3|>Cd|Cl+tIv!n`M0w4}!yW#PY0t|t@Ja+0b)Fnf666VAEO`!SalY_MEgP1XPk zU;56Rl*nH-R2P3h(~@=iKAho1%QaA+VkR<5lNKkp-2&bpns2hs?^)LY-pQP=Tkuc6 z>x>TZPu9Rdl#}{@7#9J4{xyvBsfkXdJB4eF^~+2vtwrST$qQoV_uJpg%Ep`#bX!s| zGTq;c)CoIBMO|m!#7T1KCylZQ<2rsjmbi72;nRqMe;Zi~^6@TjMZ%AyR#rzYZRg*U zX0`k9-egOvM?1%?<6C;PSnRL&OH#PF3Xv!Yvek)0DIqbs8PBj%vU1;22a&?Nm6A@V>s0sZ5IeyD*{l9PAMbmzg*6>-5klu=BjxDuqVBBXgqm zbLz}>=Jk4r+zuA>NKf!Z{p=~Q5!LrN(VF?zX0joSuQv{A8tctrz9*LHYMaS`f+a^V z^8)(UiMukPd-{>P_v-%9J%ouu{ZuAp_lj@GNYwzOW|Jt(cq$y(bG`}dC`_BZq@l5qZU zjijVkM=P#?de1A5I<{5cv|>o$9}r!h5K5wnYy z9K)a~R^$f}DdPEZoRXMo;B`>FRQGC(D;%fjtM&- z=}>;Cg91apypV=XzZO<0xbH*rd+Xd%@`Jc#Qd2cI*A(Dv5i}%k?f>h`JVL`VPD$6eCfQk(>4Q9pQw)QMwTkw19Y8 z?UKu6n|C=Jj4ly(TGim)-G=Tud`-~{lHj~4x4#^0xxUO6n9Q9NI2m*V6M&8~y$aki z;3AQw*@C_ir3!M9^d#?LwAS5v&wj@djiF!Lioxg`oGMPROMOJ%J2}7e8TxM)4pOs= zazT%KU&7mne0*>TtmnEQIE#Dyqf@iVWkY}#@bgW}ElfcFTiLtIeykibCeTu7n@`R_ z-MlZSx94%J7bAEFnT5r;vj7CIuSE^}EMKoI#A>%W%FVG@4h*HZh{{pwc^_r&Bf4!w z+e=E2rDf|BljpmG2&gFT&P9*)RurV6QcAWaHop5gXG=rzz#$Gc*fYtNl;mahE^%g0 zX1w23!A7x$87^YR2QiH;>Uog8KuBN=eOw8)LL7*PbzLgZs0`qt?9NAQle%3pjq*i8 zHAJ-iVqx2+4Wz@+w-U5=-irdtmgSTt5+?^|^7PbSR4Nhr~&P*%eU-ux#M^=rpO(n%?hL?Gj{!y%*iW9loX^)Y~g4eVdy zkDQO-6wpVyj{KFP!cMyNo!@@`j7Y)>t#|x9D$pS+s$g2%#e&K^T+)lFLS*ml=QW^h z5o?wZIK$gwGBN%X*#2*xj3x9`|C1YOYM3?3@hb#b(bbF-%Q&vs!&nzV->`299!^w@ zoB0_pkf2LAGtq-m+C>ig#gNLSD_kP{n-Yls{N}sU5vLJnK0htSDlVLA*N|oeEKMh3 zeu@{Gycpp%JzIBhPEqDJz0hKP)53Pax~?X-m&Dl zKpdZ6@ZJeND z$9O}8o8btqg?*Qvafu~H@NWozhgjDdi&_ux5=q6cJ-Sx<<1RzOs@G`A2sObm!Y>gD zX6xm`*PaXiGr&9OfT824<34qC!af(i9?=CAZ>a8=YiS2Ce(3S<K*9}93(1#Wl9 zv%?97qB1wZ!SdaqSS!}t#u?!nag_c@eBn`5ZWtj%jKJ?fUmFF#7~sTwT8QUTH~4Mn z^FR91<(lA#9>f_!@vtcP5I_baQ6wBIeqmt&HC}XadGME3xyf`&Q{GoE@eWoL# zA{1*;{{p5Kbdh{NnP3u|&FBXLM{?GX_$p8w zgp((}@=WiF`rEGAMsl(V-;+?afpjZP<(Aw!O=T%grg5#jhxBoq@9@@{L8~JsrDALz zVq$bfk$m!ilPu&-<1DK}2!B4wd1MZOlHo`0CukVRL7S&3LRe$e}tKXi1X~Bk1=x)?M!>fqpZX`#<_Nn<4kgm{QV)sx+T=F zDy4MBEbCA$WO|+Yb)2C8bmweE@c&WHTr-mKKc~lkPLE?wk0aUoKPSn5PLkt=RS^{3 zY^zbOv>6pgthL#c;hO={mh9<8v}2K?v8wQE%{1riDa=PKoeOETo{n|RA2}aD(G+lW z{G_y)Y|9y8aR-&(HH5*KG_-}m9AJr$nooUrg>_y=cts0Vy3gDScX5)4Ze{M%ZGv94 zl%HvC>8wWy$j>vqQ>HJ`8bTm{Xsq+Es5d#HBZf*Z2K;R$iEMlNnk}+!;bGfmcl=9H zT=v)p#`#SkiF{xb7d<|JfOd=|oQ`bjSdHV8*5ZKElWci}!;`s^a>s6KZ>Iz6ZO9=| zkBT}3eA@N4UQ&Iof(Gi=t?7@kBt0jBeGyIPl3dTBHV?VB!%I^c8LSH`Vsb4qCEs69 zH(27)b5(4v3L^L&>(TNP(w%*}T6fqhgLX3&&gu7=tD2*9aBnk1*wr-?>#%PQrH3FE z2l#J4e}Umu&U#PbJXBOPFJghsMbspgs9D<~u6g(cmL`qv-$$X{23ae7jG3a6&6 ztn+7V4TBhTpheF)f4n|~cDxK;c zk<3ts%`Ve*IW><+#$*D`@+tYO)TLz_-xn}oJ>uWFAah;SrF)|z%T>Mly3Cti`+PVi zY^+jU!f}?IP$&rIgL!X zLRK9Be?*Q=_C33fZh0Rz6$KszN3b8mJ;-*WaM&Id3^Nf0)~5@sur3Oi!|tg|xjAmn zfs!}mUL+n78QS68j;EXbeEKfAt4T68_K(Q>C&$`slY0*5dBLDP@(NiyZIzU$eGj}~`t!VidH9cKq+r>VEk4cfq zAEA?FPKDgWIvAK-)#0>ZLSc%e6wwqY#cuMupZEhIak@?(E%Az`Qi6~^Gv#7%uj#uN z##fl>TUeJr$Qo{<_%4q8?Ek!Z{>}8+x8J^c{`&Rw`{ytJ^5(By=i48Dn7)4g({%dH zk1yZ6diKp5)#4Y>hJSeW|4hGo@%;O5r@uV={^#c!*xfc-?35IrOui8xeS@F8h($x5 zY>_3OO8l_pBEbX%7)Hx2VZ$x61?@SQE43>=>N+ppZ{GdTb$+6c{%>g11y$-Nulb;rc+uU35GMOG_k zpr51i27zB^t5vcU$@7h326k0k%X}{_{}z{5{#(L!Z7$cfO1L(H6x0pH5-2i>#<2`h zuYBwE7}UYgp~GJpTIfEFCUtQce6#%Lu%vqV;^TonH%Sp>ht ziI&fbcZBnf#7DAQ^f;FY4v2xd94*DsN{a+WkaZyu=vI{($7n$5hAl8DZzlz}lpPw0 zSx8;)ob;eMnmsEOCdxkGjGQlX=X|D1joC$Qb{2s<*x3~5vH%SSW}II|Ta0E*;P0J? zoyBK<3C1SwHyiv+(%=NcIih9y_H)UtBsI10 z$rn8>H-drOM?O}gmC%hwPt7)Rw4NcV42+4oMJnsd+s`Fnn3{~~XMs@AMHlO3xd3Be zu+BteXu<>IdL8eVd)PUMqmlxKul5>eP~7{AZ-FDq?H=Jv8vxfhtkP}z)Av8Wp5luN z!T`v64?qcgVwou6_S(V21v6E_pYWGCt-IcG*C_^Q5_7mC1W9){Ya~;ifihw6iZ!+q zCPPU_3?Y={81R?y(Sy}_fcvt=6$llMv)+nYqI{NMy&noO(+3mr<3el|gFm`+xNn==C7YBDJfuO{MSgQ_>2ycOr~$ zJ;xK8CcDSlWJ~&jBsm4bmk*S(xQBVb0l$Mwd$G}2rkBqF+HX%w`|NLtBX0i2`Nrb| z9d^+>oDbaM)OUdATUCq}BN&$NDLfkpbSK1@F@!|AARiN%CB@}-f4zYLm`)R;+uh&s z_44-b0q(rvV+Sj^Da~8ow70UB6v^b$)6U&AhvB#6fObnRKKPFy8r8?(Hq%jUE!D31 zC6f@<(Qhus<*R&obkEDV^2D3r$wq5t~&+o@}Ge&hNFN|C-p!P2y z^zc?Xy>>d{SXf-G;ig+U6nI0N+;7gM6_oz|`=KAVbNtac7HoMPX6jT=xPtdY~@m!gaQzlp*4$-YVHhp|Y5%`FT|NMW6q{HPI5b+4~5endDROZkr_2?Rve_ z`r#_zKbBRfCULS^uJ4kqu@SRtOb`JYYTmqL`PU($n7u5kp&y`s%^%{2lRxY+sr)ou zO+iQCT=?cU(e|=o+7*mjX7k9hs7E!emr0Zs|DhlGJN~x@b#-T2-Rb@N>FMcJN6}iY zyz9JwM@wxwc>mt?)6nlZ=Hq3}ImfENaJc1M4OlW?p>K=Jjg$<%atuI4jGyTr_3$H0 z44QtNo;i*7^->;>^YVZ_W$HYssCC+R7bOSy#&?6FsX29ZiJbLd1iVF2;ve*IBCC|R z9n6=};@y0GOE>A%ysEIip3^lCO?B&4ar@~xo!3c1-Yb~?Yq`ETDP5M!DqY1?-m#e4 zb#IA|hWV2dT7`)hop>3YDu_fjSDhR}3}3+X8weRjmz)byza=U=2o^*()nkMa#T8nWyC6MB?bX z(m>aM7Pj#z!<;c%CldB_q6Q$6%2C4~D@Wz6f_Yd>E@-d#lF^t!csj}oZ70H<3QfF+ z*%fKk#H5J7lU2UwtjU1D1lD@h}GLlH{n#y_ZqSZAEyJaS!9F4NHy0E z#dMewz$)=+T$;VmGYDY0D7x}bMV_*`P3bA5oNus&kgPj?XoxXI=k`<@sSCeTi+#Pz z1VmrFxj?F4*H4_>YU+9tVkBYNXY22!YZG@{8cQZv^wiZ z_Tbx0^=%IQK3AM>Q+a!1b3hlgCr_EfPkSD{=y~{-r-7K_ZNdY(0xV5$wQh&D9(x5s za0E8KNd4P3yFx<1G~HX@PlxFuj?*YuBtbGt-Nj;*jQn^wABXVyFmxmME*TEfQ4&Uj zAc=;f$PdP0;Kz$-u8GS#gy)7sZ_ppci9a9s-XMyT!J_XDVtlJUDb)`a!wh()<$&+9M7gJeAL16X02#DhNkw?Fj8;lLky z!C*d$-5^>F!@<~d$3u6R_LDI5#_l2lE~lYut~=B~f! zN1;2K57P0VKk5(WgD3>Bt{=O@AnwmCi`pH%CN~b^kvC7~t~(wLgJeGRU~qr9NWF#k01(lClcKc0`{{wN9t zQ5t*W5zsyH$L=`xfYbx{AHZZ354>>@S=J=1c}FbDo5zF2+zS$Sz8EbAiM#NCK>(fc zFdZju6wU_=AXMVR?BF-}#9xHTARR@pszn%A2o<@3pDc!R-&^?ecpmgqBw5lQhr>Y# ztd=Ch(O?nI{b4^z(jaxipg&Is(cGVpN4{@al(0%3v!(Qj&fT~&`Nq%2ZiP}X(O?uu zusepypr4N2`5+EQ(PA(fq>FKy2GO`51MXmXZs@~jVHgC%Vd(dh!5|2=MQOsX&|6UH zQVN^Cn!=JhaY`{h!8{q4(_Vbg{?>oj?A}!j>S9et;jW?2 z&fY~cqgVUryHf9@ncJ(Kbgn>A4F`jP8v@r3BG(UH z+>D9qrBQznE=GNC2m}CX5D!H2IPjFm*@-cmVixyM(>49r0IJgZ2q+3o28*SUw-}5^qy8vPy=Xl4hVCK` z;Al(3c?t(u?8XB(_26&--3FwE?~lAB8MyOckb-0|^>$;eXZM<(75kRJ1ry13rY@Av zV5m;2f=85Vtj(aHaXMPQ1pnJ6N8u0mo(}ti$P0tbHD3A7v!xWRP3oG$enb)6Vs?uw zxO(hv5>ca0xTdlS$kfie@ME`&ox(C5JtT#JCKh_sYm&_eW{5g^&84FMka&FAp0w3BLd?i}#7DkCYbW z$lK6+q@4&dlvm)a;)=_8?f)k4sdFyXLsva%)E4y#)+u`(p?4757sx_SKDR|75$mYR zPx!=?!q*5I0FSpz3F~+vyC>mcFlrpRn=1u-@CpxpTg9#BW{k%dPrI{|!M@S<^_2 zZ*wA+F-a9x4XUi_59M!|j6h>ltkU<9%o?;}R`xzD+ijZos|2gcR3_MJfc0STu>sck z6)3`kL&0zU5rL)UH~yU7_k{^I15IjmSr@uDaE}P36zWHwE!S|2uGa87DiAe+yr734 z4SK)Ie%&XBK=<9?h`>?-TERr}E^0yr`+j(QlqNwYprk^yTmxM7?v45Va*4H1wl$zf z<8gb?6k0HqF@J|(54&xjbx~zd1j@n17mk=Qt9|xc!Kuud}Fz6r8HPwM? zfR9GUb9?F416NVcFhegqeuQYVkxSrLGQ1nqzz>4s8FJ~P99w!*5gXJr|AF5=RJJJE zJY{iN6I4BP+jF{k>#2#Hc7yi&zwsJX7nywo5=!v%{hTtY)IbLQc$k?_DFY91%==_f zmkz`8+e?AcV3gaW4sJMVkA8^{21}O@%+P{ypmlNJ?h!KA4*q=vdjEV`8)+UM5qY0q zuir`jJ{Su>8n$N~aRQakX|)K7<6dmDO}O9{fYpEs z)GV&{t9N-hh+RH)&oeWPLFq^@?gvSfqTwmKhB=q=1AHeMeGhGZ5>0f&Z`qr3GLb!A zEB{Wl`zDi@^4G4TZI;R8C;sF6^`&mT-bSlDT5vGe?smF`TPa)>CzCg~ulUze4uv9j zgMM-AI?s1k;&)rNg5G^Ap#EAjJih$#&GYGBpS}Jo z{Pyyj=i0PYlb>F__~jY2LO9>Oc=h@XL(zb|e)0W}&%Z5TS-$%D`|n>sw^z0Set!Al zfB*bk@BZD-FTZ*7;>VZMH?N+jMqHw@Ufs?Ypm`uL+->kp)e&9c4LJ7&wzz6cz z*PHc9HGtcCGELGH_zCFs4eaq9#+1KatT#zq$ts~`kRZpR=9Ce?v52O{h}34~Po@DZ zV+(BkLFJY}#~Ivl<*le^(1_;wdOM$HEAicwA_5UvIW11)bvOouo(jU2e!}7sE3-tr z`SIHyC(bs(I0983H(Rk|TDHXqb6EHilf?0<-z{d=C2vGWNiJDzm!5ir<)1AKq9rqn z@l8*n4GqGkTA^28ZEsWJR zS%JRec3j&}3qak$kkuMJMFq4LLwpHzAd?k zmR0wT(koPmsd@aWmU?)-!C-B}BF@W086gpBoD17wSvhN~1pS6rh-IJgk^;hvmRcYj zzCxa}eBL7n4Cc*MAu9pTr27ewD{`zysY~v>#gtKSYJR>Bx?eAo;(HatOiTcWFwvA? z3K|Q-!VIHinQ?Wb1uS!2|eiLT=z}X%ozaX{{F*+F%&+{g5O#3Mw`e7VL4l(q8?UAVP5QxXnsw{|$5-p*RU zztS->TTwyn)g_MrOGjT#UJ5LYwljkI$9m3l<{1DEF-!1PNAllrE$esCrU)U3Hqa8| zq9n)JaX^HiC1I|3xh8Y^JV>!ZQO0}@@Z&{9%1(hjNePfJ>+L(9rPFysjCq5#YL__* zF(402gm_O-iDDYJ$&wSU0GPL*FRu8NNV_8BZ$EcVPXRy*E0IsYJP3fsEcV!I733$3L_0htRSkLYHU|W3mvCp1yhfo4g!8W80Ts<55J0gDiz^HQVA@bj zBMwY8ltDRxu`|+IQc}i%3fvG@z)T9Ch=uSNgrPZ%v|g!RiCEc7Mk#%I6}@LHk>~E6 zGmi*Mak5U++}MB}{*U84kF(uGJdm!|&JvZ=Ef=xpG!q#3rFdBi0~z#yEV81k3}rUj z-O3S)^7eOn(2~v$n9&Ejz^vZ^bm3R5+=3~UQsB2CpbU_~&r-b5_r6)4C%M_kgoY9;%f6j7Alq6|lLe)h``UBl6NMiV3fhHB&P zc4kb4kSNDcQU}3M^=*;RihU7EsL54UmRk{32i%w3ZkEw15)x7Z#%JQ)biLofDMv0R zaO`e-tF6dmawpgWT7Cx~kS3q+F}cYtqu#cP>+JFh6JHB%;F{_?j)b||QUFe#k+~e^ zLK0YxK|FkmX@}79y0R*f5evhwI4{X+54W2wt19@0D|tX{;Z7_w8R4;~mW;@}PEKm) zuTw!nz`eg9pLcQ+p~VOm&iC`{Y$pYq9HmaWotUCnF#{V1m0e^e_lqdmjehj-Nue_I zu(t?Sy4-_W1j?J?ZU@!)HESwjRsvu;-{AP8VVRh@xOef}Tx8@PMQ=%ZF zSS_!N`=Y|Iu{c2LU&U>SlZgRLjhTrlNdI7VK;o00rgn*pND-9mNVZ2ZDL5RYj0%Vv zmD|gx!Pcx#f?tuv|d&0w#6p2*T3*fJA<8@q`APHwfUu$Qnhx1Vmer4pdD*e z@guMKEjCP*&1(=Vu>aOJPABZTIR5yp4OyrK?9A2 zPB+=dqXd@Dj9jE}T~RI`)KI+63Z+v6tHH78oRMw{@ zIm%P(7C@vZEM_v9fLhbx1~ls)m$0hAM2#m;hn6di!3UqdEGBr9?g+1D23AiW!5G(| zp~5*?d|nFb5jnKQ10MitVpZr)&(KrY8&S3@xbQ*Pw=&h6Q@z4a;3Myg>GT@5 zJ^ngRxUb<8uZ)ZaT;J8m(ZF z$k^bX6j$7ecVy?it2CeYUacxkb5`XJ=@CMluyol5jNCeyKnTc0*eMnZk z*6zLcUQHLTwu^Z1Max+VtAlCMle0Fstmmi!FZOJiV{G6`65l+Rj7M_5q8F#P?SWi& z*Zc`I|BA_k&JB6je|e&!F;?p-8}ZO7>7r&frBhOyT-SMHn_t(_&f+)4Y~QZvWs0Z# zW+Htx;Ml2HH%eoou|xf#pRtk-+)L81q^wv$THgXAMC(c)z!`b5+4k-DA z@$DyjUm`ejN5>`+3Ms7X0LGm4j7bJO(dse*c~Y$pTElE@cMP2ocER4{_GH{X&)vsP z=OwCRF4hhRRK;bZrFc3oimJaK+%`Ozb zm2O6Ag;sOVlFIhTODIOxI{H*g9!Frf6;1gTub$uLy8IVo3GUY6XSP9@#G1Qq!oD*lIw(__|G-?IXxrDJc zdNsCRe%)cn-7;W8pb@KzPXU}&a<$90Nx6gOQbrZG06=-@Ms3IhcW6F()n#p+-O}Lp zkod*`j{mWw*>CW;w6)c=9D2j%33C-@eW{Fqqbb*Jnza^l9fGw3?Qt~2U7<1WQ0Qypb!;6V!yns``J85()e%ELm-(9VZ; zKEi=^KD6`o^in=_@S%eb9en8ELx%u51keHXf&e-M062hl0kjLCT>$L@Xct1e5ZZ;% zF2pH9yAaxi&@LQmgM`o_gbsb^(1#9v=+K7_eOwfDK)>NW0PaJ(KC~M^y8*NtK)V67 z8$i1Ot{&PApxpr44WQjnPgOL84nycLgbqXKFoX_6#20iJLWd!A7y;lBv>QRY5wsgY zyAiY-LAwzm7TS%V-5A=9q1_nTjRS3vF?7Hr24mu^)h~F0lQK*DQ`R)MBzM%f+UXTUYe$3Zx|2!F($b4+;kA6eJ@Ny z*PF-jz#9dl#b6!|`|*4nj=jOSl6|H;Z1quIPQ)~0>n<-3;V+<&Uv#!(z#k>U;dne8 zd-K#C45I#UKJR;J9J}d!5n(pJu|EhwM0y}QV)&{L$O?lr4AXwxAI&Qm5WWaCgPW_a z<7H}G_MNb}KG?k;9v>W_jNyY`BluGxt$v{~$x?h%rjM3r%|zQ_RCMcBa|BK+)E@&M zM@j0t!}$;nGdGxHMz!%U7%seFI!}{%Fzhe9cs%GQi!>Vb7sDh>UHE)HjJ-kIWz^1H z=ZmVIc{pg|~@&>swg7(RA~Nq;mPj=aF4>XuWs}v)VB}h zelSAFBcF-TNP;7s2&}}YTVc(12}kaD6sE)Z*zXThxN7zNAnv;`(0q|DMzI$MK@=}i zKb{W*%rQE4qfr|77jc?K(E-vNn2VKA#|6I|8Ka(o!bY#7c^#gc-q`WScvp9RD;^9d zTBtEU!J=o2c$s8hBX%*W&KAMSrvyf)Mlu z$#4+*<3SKc0}lmZ*q;Y;AZ9pp7rr0O2QjD#;UYNN5djS2+SQY$zq9c*O8;HPk*^C{7QZ`m(!hxZLSmCj{5>xnq7MC2gn8m6wxSJ56d>38Zxl zC+j$IN5d!%ym^que&`Q^!FV)8u`%?Ddr+tyHOy*sLlQcsNkI46>F-tSh{t?-O6w@?=92~LH6!SEL9J%eua}d}#Xpct(wuU(_lPPA6 z-PC1C^!>0sxeK5*z(#tOtUp#3C73&Ap{Yrv1V;@zbuW|m$uj3-Mg|%EU$4=r`ZC#0 zgy+cRay^fh&g&Q7KY#g#e51dA{>$_4C(eE(p43H)@1DJR_I;&+S2TG3>eY|0Dh>Ri z!QY;}dRh5CD87I3^1B}^--pHbzdV2S=O14`uQcfwO}>5p=b!&lX)q`npd)w{0@o%7 zY@D8+IzJ`bQ$ihLN(=kztkw>5w1Xu~Pq4A((x#-Q;q(C4f{6pF+LM=0m1c^B}~sc&&pdW#&PECE;2JPfE;#@Jgb!4xT124}z@9);g$4U><~77Oiy< zmApI%u`F3D5DzgOxvsTgJ23#w=m+60Wu4s*PrC%kbg`6be=*b2hVMEwb(%vRqdxc? zN;0Kk4keC#xG9)Yt6>Hu9)GwQm~ydU2GuR`aFeJA--daVx6#ARq9orN=1|^v4>yO> z5n`JIntBe8j7@0I<0(X7T1*6UGev2#yPL4nCu=Yqnk~KDS8J-HJHeQ3a^IwHvmN`q z;RQ5{6Ndv8^Pcl!C$g?=MTQUde9vJR{Z$!(2!EFS3cqxIbE=A2u__%gloN|kQ?XrC zLDV9wAVq;T{!GW6xKWo7NFJaXF?qB2nIHl~8TOcf z1+6#RJK-NKOAbPw|wQ5E4-GU{qh4B5fo+bS%IS>tfBx&zTa%t zTY6eNMXMU7e>mkNB|J9{oS?)O>kYy{LnS$Dr_M{zEggcZ@4~4EnBTo2toW6n?D91`HQgWv)~YD)TFMySw!A8*wy>R z?#rArrIsoknfdGVK#3jYW0Kt+L;yffsob%skaT&(WMmpckf4`qCra^qO8A2FnPF7y z&3YU6C<9S)8{s6ovLd*g1L^ycb(|SXwHZxi_GTt>HDx<(Ub9k!#7tlBpRn8pQErL@c z!M%2uT;qB1Mw}J$bIQ6v&H1wr<`6bsR0J(gr$k=uTd4xz$yj@wbYOmOfWqG@0#oG0 z|7Id-uRV(C&KwL1;Xky{+$>d1gx~X1$1O)oSf?;0Gyz=st@#q%1Er$#dk3X!SJa5Y z2&Kzpi%+5_zuU@QiYLJw6eUWz1{#>iV5gR`+i#W}$+>cV+z^g271hcSz?tv4KzHuE z#*AR3EN7{8IGu4ZnH)%9__bGU3wWw5qNt2zTa31#>IjrQ^Cl6>J@7B@h=P5cq<7hK z-hN)N$=lEEWAK}vnpC1na_KXbg}ENvVesg`A*e5qViV^J9pr~e$u!QT7+%Z=0_h&P;*pJ*9DUUOU^+s{T+D=y9 zJxWK<>0%;ir$|AZR*2`1I*sKtSXP+lb5x#pkt9>4M5WAFhv!J?(Bw+_xR&ZE>$K?uuIcOL0p3>U%c%c8m$M&;T ztZ^a8nAcLNefxP=6x};`s52JdOq`-~{kdMf%T*8cu2ZneM4ayTJm^2^*;+bB)rjVK zD*UIX;?rp{Af1nd*y!Gdpnjpb2oBl(wxxclk{In8PM=&SyV~YxL}*BSJ!CwF~*p ziT&*1V~MX%V()|4H6`=2?Iquo`Gc>p1&GxnBy)ApCh0lj-8O5u_mH!iZ9yftDm}CS z{+!ZU^Q5m6N*7CWH$^+2-wLNT_b$&+PD@>1IV{0kk31cY(r z?20wfTVka3RQ>tb-Vd`>Cp$S4cMAWtw8YsY@svqi4B}A=B$#CHwnq~_In-BWqJWO< zw1<}kiLR%U$;%RiA|f8A*6UTEl@WqJmXGj)kYl!#jFMX!vJ zGDV&kWspnMw2{IXms5-JI(5oCZp1k*p(GZOp&Di)5NeEF=GH1D8`t)U(Q4ftpAesS zMWCH^?0aIc%_e7lMvC5caUOU2{616;lx9mWwgMnT#cdpgf941 zgM=DWR*ER=JH6^%r=*!TnM-wy@XbrT^oR@kS?#T?E7e{(qYn*H4D<|(`YWhq6V>Jk zCC*%@0?kqodzH=fbzM{6(zMs>sS!GWHrIYnX9)R;<^zvU+|w%zq@+@HFj}E4<6o2` zDHXh9zb^52R--Rm+2~v1O1uJ1oDQ>kmv%u{US+LTV1aD&iziu*b(ZZG29-aDBc!JQK>o6ln5K%o~#x<Di zCwU)HF)!!YH!ohpgKS&x-oLFAd-sOp!0QnXJuZmbSFl_U4zn-q0z&*g29GY zw?zbwh$hn+nm#555U)pjGUt**+}&v4_ndFmn@mVhK~FtTBz`PHQJ845z7c175XY7Q zGw3-#Z(=2u#la@!<_hz>m1iRHgvH^?q9v!(xpp)2zGGv?L+|SH^puJUQ>xqH{61bY}MT#<1p#XX1g_ySj;f`)L`J$Fp%Pr--rL-_1!plP7?97w`NQ8vvJ|7v*iQucJ~*UAmnL0|8vYoDVZ6zXN%D zYjXX48GYK!-(p1uv06AXv^>F$Q(15DMZ+dGTMEp4QCk0p>go0APiZ-qqW`4f$cSOP{< zQ;DFzeXBdwO7eCKFM@(^{&dcU#g5VC`LEV)Cjt#x;+eE1hmodK|`ifnJ21( zbq$Zu!dmc0F+e?^6m5>AR8y#kg@UXZQ7i5MC#&YbW!t|%YPCm;lr(Z@1{LBL_-Puf z4sjjX{Y;I<0~ULtb`#lVe{fHA3IGSDY|zCL!!`Wa7_LhB222Z7lgnk?J~M@_Dnw0G zSnv^0g*j&$qch)aZOB#oV6MstTxg;$=gGKz#8m~dC`(Zj)8-wK(8o$c@)q2J7_J$h zABKO_*e#W#swQ|#(<;f>7OhaRG)k2mR6GrJlOn;mHrppeHjGn#m-4?vwTOM3|K&H4dZ2a|6Yko$bz4p#XjGyuer+5 zMwMn4XAh22Wcm_uM3E!%G>XzhAcq0?)f&r#VN@AbPj=!2?TtJXx!YqMa>{X+Y^gGt z^G&qE54Xwn`aM=1x+2d+ENwcyLP3KyP4DBh?fxX#&AL4YpY>){X4P~4B$-OoPJYFQdNSh{lTHO9=!O)~SIns2o} z4gNGs3t6^F2WI|-HB?@nl+*>7Ci}jg;B2`BkX}r#X3h9heois(nw5@ z6739f8aS!R?zC;fz z_+wQH7MT?ootYr8B#`rj{SS*qHk$%9VH{@{Xbdg-RNwxp)&&!UtfNT(Zat1Azn#b3G?})!&Ff~S`?$#*S+?aFo%mJDPG&aEf4=}oN+d<< zVNbf<-OTs3nUN>}1VIo4K>!8>#(?aeTG~2e*os1kOiL!i)^PZY;xhX&W3zq5fJy=- z8+O19oe^N$S;q0{9Mu0eNf|j9sYVhg#N{NW(gjqhme-}@QX_SfQd+E+n=KnU{;i6Q zh|*+LcUDWI(Msw+S=;c=sWq337v#$J6t^V2w|uhj>USb!z}7EDvqoCk9$3ppDRLr; zhe`9>q*P1Eh|G^jh#=k`55+i_9pk1pF>(etLlMT(ZTF$RzkRjdP#q1rEVG{T>sk1a z*94Mi!V%<`C!(EB3!CSyi>%6278+$Wljc!oU6bD>;mh*Vv@(+~c8HQE%sgInkF;v- zJMm$a`ghcIy-r)U_!xDB=~GULNsVS}-+}tnXS1q5rNPNm!{be|+sfh5sX=I{VG1px zDHh$fY$*HXw@>%UbUI(ZT7v))N1wjmynFr-?0c}9@S!cor&m5X2tz`7b!80pEwSsi z%I{to^e5pwKsyH!ydnnu9Nxqaao0gFY>6v7hp=?{;7d3Nsq@cpZw{pbEqkIsH-BoCkdg&zJb^W^X8ljmpYhgq;M z3{YSG#qjW4e)jUYe|GxH_h0?;{j;Z!{hv?&ewINX+MGRo@#C{osj1xZ6aQD=XBqOw z3&#j*G~m$bauQ;}$HzE(Nx4$#M^$kM@MiZM@m_M$L1T6o$3_hnA!(;hjhJ*v z&!rK}ezePZCyj3Qr8Lgz%T(6QTNO#>xeBfs1B$X=h##2&hQ&_X70Vnk?TW1mg57A$ zuE#f-hks8NJMp9ct?=Kp7^}^9hSuk{#>x=on+C-9iJ`e{f|z_-(&>XyCNm05HG|CK z`V(0OQo*JCg+%Sf8;hGb6^@3b1(S#-(Ob7Qk_ODyWLMZi8W~#?X*9GZ7uw%e%Pd(n zm2zU5`wTVLU$_kwGp9YOsv7FYI@4AsbaV(hxsfQxhO@x<_ce3s|G3>RH}Aj(ApO0vwT)tRQc~g1J20@=d2T*d5^HZ`rB!W zAd2xoWdr7PB!W7_RlMKwYZW)n2h{&e&(2tuU4)19iWOwSQao?)02J21)l~FEq!8CF z&06MI#@s{*7F(6|a|6QwBufzYVeiB;hZhRO-p|D5M?B*C&6tH`X6PATG}u~a7z?Tmkp+$}$Yg2}ZqIm?!U!vka6<%j%57%tZXd5X?oKZ%%!{ykaEJZ2T{oEhj;oV2?SVaPQ2W*c%B z5LoGgHQ#bJj#D>r6Hlvx)eW8s?WHTY@O26|MOoul za*>y0{BNUWgeTQ?Qg&;+QHMb&1WH_^`CqJ9`O_Z8pLYOcoeJeTS#6{zc~L3xjp~ z!eE@5!#;rm(}d1OE}~gjfvh?n5f!uQgwdbXY-O03`=a7oV z;?cCG3i~GWune_GgmH1m(u~`hdU`7Oj>26O~6UcwW_|*hk zi0$UGA|oybXV|PqZMCl5u-l*ZT3xTz54}mR)$e<)$slaEy!N~|oOgq{*X<43UcWz^ zbm#N-WH_Anhn<1vwx|6;f1uz_<%Ln)uv1b|Zp?>TM@miWP@x%(_yuU#E!Uf~^&XQc z)$?UXN4Cp(r$~-7_y~b`f__&0VKLD8c_70mNxMf=N%_x}v<%UQ; z82o1qQ>D56#~z=uOqVu;U*<+h-m6@zGCvBp%H@XbpFd5>7oYXb*eyeyimUTGO8A&L@LuuRj^ITa!-Porkkd zf7Y4J`flL0W&>|9@P=U!6s*l=GAgo@f)T!0Z+X^RdVepCm(02tE`0yS$W5WzZO(s|r=z79pjj9H=?Hfx>TEBe7W+|Y@j)r*% zLYBWWo^GR!C3>to=>JgzXn3~(>!x%7jpWVL&o$1@U%r0yRcy`+B2DH_yk!qulsR>xyI{08%~z*^;b-NAg)8}__ur# z&4QuZ?hhuze#`6iyVGvB)0=erAv_A^Q#b5)!fAgV!t-ITZ&@!`-%KRrts9+I@7Q%i zgaWfL9XuGK-&hPViGn2zyI($}Ig0~tB^09YjzX~?6e4I3sz=>R2;5#FhEA_)P`rYn z?G<9^_RB{v8!+@bg&2BAa>*+mi2ksAgl-lEtI}SGWGDw>|FP^2wyfM0^cUM6RAUqL zHMZveFuj50hT}}YrxJt54tbfDSEKaqsb|HSN=R?#nsP4Lq3Wl_vN|*1Le+3vsFHXR z8K*&0{Lc8?Uh!BQ2)gb4&VA{1esAV^pMSXI8+is*a~t^iHOUvweFsZ{zP)p{qtG8w zByb*4mePP_e`(M*Bf{Y7JtbaEj@Y45ybFVwn%_v*2rM`yi1}aj23>s2x%k#;9i30* zezu|yU-nU3T2`}O`CX|UKFcX%SW7uD@Tu_0WU+$> zo3?y{7%Tj|4!G{1{M9iN1~Q3q;J4eyjW5B^?LntPnjRAdGP!c#cZbJ~0m0AhL2r26 z7%-DA2f?6o9E%u&+&&DuRZT_(h1lfSF?iK4v>Gww^}_R7M~!uqKMr2IQ+0EY1)ocQ zr+btnMFslEgKhTl@N;|6_l}aIs6ZcigTXDp&+Wl*aMYR*73ib3+qnh!c|B-*-J@n& zyx)Xde!^yobU^Rl!R@u2HZRe4bg_ z0>f$ic??g z_^6mWnTH#H|MKNC|J9?%Kc7Cqvp^ARj7e{Ji(du>??Djq8^EyUH-JGZK;ab-@x#;8 zXHW8*JS_n6w5T6Xi~8}js2{IhK7Da+XyV;VZ(iw}Hn|jD@_{yL(n*VD+g(26_#0*W zuP5lSBH+nP^@55@HgUN-_`_RcJ}JPrAJm=y<#?Dmu4Qn9X}duqTNF|K7h#HiBU0l@ zAtzFgnaT=9n*S|$;r0rdk^1;lW+*fF-+~!!uaFt3|50UzqNV;Vn9=JLPZQ6gGSsEz z-+~>`r6PVPPFIB?`bv819Ql11QN)1AEDldUyD-4g_0L#G@c&VvSVWf9iOm zrz|SOnc}r2vaBsnKmXc-i2f-{46&worHL#n&C}1n(%>TZPg!t?HO1>rkq^YkH+`FM z?*I<5ESqUGr^cHD>;JHqa=a(6UXbO3sIKyypA{M$CrZHF`6%71CJ}QATb?`LI`_{F zRmyKotkf*iS)Pcj!pm?u8ewAPa8|SB@XVwk$<`kMsBfZ+Y{3Zu>VHIyyiBJ}DNd3S zswOTu-#Pz7p+ zNwM+`e3ujo3Am)x>-TJEQa4`)3m7~PoD(yaXiy1BPG2JGiw#Z1&ZO?ZEFRJbHau;w z5}wpYn8gE{-j1i&vEtEU2Hc~Q~`+bu#rT+O0jm4jvIw#pA2D78FLoeIUGK+EQV>Q~T6Y(fUHzx%NEx9jyT z&VxLtaI8*{SK(!VNnQ$s0ak}z`R-@cRN)kZfvOO7Za`2x<6PIRusE5uVsSs*cKZN* zt|BRz>8@KP!o-5(!*;#8WWVNN8hC%$#L=_~xtkYz&M%PZ>O(1AK~H$aQ>?-?i7vTb zVPzVHMVMPULqF9M=Cg^yP(8cZ1O@LEs(u_JQMd zd-t^cs(_iK&vhQJF&!bW1Q_KY7FG)tZw&IlVkczvI`M)O*~Mu>syP*F#jle4gH~&r zbpduHyxy&MksWM_o@i$vK^?01(kO{%SJ5SA1!yHa(%vuDAN1GRVRpM(S*qz8E67nt zW5?|^o9&iUYrB+mfN_MEDvd5z>uur&BE*Cc|NosMSnviAeCNRbVEon5lxt~W_uj*^ zbQn$4Ai16NHSa(DBO~nCaeYd7F98PXIOELpXF;XSzhmg(v6P$;L<838+T2a9jm|x} z=9wY~Fn#83bFr(|mV+~p)^Dk#l0=WKEZ_QN)U-ptn1lj(ZN%Fa@{H%h`hXIa<) z)H1k?rs+l9rW6_S^NW{%ec``&`NDsFdiM0mFQ;iCobEk#wNO+%#6;BFFpg$>s#){` zbn7>%n8U?X_FoR<|ob?xv7kFxA?gJ8bp(L(lEI?O~?_JGb`G z8+iTR&;tmqcF*l}dtGqi#Cghdm9h{R#Kj399Wnm|kVBU0_pr#L?;f0kojjF+vtm@3u*|sI*+Ly`%*Bw06NV zvWv;Nw%(FP6iBG%SptyHFu+v1PA1rmb$%tDMwA7Us+@q9#`X9fmOe!fBHg@(O#qT3 zCDV|#CbX1iQUDX9?WJ7chA-hlbR8_02BjEy7BeODts{-e*zV(h_zS%)=cp zpFwia>f;5#SdJQr0u-lf%3iyo8mD+*a3dN-yHqn@h0}K|-8w7$7($ap>|9gY$!n2Q zmwnhkP`u(;z^^)^%qGyn6}oO?kR>Xkx@Bns0?Zvb-8r>5WRC}rck5V6u4kt+{OR4`G>tVrL(j0#~|gBcfbD+&}LWi9?ev9u&X zZ8%XgY$olPXo|wP&JE5z_HEqUH61i7Z@$Ge%9$K7iQ`TcVm-7DtqxKn4d=vl?mC|6 zADSYy_c$x-Sgf%nEws#ycXCES@a(CZ0yuFCvN={Eh3oOTBLqjZ&3*YRDNF%GdpADU|1aB-^Xn%T=&?c z4&3#`*N<@lCV+QqfWyTU={zO$<1W1Vf2Ze<{`+y#9REz0dfpo`Y63Ou#yQy)_IaLE%GWvIX5ldFXgwwU4`K}o> z;lbNG@MH#U!Pu9K^|yD#!p4FA01II}QXXLfk!Rs0Z0P}Fe6yT@-mJa7^Xv>h=F2$X zz5eeS(l0)12Uy5iG-)ZgmF7QTEdaHL zFjU_(caDUL;3bB3`fq@Znud?ckhO) z=7;EAv0EGu=Gg~_C09`Eb7BS6$Rm7I( z@E0&NGe9mIAQ=^j(T;!Wb(OgfjEt3UnLPG%aEekIJxAo+S;oyEtz)LOqNEZ-qN|u) z{sFh`sBB3yZo>6ufi-r~yGQXes_EKNZQ!pI&RtV5J^Bn=m|siP!S`?vhQ-M6Yhooj zpA=}R2l3VwPFm?gQ98GvaLOs03W}yc$w)nsl?y78W|3}zCtkC>YJq3%W_isbQFf?C zkwE-4OxEg|E($asXs4vP8nChl?AKWFyUBh5TIPi1Dy@0-QM#U1)mZ2vq5VM)QR58I zG0g&9xKifUXwSil-7CA1I;_WQL?+EV)`C+@eNP4OuUA;gPo_@&kjOZ5-2W|c7fYMR z5eN`Az!Y7H?Mx|O16JVdM4C-75q5%t6*~TL8;zxWsCsw;8f*EWS?0kO7q*EzD!d?u zi6sCt0C#Rs`7z6lZ@xcVMboPUEK?}Z3z(Cze_(GD61avC=MwV9ft7kw?5~U}bS?v6 z*FIJhd1gFmRL~3dLFnZ*vRzWG!cJ89G*XnL>_k=;nk+iW)@LgaHRUT0+Q_6yGJ*)p zkFI6j-VwR^GGR#>!&HxOsL3nRIXQHv>+Lq2?nnrLQP#r6o-XMM?P#%ko4n)OY}$w8;#^kAduw(vjrrPpgXUbhSXYs3FsZ_seM z{f5(V@jWyi!XK^+PlxcupbZ~%uo?W~4&c+_0Dl?6=L2cH+%A0X5qS6WST`jmSUC!^PWYRERofUVU0qO)h8Vi?+-sF(0X7S7|$>=>G>P)p>1@$ z?C^M*@zF;}0bm{|seA>&Y%tg*=DQkxWSH%&fX;R{UC-bP=IBHvpPb^Xw$A%luCWOQ z(tfc|XE|={|4Nl;!Old(wFSn54gw?GLFwZr9W*!)xQaK?0x-fN#q`aB&P(~xQVdIJ zTIgpEEn~@@0)1kHJ}}g}dj9BdKD&4Hmq*W%HC`%MBED{by^9`|bTaUsk!#N3wSdAI zZJ5b*MN0&;OyKPji^7ouE)Fn%H=80VnaZ5?E|@Qlp*PN3`ffdAPesu2oE?F1>arin zzNEHmu9}t*^Cr4zq$uDo=|sTx35c`&4N5m>T!Hjyv1)2WESkV>k52!>>j0K|tQZLq1~L5cRH;ar#Pj~us??NQdq z6!s0di&EDucQcN)5xP$H>L*68hyu3k&FB=?miE$FqpEb?Lh4AnU!^7cjIBpgj ze~TL}&;FJ^Zh0MZ3oxv@_$OVGM-iK9>L|v;bUCrzEG~TQa#Ad> z!5r+@@jv6+7GqOs#g>hGRp!bmOpD}f8W#mX z*sG(VB@Q?`4lMmAoy?kQUr!QMXwt2T!X($IWEiDYdfCzi+XeY57uEU0*VJutTb^)8 zDjKQLx5^hPy1!s;-rP|5lp z-|k_#n6~S+I{nsQ-fy*g?OuuA%H7rdI2kcK<->;H&K#<7%Lb)QSxut~Ii+x|{^qN741# z<_n?TvG+lF6yEtm7ItMT<52!CiUbfhYscRLl>qYHujOuDzx<^i6{eleeuWxN5=^%A zSuT?e%U>PJfb?O6(bW{%YKFMO^2wRA(AQfF*mi~cPA0HEI?`;pk`IH;s zylf9!2WgdS8Qzl`{e+cZq}4A$^DwD8 zX~E-ls#d=_{WXIk{M7=z-L0B@_$RDmsl&%gYqs)0t*ZI(Uv6g^1kl|7>JQPq z9JcWKIQw!|%TA|S4%|3V=kb0z4a1owbwsaM;r_V_7;QHj)P9A!2`W_EOzaIREIc~M z9F@^;x#b0d!)1$E0cZPebsliQIh@5xb5)^Q*U5gBT;C}$>lpRB6>>u;@bU(zU*UQ< z2Wnj#`@?qS9_O!%1F!l7vhi=w>s8Cg9T%*J!&a-j(ZT^**TP}D!V<%Q<*kFmeydu^ z)wo~{bX%=<Ioygut$5poM;OJ)T`jyeaI*=W zbM%m7#8xngF`%-^zW4mx z>OH((me9fDtpyF7=}NXU5g_m>b*XD)oB=2Ym&Of-C~w#M6~FWuy$@Fg`iSpIx62XA z?lbW44--Y_TMS^CvnW!=I`kRiEJ@E+*=Y}$A3LSDlK6@bzp+eqki2|x{E^5O@ zyQ?*&ilA`y)n%pwDU26u5#b0NrDkJf<`@TV+)ysvT<(Kyu-b)y0NV>(EVPJmBb+r- z&~)orM9YeHLP3nr$0k0dJ{Akd%5y{+lcaYN6PnIT?B0h6r=UEVY~pamXdhEBbco1? zXewrtLNFj!hF8Bxmgx|6Dsx*1e>fVc*{!l*N@3n91JdhP;$~NhB`C!nvSsd{uHHY? z88u(MfyWn2P5v%itJU-QW}WLia(lyE%`<1Zk9X^(vkc=nxC}F@09LUbb7_xJBaICT znC%Os3*;sl?7`sa7O3MZIOzV!h zv$lmPg-SXa8;~u`mb+9D7_);Dd zhm(nFA9uAr$mp2%FOz6B%Z?AZAd1vrq5uz9ht)*&Km~|Q7ZwyFCu>=mB{i|2$_i?p zJ#f3yS*}wy6;;~y`K&!IrFyW_WU8a$Vb}gCJdO!NoZ$sc6YhgZU`VXNyam8&-h@Sa z(X^yuSZGVZ12*@Wu8Wh+gUZ9}TaylWPav!f@W&?ncJ^k6LE^CVSs{8|GLN2|uN5l| zR#|yPNgtvv9B;NErF7x#C@ox=s=xxgiz=Y~(3-VDdy7iF19a6lt1Zvmb6XuS>q&$=n4mGiiHDS(l@OFnI+_%gI6L$1niup7jkO$-dT4X7DnnFE!(J ziI^xP5%)=SEf)YK96{aSad(lBwEO$PL!klHyKdSCU)jD;FNhgXPy;u=?N^4zDk-0A zebr(lOufYmCOQJ`nwkNH9N=2d;G+Y66&d>WeCL5<2YfBUzmVel*WH$ZHKGlfNSd;6OfD$D^Vif#$a-4SkkyM^8r*@BOiyih$Y&Gyt8=Wz2cV~rSzdyye&8%9R8_} zwZs+#eOH-%8F}Z-TeEv=OH)Hmjn)!R+l(zevw$Kx@~q)6^+wiDRq&bq74wFfKeD1q z+;aKfRiaRQ1Pm!nAhb0i%Fy@8c!jrh>>XZK()j+1hg8+r65ZV?A1N-u!?MPsYSGdFAf~>Ok?J#CAXKa8jv8nC-e(`P(=;SQd|MtGIbM zxpG-++ueZ*7ZD`zn=pLmvyy8Tz+Qz5EE3>g_C8om!+hB73ip5{*z;%=*=_^69Z$Oa zWxYf3JJuisM6-};5b{dp_VR=L(gN?QRCrLVK(k;Mq}AA8T<~)(#$*;oDj&1S5EA|g zSmLHa_@SnQ&AShPZ5s*3R_1h@gT=nq=xi>D;Z~}C;E$Tg22YF-_#66-A&^VkOOLUn zpj>s(SleDA1ofRp43;j_j{}M3Iv%mW+dOE!jt;HY$%EGG7{CwkEvF}{xr$5-l8O(M#0^j*XqX#tW4PSR** z-C+|mt~boc)J4gPPe+qVr&6s{ht8HIerLtFyOW?b(jKs~uvp!J>1byb%_wIMa+%Vi zV=Luo$6&;|#~QI{G`|mhKA8Wo-#`7xY@X4GiFSk4GljqZO8=(!NY9Ziq=f_q3`@ZZq;yv-<}q=oKjWlQS{togwG+~v)qqsz=hSQM3GYf4|~QqnmS4komv=7ubgGLoUr0- z0XNbZPL^yH6IIV5o=BVMq%hhoOH<7#O)uoFZX6r~>>jT#2l^57wbq*~x{py=!@$fZ z>CCA+l*S6N0z)DUG^awPGj?rux!kWP9@3eFyANT=s<%>fC*Bk~n{J~G0DT_?fHjz6 z`9yq|#I6V1OC~sVnWukpUap)Uh*4rVfLBiwUY*IjVxRmK%X%SotmFhykzm1`tO`Bn zXLV8Zlrl1B$e~E#gb6b)1}i2B45KKN5Oe;q0?@3g9u_N{F7`9}l1Dv8I{=2`fn^q& zMFJq;Agek1*N&vo*cIf2TuZxWbYg0V^huNXz+|3a7zP7BDB^*NjaQPe?MA_>>Bm zE~A)GH`EcQ3myz9hC}cxcd{g4h+Xov6K=OS!`QVpRc0T>@c?2#oxge-QBmv1A~`*K z_pLL2F?LQUsVXcUml&d+gwJkZb}~DIB&fk^sW^Bc1SV;OC7YsUs9-u}$V}feJ$VvbC zVcpcpBws(09K=$Bez~P=-%<-^b?E@5uFyZCaJ^c^SN`IY-c|7riNl}Xa2p5|Z%wzb zFc1iBN2c&oA>p=TDiuj!UpY}wnjg&Tds21cAJHzN`q6d?H_F4Xe+&dx?tD<5pB1H%A2G7=)+FWN#mFC1r6#?p`5%WLjvXoGCuG~7i zOvZ+~h}CD`2MemXxz?#F&`eos70q-%r5UF~^6f(qI@o&M$5#6De{W^>r#I0G44u#q z79YScz4%OOF5&2Cl<5X_jtN!6(w)N3nb?^=H>fn!ShyhKV#rQ3RjpP7;YJhhNiuEW60ceoNimlWwIohY#(D4|4cCk$30+LM|WtMRo1KB;yQI*~G75 z({(D&DRm=_J00w1(>bG3q>29_Z6+=b$PS3qHN&tn{|vxlMM0_jD1tgalL%s5W5tp| zB@^Y1LWcu_@s8iOQ&qrQ-nKvI#<46%V&neYZXQ23*t(LVsHR)~LWe1*ttP9N`A`AF zYwk=%y~LpDrk-+q#Sm~6AXD;RDO4Q*Kcf~ZDD#$`

20` zn}->CSNYw|hm8II9d~5=?ad2Q#9)|rH;r}}xajG(9q!#Ky}^7myp=}s|Ga(LeR9G3 z_3q|b@cSt2eH`aLYkPk)-EH?a&v!R>0zIwqSeah0@qTq52K;%VV2%Z z=4JU6Iqt5!{@+g_+XD#pV&^@w{m)}#?T%Nl8>U$;|X7#iQ{**ua3+!{qXx2GJHg+U&SAG$CvoT?)U=N_svU% zy!|J8yz3ah#O+->_`L7CR{OjIyjJ^_yx_I3&$+_K?(SOt!iRN7YT_X98}Dy#zEq$8 z_U7AXNb(X$Zrm_;KWgE{(d-7eaa<28%)O!G1#n8+?bxgDeRpktO_SoF$Hf89GrEdJ zjk>qscUE)2wek)b+$ZDx(1m`FTYdBG4i;d+b z$sBB<7-f711BmZ69|&vL=KGr^c3!yAlYy@t_}9KVtGhP2(r>)1Ka^LJ{=r{NC!GvFgXn{QIXt!;R+N zVD(DE>aG#Cur8{^OM4YPzqzjc6~D~u3U{^3u;{S%9^tRI33d^3+#y+>hQ9rn++X4I z$&lCk%5Yswq#wae=gBW-7T?}I7I7Q-`E`S_JHLN9Bh+Z*MI zD|ah!*WJzg?%v1D*FDFc;~(UY?{3^Wy~D+SP(R+>T}pX-bHLjF5BkUNZ#E}CO}i;~ z4Zr`}o5z&$zh9X`8FwlWe^9zq&!`<=XQ4um|w}l zyy6mYi&v2D-UUA-eC`~;b%g8Va-NCF{*_Fr-J<>Yi5@yRut3kNJSUrX{I)aHUt9JM zFn{e5qx^&2e^TyyVP2E_rR1+?LVlAC=-BKhC-PFZFPjtA?IgSHyuvN!l7Hz4rT>CP zJ|7HMdQN&@IHu=quH~;Zd?D4BTH6=Z`#vr6)8k2u^T3U^KSbj1(A`pF^h zFuIEY@4V^%!2_69QeK_lRm0M((*aB!GV}5fpmlWF#9&>!4)$)Xd!O{e%(in~_sOSE zj(cxaA2w<`Z_+8^!-P6Ng?IP={<#B1EXkigYvBKbP2`oJ_HpN!9hGKy-}R%F zy@TXWG{!sssO|sy%TqBwvEkkE=hyu1H-CK^`9A3o&-a0&e;D=Q2{?}5j( z#Qo;mkJtUUu|8k7tM*}KzuVAn?kV;C6@aT+ynC0I*7e)tEY0`#s`SmbZ*RzNUk~74 zle~L)N&)LD}FzAb6DoFhJn|nO^@#%VfG*13! zrlntw_KfU4D}F6t#)#%0VzcOA?Rur;aRiM=!nWJo2OIg%xQ=pV=P$?YCWd*nUpz49 z>lGcm0N0S={eQoC2oNyZMmRnSJNWG`0p&M8ILYmY`y;O_^>UOS?jH=ey^rAT_BhH9 zKm5BT6MlnS!Y@rFd|4*pw@)PeI(dXYe-1%jHu)61|M~Su>Zx1$sH^#$i+RrO{t2nj zPhPP6nh*U?&WC>N3Sf7enpl*DUIPNEY=0 z0iOPs=HFvZ^&^sg&9HvWuzt<3e$BAHJbr%}*87ayea!Oc#^(D(7S_ht!BMbV6yZHN z$=}}DihqCCTK>R9v+fpg*Sx#e^s~caj*fl!^%)%VKKIs9Li1{hxG(JCu>pj*LkCM^ zX2rv8)lY9<{r)QdM-r5;40~l#cffu3oJ2>>k8WqCcf7TW20!%o3ESz8KYzv-Jk3x) z4>kY864Qf+l=59J`v2sgzNh)%SKaN)Sg7Zl@)j$P>ql3_#42-#?2cKO|KbGnhuiXB z4*MbK`I?3Pl~Xuhp27J8B(1+NfAfb;-~2nKt?wQ+y?^TL4Mozw^ufIARt%EZ^Ks}M zyO-CWJfj4P|Kexfo^)xKSj(c@dquxKH~aiwSU-BQj%9z*C?DYJ^#LHol3zT)RefLY zhap+&7d!&^J_`KEV}3mP@@076`{(8^ApU1Ow)p(*Ngq)UiWa_nL9P+eZI@!a_2Szr zl6QFPe57xh=O1m_@9C+>k37|g{pib^p`Jb;bY(G*9(25iocGT=ez5*)mhtv}KduP! z44yD0akChQ5$|0(uJV5WUX!_T`l z`3TE;dvjO(pimFLA6EO}H>Tyq+k3LvnZ^SRd64Vj^HmD`kHHn`?_YZ;-g%R^H+N?@ z*n;m*b)Ee9!OA{ujgOW0XFj_6{;A_Tk5t~N(lrF^nCoBfc>NE5e@|SmeE2;Fz9zGA z)RcEDJH#%%vr|%`@7b zNZUO_@d8DnNLC9#aZms$wxsvlU&fYu763|itNR%DPFn=3a*d3P^@~~*(_wLv&quRN z7?g2N9Tngot{_NB$??>M66Qtg#`_n{JE$JOZIJ=rJDXOM@*g;6)N(1sILn6@`2@Tb zCk5&-tbb37|DBhhf~#jv<|FC^-7u;}3isi0%4qoS8hWdtps~FI-+hw8mHR&o(4>LYsQYUS5g+E&G^tyIl~qcm$a1oDmPp ztlmUMjQ7?P*)&G1BFP6Li}#jA%B^5M%?UP3=x!p{84~}@A zajVE4s3FbmV*7$DqL_dk)VQH*n7^3L(3k;dFP{!|Q;ZmpPp)Wpa?J&dQ@12fc4>|A zU?AuVngJ_)9xoiV4YBbJWS6qBnhfkuZpE!YH)_z}#ltac!*ZfC+u#v7KZ@dT_}Z|N z*ysc!_z!Rdf`rq_^xnq0iP8wXm*6nj6E}oZxQ(R_-h$U7MDd!LeeKY3lsSW!v^1*X2&2tpvZ@cK`*;0u36}ij=8J?3n_}oRWE!A)QTZke4%5^ zQl`u4Ty~76$jsrSP%@xgSHt3XdUcMjb@OQ5R`do2+)kFC%s>_Zcdee3xHBwbb;tit zpl6G-uSm>h+zoVWHNTLEO@k}b?`M&Cc9=0~Swss9YPIrgAPj3@-}&2$JObgRmS{1> z!3#2$(&d6Tk0NVa{$kwW@UfCkjAFO6E6fd<`lMCrP|NHc9jZoRr%{FKOe^L!vSyKF zGuD|fj)bq-ndQnb5Z%<*QB|s?J0Il`i?B$}d0EvnYX#tz<5)eKHT9IZV>?#3NjV9{ zLb(ikX_;yzX~^uKNQUmnLD+UKbRh7G$rs#=T8af@yDO_&Vk-4vmbLrGi-a=4hQ;{q z;6iQ0^t3)CG0{G-G`4Y1Z7=9Kigwgb2P7VfRJ?bSx3j2 zcmTDOKWR?{$G%N&&WHhgcOVC_rIx;Z*lDovBisM(0CdYkR9!%-K|~jH5gIaO2Ai@$ zwZ?6GaKD*L6~$`fHaS$S_N^-b_pfJS^*zZ?O%hM9Lif-(t z;uyoS(4sN734FOc?&me2>ap!(E1=;FWbW$=j|8rWk5TEZemnwjO|k z^mh=*2xlrQ6uZ45AFxe8OQV^%BPNFWmvPrne!Hu5r`D&FPhPn0D~vznm{?+1z<6+P zqd0Qm_trw$v9uT?gn|#s000DL^}EK_A(Tps5@HvubOE9&fZ4(b&WXs9{PJ^%oWu}T z2rRxVZmP$p#kdkli{g}E&*2hx?r^K2lP*~CDX&4Iz80>mXu?kP)K@@@OI=YCEMRUM zp$*|~o=8BYdx!$)dQAuoT`n)>27*D$Mh$FkU_OC^;lv}!I=U%{BAcWG$Nl#jfv=*b zsK8dCc?V2MTb|3wQT2gz1-(*1=!G--C9BwAlh}G78K|9zAH^62T560-WF)M(X7YD8 zeo?1rjUw!a*-i8EO)-bC;Ly#~lUcK)Q4PcqaN!rr1{Dj1{%kL@-JqeNfDTQEtCOJh zZiM=reUk+h>eEnCA@#)^+AjTAB_80CQfJp(RQ7FZEvB_|O(!+xb_s~odML8U{A>Gq z1m`$^Z2wSJ3mdBpNx_DA^@gk3+0_%>C` z*?(jaCo86jjN68(+e(eoZeKk)lglB}t#=uCFY_E4MvxXvTs{Vt4z(X{`|MJo?_S_n z7?)K?rzgU`|vW^bD^wf7Eq4GwHGqF0Lz9M`qQLtzhFwiXe{64_cpCYc5IeU zA(=r&zHD%wGg|Wp`XQUTL^fCZ5#dZaK|&gQp!?NF1)r#qTR!a73#YGIip1PS$7>kP z^}1SWPQBhgifLs;@#LVEAS?67GPIi7mFw*YE>R<8U0d0mPI#lod&{pqu|}++m(gKwD9dc7!kmA zxC1>1F%F6A8>9%u~yl_ZHEFY$Xjqvd=1|4 zy+8d1?vNOLY5+inZzaOWr`TFBH7u-_o7Q7U(CDM7=SOw%zjKVLwPOsdZrnb101ibT zj5?btv5f){2~GqWMn;0)L1@E37XTd)Tt-v#U+rWid-$5QRQ?zi9TF=am)6o`Omcry zRQ&JG&R5&QmM%TfG{=}AVcic@rjNM3o9W5EWlrQwXetteG(G{!N{;O)T zX5u5P<{G0cz<7N{j!GEB5k+Z1kf9qT$3$f1k%(<>aM)>lPUvoMi0)Nz!1|X^Hq z44DFeEu6p<93OzMQV2IUmO%LxT*q$uL+b=get&69nQ)$w2{~WFwBU;%#~EDv?0c@~ zr>6y?JgF^DYsh%)d9RL&;~d<)+JAkSON{qSgH2W7U=I2{hN3R#GoPo24i8+`cQ+)y zC;JGC_F0Eij`Qhz0)k^tb}ZaSuL*x+f_xkY27Hpo!cUpJ|J7<4de-w){@R`UOQ*)^ zIMDw4;wn+{@cx~xz_}H(R`RnJKT7%e8c4g!U(wCczX}-KU_YI@n~L- zhBC~vVsxI$5#3l{-&#J06LEZ?@@-;kHn+aLf{H>;i)$t>dj*Fnf=XbPlD4o!Ovw7@ zM^190QHm5N$u%?xz6h6X4G1QE6jI$6`N89He%|Xn1F)l)`8hvQ&(9(8%3E7p;cV6!9_uu^T-go@nZL<-JQ205V#FWpG^2C80@81yqd~$v!R+2 z@GG6O^-^^`o{u3U@~FUEC0Y>cvLk>5U|sbYW=0t?cFm38=5Tait%w$(B;uT28cL!R z0_PBslf(8PeohZ{{uu3KKEjNulH;lBEt4$~b!bHci1Th#pA>D2Uf^I@u1sp?K zRdUB2r2pwfg(809*$FH6am}tPv%OTP! zA|!$XdA^ub^V73{q937-v5@eXgb_^^Bc!LL>W${?$2_Oq>n03(iB0QeM^!aSsQ-4T zYK(LFF5J0lTJYS|3iW!ATkWSUCr0vFHCM9FS#_ysU~&~6eLC=nh?!b$Old((ONhZg zhTW%nuKJ0ZO15&Bm(_H3rq>o@_Z1n^=Gvi*MjSYXLBgal??ZU0nhu-U;ebD7mE@5n z(rT4&V$H~tYAvhc6GPMHTVK$%Qv3)B@h=f5IcQkPFsemIrfHd%W0-=3)bu2nI6A4- z>*A*FSJT$I-$3vZ#fidu9d7xDY$GlwT5Dbu=FW(%I3u{Q+rnLQchhDSi!%Lk_+h2J zV|L2N-SAQf9x6GFh1EHZ9R+pE#>MK|XTXxG>K+Z_fI2^vVG-t~d5Q2cZHlO=Y^D6! z(~MC^O|4eM*`@M@+o(RMa@AyCjbN*s5UL1i#dE)Wx1+*&7d zN!2!}WP1pEa#OuSL9c@M%yt-?;4CNEdp!z{1w#(AaB@yd|4{IG{ z*1&5en$rbbew+^hc@IVgS&JP>qk$7cDKnUM$9R3|v>EPkml91ooON$y+VXkCb4Bdr zXg)J@R)Se-#vM~o+lbS%%IVht=>vXYH?Sb1aEF%MAfLw(TW#7iu8R1;^wDVWen?xm z^Cn#Odt}GoTg3c1Abn=>PXF~Kq+;o-cm&cy_Yf0Y)^~ADsW`M?fld!6k`iT%cxnPzI=TO&zUIVosj1P{Xv-W&* zDXTy)J7|es4AlzSu{3!r5<^dsv{U@0m$^-RiYXmVAPN4_-FOt`TeeTxSz-&u(EwL7-MSJ;klSB=Eehv8EH4_}G#O z;(%?D+;x@Ao3&*ooPt?PDW!v$)p$TfrDT-TVh+$6EzqS11f%U)wy$Bz>}IclMP8O9 z&g0+#UKvI_O=>3*yj26!6Fx+-X6%zNlJnvbA8n|Vr8q@?C3scT-5Ls}5RG_- z_%IXOLPr_BRIaK5ALT>|>oZ-4hB_6)sya}<@mmdflpU%6eZK}eh0TXh6@c_W*7$i= zHd2UUM`UEgA=ah(ro~1?^-WQ0ox-#H(s{fIZ~?08aer87(Qu$>r=GPD@q{v`aU5r4 zq)<9w4>nK}19pHWX=FSDq%;~S0hVA5vg|}DI@LJ{Vl^0|ai|@zca93Dxl#FEHPv#0 z4zpi2HXn4dH~ACoy7B3SQIry$Y)q zl6>d{+VT&!60_A#iZ6k%2c(BvTI2oWGs8y3zKJ)o$l|N^J=fIe7#f3D9Cd$*Hyh1~ z62+~@N&nTCSj>Fvi&Glxy`$x#WELtLT>HzLnh7ERs3c)#=H`;7X6%x6572 zEf9cUrPQH9H5zu)*kHqwLwfXzl@5y!T!1K8yjTPi_dv?L`s<_D)*=laK6;o0Lqq?z zBv1J+VFBZDxNiq{WUxST*PsD_7rDt`NOtuEEjzmzaW*)%dD~tI?J_T zC9%X&Z!0dj-%yNBl`BcjQml(K(T=noYr>lKuz*THk+6#vzwg_>{kFVuN2g-Q#q=6$ zi@WqzFui4qOjUuz@zJc;GQ^+YQX8@D6nbWgUx!jE)-YAutJhINQ}Fj<_FdH6BGZ!- zt7CJ;l(x{)=4Tv2s5tDh_~J@yKj1ZI1e2&lg7LSW%q5Y8zFXA0B~$ZQN@dU@zZI<_ zK4kCf$i*Qx6E%xI&NZUN(lhEF@5{2NfuSVzh&2eSk3(bTbBq=8s-n&FtJX#*eAB;* z;7)-dVWv}HIplB{dZ5>P%l`#mqdQh@@d&(t@GfaZ43r`9GJkq`eMyqD*26)Mzlymi37jF#Ez>vB1 zH8vV@f*p)w;h1qgpjhkoPzS3pWHgLP^9!ID&@`}!@rlxUQ;`+6j`bFec(oDv$zFa5 zn80LbD{DfVf~Iwggxi>Bv$>M}?Wck5)G*e3)XiREI4bM0!Bhkbi)%#<93#%44dEXs z`YZZ`f>vs=sq7Bwa=O$fJ6Xr)<;bXzHiwH{$0(F5@w?Ng2qZY(weQOX7v=T2skV;q zqZ*8~mN{GxGB)Z0(LFan->To2=eT@in-=pJ;iKrfq?)uu)#HO?Rl)`j;Ym;bdrb#0 z>}iV|y~(Ci-#d?<#332-UHcoh_Qu*CD(Ly?#N@yHdDAuBbhZ+=)Pq1A&GUD2om5Z&durn zc+CQBt_Fl@U1p3i_eflb(LY@WPnbB>U;qoaqV!mE7)27!G^SCZ1mCw~NovO>J4+(UA4$lNa2Y2yQ327Jk zWM=u1<)V_}OO|CBZmVbh1nXIGPFW%?JWTDzWRWD-T!`-15;!HQdn75F;sF)YO6!m z{xCEWWuZZhi2Sg+S2n-3`dIE%BC&JtZLOL}Bo;a04II(m^h!FqM{*xN}( zAVj`PN)bmCS;e;_$q}|>fWR%O`<@d~?TgJS9ED1lL=S0>h{m>W^`W?QKB>L*RV(XEtqNY!YOD}2<%VaCipeQtZM+)jI80ag zLE0E(v-~~g7$1)+OhU4p0qR{Y%|uACDELVSU0exub5E*qH9bF5!Y8H6qJ@}b5OBdO zdQk1)mISe$UJ`~RcXJ$<*ouY}r-0FI5i32!IbBbRStz*Je0xbjWmP#PC3V=h=Rfy; ze2i3&9u8LZ|D7&AMQFcFFc6N@h|Z_w1tzxVP|T;)5y~V$izu!ILCG5sY2D8pl#HjK zSF)vdBNrI+{1DzKJie_@LF6nq{~L&m`ILhrH*7o^tq*9wgXEG20rHW=8xjZPXp(i) zI2T?m?M!&pkR1RENdJrNx4iy*gO%UX7fF8UTW?7YW8j5i3AhPP6IbS4q;l(r)=8Is zpkyHJD|+K|SgiSb3PGWxYKAm9RaXii&~p7JiJeufe48t#138Q>XOoaHI}Qbv>@&Zj^BDWWS#42?#lP5$;HLOo2PJq=XLg& z4Uz(QH!k2}>TiGot`oeT_Ij_fA5zb5s%M?<{P((DYsB6HxztQy^R0fz@&vUP2GCmz z;r{U0c5HmCm(DtAr+D03SpYSw&rfPh%7IUvIf`xm(y z64bJ^kqyO@2aTyVmOcHw-sA6GYJJ*@dmi=nXybDTGp3KA5-1>EA{RtAM(fhZeO9?; z2xyp^B$uGZ8gxlTpYRxYW4F&Zl(1@k@i57mUxu%B@y608F9b(!jUB^Qw@J1c}P;Za_*VJ8#wD zj~0xw*G80Ph+Cz)fzS?As{VTG(xR3;gRr8rzH@&J+xD_K_lj$Ei@Jz4W?~HTFNP51 z4~l*q6XuZU(-2c%jzL(YGwLiFtVieT3?{M~BnMdOoU$4XLr9tn8)D;aHnHnws2&q0 zq{LY&wF$yIUC73u{H8V3+6xY`4@W|__>b%_p+CaIJ4_MAmr{be{D}=;^#I_ig8NC5 zhR-gch&3)m>Bslf0&j>qsJdnxSIwcdoH4f$Eo{`wPKZ>e?C$*^YV3T5&v|7ry% z2J)9;_vZKUE7p1-6i?K{c(!Ej@{{m6_XJ2r@%M+61Ka;!rt8BP{wHQt-G zZ2dIk%c?{1&UQvVCO+ zOGMuqHG2S&lA>yp5eO!}$C0IrQHlk=lSGb4T!9M$3^`r+qznIO zMPgqBB`5(81ZmkeD2El0mrpHQ4=1q(=pi@J;$-tat)lok2MN(6`dZ*YBu#(v6G_8R zr_XNobjL$2cmr9vQ^4y5Kmje$ndo_OAB#uGn!@&vyEeOt`VuiG64=w|&pY zu*Ff7Xb3>icl)gPZW+Vny&v2v1oA8~i-ZNki>ujM|I)Y`r&ve=vUcmv#?sL(02}O; zAnAjl4XTCo5kNuRC4DR^tcH17r|@St?>t9=*UnA=LOTpXUG_URO{)IVZd6UZ<-nxDe{b+X{AK3S&BFPHgrV*LOY zTNL*;S_~xhFqs$YvwZXJJxJ9<_r@d7#HVHlHJX*^qG$Xlc;KAUq;W&*$j@X;?jwK| z|L*)?y~p1Z78I{Gj>(z=bBE&mtQbR5M6b6a|Ja{F)nmpglVP^a+O>sR|bulD;dc3xS}!s&#_=zu3dSy*4kD@HIp+e=ro zxV^X2-+S?TUn2)mQy%rV-rd;#pZ%R@{a0_*To*J&rVj*56#KJPT?Fs~AUS<|GJNHu zA{iitdOkvXv@Re(#Dbhr7l!Ngq%ngRZHl&wk_LV2Z+V)Xuh*XjJaSWtq<3A(L&v#M zlw4W+qE(LQ{xFE3_FM3@Qfx4zWbjG}xC2pNy#lf1PM#1Hh5@x~72VUW4Z&yL%g#z5 zbOeBrV#XJFiAZ~GYdMt$1(C=G@RuvW;o1VsfDQxLwkx?@=2s&6%@ME&R)Tzv;L(rSL*vd32h7d0uzX^36ugg%8#>ZZiyK2+w-cxP0u={daq;R#zxhwL;HYD?>_J7 z0xImH1TeFitXmmnbH_;-J;d* zWM#MLs`*wm>lkQ4Ll8&G&ll|iv$YffGNKAh8~mfRS4gNZZ0H|>yyT=}E&xJPz9+k# zSRcTbi#Sa)Ju?_lhiDjvW2}A`)#yTU9IZ-UP7Ne`v9?8@%XR@bWh}r@UcAV`;NUwh z7j)S2;-*VN+2+lqL~r^r_-4xf7u%j8c~Z@I0yX*f`cKU6sZk(p{7f$ zeFN-DFqMRUsRE~HoPrAI6iU)5q3H-)HqZ=05r060tysvYs@_ACBfJFT!=M0|SI=6_ z!C(NQGX3$14qczNQ_%ug+a=_|96Z$Q`lY%7OqCh!6EP?`*&lj^xs18408S2BW6qhrZ!uUQIh!l2>;cx$1dSDicPMgkdYc5f`H&F!REH2 zdt#Qn?a#{m$rFt30|H_#-i!>Kyo5zPR#z+rhvi2VaGg2DDFT@V&CyB)Bk>w{H;2Ml z2w2eO^;Rpqf}b@VlhB3_KBI*b;U{|%m@itlZ`qWU-Mal_1+fLgUyEbGTaO6(PdnM| zTS~0JeNZoDF4mN4)ZQ9+fZMu#%UyTp7ylH+8h$r1+pOP4n~NjLJX%4H(c+MEE586X zaWL?f5RwpF=4XjD!(s}N2BtkRs_M#qbD4I);)4NXCKpd5n{c4MKfE^o z{%5UqWT|ztEP=PnEa{o+b4Pe-@A0gK3I!CTVHgLI)^Vd| z3<*JUy;Ubs+vXrv1|A(8vJ@ifCDDq<-f)4`uujTTbz?u-ZJKTkmz`+G~lPwsFWsEDmfBz$;wluz=2BTP$Z6p&2B&IitYg`KthUa zeR#@bVVH2{_wJbQH`DoN4vwD))b()~ z9VgX1NR*07)nX9!V0YSVrsxDohl(h*JJc;`RF=gPTqf8A4MW;Dp64TAhZm);*E6o5 z4lWggak7=&BJI3sVjF@%p;ae01$>3YYU8dMI(gS;Y)eBfo4qd)fcV5)10KDf_~Y*b z&BSmUMdI^w2{FKZaQ*41Cm^1UtcX4O7MsYx3UhoW;J(-lFABD!&KgV9V09j$L5QWmJk(JBV1J~7=@;SvB zLKSuspsZ&gUb;S8{Y1 zXXJRRNm8@ONBq`S%#Z70UG6Me`*IEr+ zi**ZkIq)YM*h=+GS4|OXV7ET?%TCNenfVS%C)^*5e!)9k{J&_Tg-uxpc~S#6eF}&VQtHy|UQ95JuAg;Qs(lc)jga zKVg#l4csc@ic_?pF-d)q)yt?g>=78WB_3iVmCyuTKC$ zu^)TjcKOYxczL3bRa}(Syw-gdABy8S zRqAA!!;T;7^-xd3SP@xD`vEjJDsrSKJ$1KOQReBLZrb66J8Q43Cs|OnzRN-fzi5XZ zA>Pov&*G<9C8!PrX{jtG$`TpLy2HU56gi5v2@~vzqCcTzDv|Te-*%Mp0OkNFRgJx> zyLDO?7ZA^YiZzAQDA5+~XR>&c@I9Yq`+M2;o87FXn!)?~4M{9JIB z_!D@g%PAtG^7Kp{;A4c_iPX>yY!*)(-68u(zL#FM{$W_;!=s`&@lfNTGw{5Yvn%1I zAOVLr*Qb7P@nB{ns*?pDDh+Q-@ykl1C;ua!Me?+w|3ZuRO2^Q2A2g0)5#?~G|3Pzd zUAa4Acm#&MOxBEm3e}b(0vHU1Ow&)YJDU-hmT`r-Jcva|MD-fy22)i>uL6|R8Xsf#DA$Q*(eu=n$9`W=BbtrcKc{J@VNfmr<+SCu z1VBunR~S<%lc`3v=|zwm!%TZlA}ap3g?*vE5tUsjDnKmN%}TYJrR&{}tgmWoDP4O} zTQN(7{aHeUO2m#Y_hgeeW!5YHqgjBjA`^w|Fg`JBmHL)TskglMPQQ+RrKq6?f3}@V zZd@n+Y506=SG4gWVdX5X?6=o zIPhM%nE;8DjR*IZ&kF(VzkgDWW~l^_`h+?%4AKqOxXGtTT z;nF3Oi0-aB5h~r$)acgwgS#s>ItGpIoSUut;78O6|A}7ite(bY4ZS}uYo)rKPLNZo z!<*>k-sb&P=VJFld;#o}gu<_wb3LcI|{U@$$qJUhTu0K#BrD@#s8jw+cLuv9U!)Kan{>Ju_)mJ^j6Jcp)N8jSh@o&>vpefR;UNglx1f3% zOCyyUL4GMKagV3a|$yrYX$u@eiwQIh}rx;0y5uG{$ zs%^~W-bFUK{b0R2dfi|jliAJM54rm zQ(b4++7K9$on-@>A-;wSlCvIa-j(p9>!|ZaM0A~!<8ckl?n8v1T{cV1^+7g zh&A=OXCY8ynuOw(s6PI^M0a4LuHx`DQCDzimPEzP*vIJi3#2OGN?A{bEG@YMHa4L-LL|LqPpG1BU_8=Rp9a^i*5uyZ*d|({_lCLIz`xz;}` zb_DE1dt%^g9fbXH<1>Y`+kEEZ=I3`eM3J;QJ4g{FyU5is|xRJLH3UN3neaK-^A~UTNW+&KSfON`Zw2>N`VX#DGWKKa{aVSSQZwNS6kN> zFlP}BsKPqtVwl|^m~Ql}Np2?QL8=Cve!~mvrV=jHeSJK$VQe{4O(#j}B+a9O6JLfV z@`8$~am!{%JXHH`ZRb(g1Yl?xdB0$MKuy~OSI5efD;1KXE%p*w$MMQraUT-F&tn5P*Bx0+ON_P zb*&sF3`6B0a74|=bdV4V0jiuRjqswt%CBHL0se-EX-51JkQKpGiQ|@2e8qJ+;}h-= ztG+(3%7y#2U8RJ`;h?Mn`glj^T6i?#5dRxK|fqlq5bIN^!Q4qN#0OxyB*T z^%-H^aqKVdj&pHpDt5mzxvx=LPSsgA@{gy{#u-t}{b7HWI)7$qW0I8p@ue#JlaR3N zPeR(VKTG%u;S)$<_9x_v@X^v)bYbI?n*HI3+nzd>mlIYPCwO)*&E+ie8V0$rz-@pJ zG-na;i_*&SOw1G_o*-bDO$Q`rj4Ft3e3U&Beqn_W_fwm(sUS|^$)!Nu14wLndVAk6(5qQZosPngW7G$l*ARxFiK zFffQbv7f%2ZGQp{OKyHw7RSylo$4^vRph3NhY`!iy$8{<1vINBp1J}h#Y6lMWU2Jc zC!OeRz&)N*JU)QbbD$U|QdAQUc4rN52z5>7m~D&~GXnRB!IE#=0_b(b+1klo;RGNs zO_UmHynt)SZB|WA@vfU`!<_`8vmKT4pw&6-As+NBeGc+k9X<}}0di3cDFdGuMF1iC zD5G5>j{ZciAYrV?@P<;~uA>Xr)tHc&=+|2lC`L9KS}ILB!G-q{S&;hmRcx(I+hq3u z!^xBV9)t8co#><@0GPFgAw~LNerS@Tf_td#P|8I99%B`Cl$6>7TCSKhC6l$Rv+;*~ zTMUKwq>p9Vik_~s8DAKt0ggrk&+(O ziS?4!T5LB4b9q}=OtEa>Nbh0+rz@3FoTB||!#dOvskL?vE!nahQL<+`XCgKlKR7!G z790g@QiPL2do4mgP$-EbEcQDIY-iA|64{ zG^Rz|k~bCyFk4+2XYBH!#q^9fUgRMbLd8ep$c29aI*xzb$E!8u}AdNZ25#_(zK z9K+}L^9tiE*)#m{r)f22)A<{S5m2o1b965CTnS4MubOrsJ#x}B?Bi|U{YNa^K$JTu z>&O-md>e6e@=Ph&$e7_7jd6#T2;d4MB{rdN4}=!oo!b*b+(2Ws(%EN$8AVem;=|8R z6w#FAAQT^%$BCBo0$d}WuQ{BrIhyZl1@m1mmQV4omOTOl*Wy!RP_>{QMJqJnt7jj} z!?06Ad{C<>;Dk0NneIRk$yUK2vm52g7s z>DMC6Yet#=i&LgcjB!*aAx)nQz8Xa`Eb*_~FMiq4*u&ZVN6xQ5?Y`aH@4x!x#f#ma zc6Z+PcVG4Q|7M=P<2?@8EpNA+K!^Vct5;ZU7t=&9y(BsVBFOgT!qKU5zvsnUMc zhJuPe?LHp~0azjuL_SOUX`;m7J+mmyVyWZ`pNzbpku<#T?Cth`GJEX(5ONIffwIzdAr6@vDC4Z3z0S*X18CI2!_ zIc;ano=`sz%}Ctv>sl-*lM#r{u5;b|GN^&hg8ua-^t{)3Kv ztran^(X7mRw!08J)@u6=9nH&;k~z%E1R^Ofm-Ptt9;~k3CiQSa>!#!Fo@nb3`#lE; zwGBZ{5%VM2)8Z^G2=ogWlNIO}2}YD5dMAgc9*|M9#>dODgzd9s?Lx4XWJ+tDyu0xX z?Q!5o3tiGC#`AJQ(9a*S|Iao=8GM{$%IP82x>}y4V52(0y7)?Hvy@^ba{VcZ{3(h2 zn`xJSr0lWbGc4~xwWGnS1lG1(N8NxUI5Xh8=h4zF5%-8RBm}y+9gp?+t$9DMs6REO z%Z99q<9I`cwe=|Z;6k<)Z!|o-b)nuL#(KZ&2gF-XF6=(hY!D6qW5sb!wMk5)lr)Lz zX>myz4kF_u16^VXFT6JTnK6=-gC>tWSTAVP>G;@<(>8<>S>!HVYq15upPJ2csRsGn z{+nGVak}e7S0Q$_EY(SZx)NLT=MDBv-C)+~_>wzoGxkFGbUwLiee%8y(6JisEAR)U zPB7nFZd>sAk3@^4o-{P*xo{fV3sj1DtNuM^+Wy@B;}$Thmw4`dkBDCyvJX zufmNuPga-jr5ZjH&W**8GmT|Zd?;(3$vgY7klQavd;cNO(Z0rY;PF{qT@`WzCRsi` zDrZoglP9=_C={v>$p%)hRC5gwj5~9)R=SzmvU*A0y!j_1{*w{^$%vO@#4WOT^ucG3 zyjCsLyBka9n!dZyPNFF{AeH?osxEaopdl-$_6b=jWV^zf;Ih*21bi`2K)ISXn*-i_MNXIocI5{ z1kC53cL~6M;~1}-UyAV>EwjLti~8gGG=-?R0&L@IH67v|Zf!i=`lb;aojMka@f(@< zALr-wd<2<8&*)#Ds~D?p)R~3!a^p>OIpuTW|X~3 z09{$A28smjaqSe0vVXJvc7J#K1xMSz-Tigj#jCVq_U)Pt?lI)D71R&7{7uHPcVO*W zR?g1))atzlsq9jKW7H?~n;K^NqB?ym-@oOrIX&+6U+pEcr=rt{_`hDZ)E|S=8PBrf zp8WH(LC?h7eN<^(4l=6cI6#G&DQ2$|6hod3 z?DH`I)oAdX&TKJcX#Y2~Pe9xQ7sHQ3(Vy?U*!^|qtsJFlMazWS?6R#f#&ZNXpn zf9^lqezW(>i=90$y4{;EUw`jzZ2!;x&a?ijx4quAJ9&4bo7erLs~O0KYIjXp%5A3_ zkAbxu$^u{#7^Gp%N~?sAq0}x`^F@doO5HNhq#E``gK6m+>rhp~plfQt(UQO|M^Kg& zpr&Y0gq~$VO;Vjx9-!Ke?+yt1soW<^!c=O4_GM4bFxr(QY7wUl{64- zTQB_3hW~TB7FP6RnUgG^7)((TF(@^W$Ww9XqJ}BjH?cD{`!2%zGrnrlh=O$O8^UYH zuW#ZSl;ZA}U86_11~6T4`pPAwZeSX6@`ek5gRfQE?w?*0cnMA% z6_nMPZ#X6mN91c9k9g6(rgEzvKga3AskQ3rcpi|dQyg$7SNvKog;=``zJ`UT+!9yvjiN0AV3C4rOsRNEwl=@+0k);r2uxfE_IJ4Xdh`3 zHb#&IvzTruI5Wob?X8E{{2OS~EQSBB!Bi=!76fX;DC2qs*kWUQ`pGw4#|EJ`H$FD- zIF!DpVlp2KN!a7jn4jip#c|EU4RxJkr~D_B$0k)k23Qc@5#DsYWh}Ssc7fMbY;xU% zIO1cxMawhWX6c)RKS=eO<@Cj<&;SXGRLQ1q0u9n&{^ev|1U-^mX-+NxDwzV%m&h4R zxpleP4MsVij+6OpJ}nrRNOfA2SREF%$#NE8m@=dpAFvu>5CO@JYExU#$OLq331RUf z+7xtU)5Jyxz(jWh@FbsMor7${+jf|ovzVRi6cE&V#Ak&=3eP|!)FQL@YRob zWQFY5qtpx+p7X}G8?aj!MIFW80yfS@t!2(ZlnF_}ubCi*V&I7`%SB@5R3i?f4Hx4n zl@4)X>V*^7u_fH2+J7k^$w9Zn0xxr0>$t3@?@4HfvSp|FbT|T&ff6E=qJRQ_Np2}q zctIOBC==Qf2IATwX#uW+XybH7Vj#A@S_}ls5sHOPX6fLEyLZ0rVv^1@mXAfi$9p}R zyahrk(t|XseRe}$DD}X&oQ;h*rTx$e<8o8{!s3_$4kh5>iu1?aI*uJM&Dv1`!aV8O zXdJ+2cCWAG68CCFlFwi%=bTS>-=J4+f$uH0{9nWAh7K%hRePmuN0v{FOSz?dvdy0O z4xFVazUBYs4$m361^Vxfsfi$0^DVh6wWJR%m_n@0;E>BFyy1QqXA>)_IGEqn%jDlK zcfR)Rg2G1fa@pK`xO};4M-5$2ntkiu#^%4owY6FV-Iv5X{p-fjdGT`&W!Z6aeqHAU zH)1+4PTpL63ofqN99)zgyQ=aV7Fhv$T24J`b$VjCshT;f^hTlGiYH=es^v_3UF_nu z;6np-i<+JmqE%|+v#^*;jPcf~NfRA|j_w;AWf-0w6z}U$uX%Pb0HXO-FYntzy;{!( zhpnKnx4l8pm)aNyKd;X~!k&oVO8hruQR9AR*#I}<*X+N85WknHnH+xR^B@BE%<*CCxI-?rOyu@`@OsCbf=Gr^5gILl=U80Jk=Hgp273pfF zuodbZ7=|u}Mdh==Z|v64I+~Wp@1Wa#KfXke37jjr(Q98?ARh#PUfWS6eD<>{n;o?wyLhDM4ST)%5VCg1sTR>-0 z_znx&fK?AG-i)rg*)GOk79Z4A$tB(4rc#4Do-3LiYi>d%^VAwDxv`K#_6(n4!uy$? zh@CF$W{JJh=3=K5Ss-Q2*m#fuPaZ0=qfTvxYVAvQUY-|J7!AuuK`AfN{!6ZM&+}2V zS#r_%#cGWRJgaCm(Wt3A%hF>{+(LH3zfCFe7l-T6t}=F z>5W;&3-eVnm0~8=2GeSDJY-{}qh}WVJ(V?w%lv*3fm}tswyUR~NMJhIMeSJK{HQ{w zOl>@&90=uwW{k-OI0v#Yvz6N!d9@E_#tH0Dp!GChXhM4_yd5lyDzfJpI z9R9WHc(^?E+D_mlSj{3f)5KyHvX=(_=yRO}$BA;A1g8nPjC-9d=fb3{mlzwd>bYaK z@1(M`PB^v_OArDqw!}Du;yMbuAg~XeUO{nOLZ9REb5xGWE#C}`hFl&-a+bljuo!I4 zlC;w?Riy+`>!>=#^3SH0o?V=EX|DX7)C`pB7Vu*fScOc$X$o}@O?;wR2nP>v_F*aR z-3bUVQT%lAO%(A6M9L6ipQVzv6J;BR+fEUO|UrX{>+FzS? z&o1khUCkZaV4zMo6z_g5lP{B6|F}Fq0|b~4vqU=e!_DQ>sr|-vKvu$_{NUb$Z`|(d z%xAIXH?Y^*wpz2xOImGXs&prFoYLB`l}w{^?5ei+)q2%;@^v!D;vGIIdb4MOHP&LW z{~D98D2Kame%^VzzwGW&h>gU;F$2{br}X`@EAyvm4zf_{*JNLD7x= zgfH8_1lDS8kK|E9CagLuoz>E(SI?V{TF0YCZb!0#Ffz7ROM;S@uLOqc3$8?~t!1z9 zqBD_NgsElpA&S@HVD18}h-Eb;!zLYH!Ab!`VhMIbsIWaMhNoJDvUMZir_{05l8mtx zGqE7}1gl=NZj`l5sorRnU#B4qKL;b_xKuLsu&tJVR6z_%IpcouDL?}A3cs^xr&_CX zwXd#-BzN?hm(pbyU{x$XoJ{fFALZvJT)y;A0=8Tn-T*938i1*ETGIF-Y*!w1D8lE z9DB#~5(?LjPMPW^ZnI2^PpgT|U&ZPd-)!%pD+QtlDI-(c=k&bjjzZGJc zwg;$2R~@0C<$TNTz)V~te9_qHEKwhecB}Xsx1u{mglP1pq4OUcX& z6DZ-dzp;FTjy0)1jb+I#Z~?lEa$#V4f>$i@H4 zK;>GQ5~2tY3n-!)h{j#D#guW~^}=75Cac(`x%{f9)Y$7DJdS}}?&SF~#oyinFJ8pQ z2_u5PfP7IotXw^HqO?wp462lkQ&5bQN^-$E8m@bHGBp7rc-3I;meN8Y%7tA8;5)o1 zx{+ShZHGC=qw+l6HnJk+K`Wdrr3j5g?Z_j#A?SMDvD zjn$VJ`my^Q!3Mx|shYyLClN->0uQ=zLR{cufX}-dFTK?UyL)MtTNawuoq@_Gm{xXN zolZa}G?HOA+bfg~KbxJ`z1z2k)p6bB%_(M(e{!3mmTqqanPt%weVc|fPRCNz7Z=>( zw>Eqd&&$nx{j--&Yy6rg^UGLXcnY^;#I0H^$_qxTn^Y1DMab`ylk#*9NO5$Qf@7o| zHDD5|x%r@99rFcUD58aQekJBji&KE!fY(_Zjxx>$zLk=Lf&&XuOpf`>TNw zX(VXkd1+da)lbLf?{qr8R7nH@T*sV=bo|9CqVK%9_odDow6AM#5AQ79;H>HwAI@`71~m(aH+%2i#{H$6MP%Y78@|7>wXytoAv6^tf^i*qIUsc6 zs(DfFKUif^Vx81y)pXX}$%8w0zOa)MCD1qb@o@d&`l@}zHW^b})$vI5a&Pm&s=dVb zyt$u^b+!A~n9eHnwXt#k{>n?{Zp%3T(65zz(Y!Sqn;UnpOUYpWuQ6{*SQUg_ClIVR zHXm-SOlYyQ0szDF>7)kddTLTz8=EWdkjtj1=8Qc z05}0Ufk2c=%Ngc|&k)sWJfBc35F} zfcw`&brmS-ZqA@puBS?Jc{`0KHt!}s5MkgQQYnQVt zlXjs0A-$E8zf%w>BO85pfOK}KsN{HBQE7=@mfmNa$;9C3VYh_PgD5|7=Zr>KQYTT| zv0AU380aK$c`?>?yrEt;-`dQcGz?J4%{>XARdd4^`Lu)_55NE!RhJs}Ly3559|$1@ zM|*|dLh|!u5IYOC)w|UA89bQ}0e(x%fohJM8Ny#@Ez5&2Dki71GXT0%iV|%qOn>9v z8axZ_XGco7drym_w&l%#J=^>4eiQ)w=bi26J8$h7@9qB24wRqx@xS+X_GEQ7?mfa` zLfh1uQlT&NE46h)fOLXE<=}copu`z&358b@@JT)tDNmpFq7PHL-{1M$o9$P7kO&r?zC%nqZ+=#9_5Y@q z>!;nF7thTLLNu+7yMUe5&TeH}8}P4t^gmCsJL{WrI20q}nPc{jdhm!bF05UrMFIjc z{%!`cLWYao@hyzc_Vcp??`PcVb$|y!!>tN4)N@7DJoN>mfg;XFgK$-(eakat}NI*Y|=j$@(wQV^PT7Y zmpl90&$sut?S}Q~*tfE5Q=2BW2bT;-*dR7K7!2&2S?SPdUIRV0YWjhJ4GfoO;`qliea4GegG4#)bQ9NuXWbLH7D z04$;VLTviZg1YmMO&V6iu~)0lC)Yri@j@g%kJr}LGCeHy$J0;vmHkb0A;CZfJLw4p zj_=ajR3#vtBjO+#Xz_Ua@AJyprLqu!2>UHfiYs30kZO!6HL($NAbqBh%Sak zMx%oYcaZtoA%*6si(YiI4tbE)i`b7L%P6%7VCTf$Z6fdnuD&=RLo3Cb;gZNbA-L66 zIN2Jm_(0CgfW=~}xQB(Lao0|#)%?6>mxhTN;L8Z1HKE>#gK>p{g_nSUi@6r8Y?y?t z+6th|-c(AV!h~?v>>xe6IKlW5C2qUK5!rAKCbXE~KyxPU#>g}l*>*Uy zT#hsy)0)pIues?TJ4P@tIfQg1=_q<5!u6^Pb>?!$M8HGi4zjH6vywwvs>FEKGpP20 zM*>d|UE8hUyxFr}~@LtL%s76Wcx%^LafR_IfqIydL)%$k^D`t^PRMl`5P@pjw4`p3rp0#kkk|M=`C6p%wkZO&+Ynb1^Hj4l#1$i)3gpnG%@O zx+BUl30i(1>8N@2e#lA~h}F_TdFUrWX`Be1)Jr%Pz=!mGrGXwa$HdDR)NqM1N4K7P z=m!u;3MNaTK7B7SZ;IScZ^_1)4PL3n2jCF)T={5_g`4CIz4mn6T2H~$p#-*eDB$|R z`o#GBq4G#!)+gl$^*S0g2oQx38D5Qg?sIUBDzPX!&5$hr%J7Yl1)zuddi-}`y@r~UrRUta9*zIm~`^VZaO-0YrLm;J5H*1bD) zsh&)luThc_L$MKA3bkq?sedalE{jc|EC<^nwz@yE`m8*`fa>bJn2Mxa(btrW1^k+9 z7`1uBemtKVfe8+X;<^{;Ef7DB70Zl^i5jt41wA_*8vX0IAUr7%_1cObt8BGpj3CyEPJZD z`oF3V(EXsCSNt5|vprd{$em*D3Dq<{-5t$Z*35#CaAyJ4&d_kwO3sNw{bzC4)N}mc zTGongLA#yZj&5k1+qRm91+B@_TBqohvBdP>tN_Mn&ot~Xyws+&Q;|n8CM$^}<7$Yd z+-rFu;b28}8<+oSPV@yk6Z_K z-ezIsk#TlZ-U0^!zNQbobC&Q;-PLyou$qUwGQJ$v5Zki^pY#Y`1oJ1}+9v3ulN}uT z=b*&~tG;=~{>Hp&e`|6p+#AOeG85I@#njPGU|H!(Ug6N>U-m5G&%0Nhuezn*bCkGF zwjRJxtg^jMRF!A2@Qo?*eaxUDzXe8>#8FZFYEvQn_Rq zx4anZ4a=~_%isv`*IA17e;!?|e;tar)5~5}*PZ(xPXJ5JdQ~y3Ia>R=e1+7+Ct4q{ zmGm!LGi>>rW*{>6mY)2YG;S2-Z+9KO67SFy;LZFGp7VTxAT3o65h;HgANjH2WMwKVf;VyqVv`DIB{%kBSQ>2kMBx!CaH0LiMHaWsDyA3 zmaSW?J9joCHa}-C)k6;-`VY;0WBkE-TAi_8w%x%gz1%bWyS`r4RT<+bPT|L;bfpCb z|CG9;R;^~SSGURPw1 zd8?nKi0QyGQy+$O>CaEx;?Y?}vU=}-aaQjKO1B^9ldJymsH%&;y4dEE5|WiiSA7DZ z>u=t@*9Xa=j}G-d069R$zeHr0!)mgb$aK4ZZ~2tIVKFT)ihf?y{rYM=hEU1l{`=wz z3)qwwbd@Iul*mKA|6ut%zoiCHpXGq7TNlTQAQHLCTU*PQD0>VAMkSHUK!)PALOBXg zF`p8?PoMZ#Yy;7A)1r!xdA~d%g4b$MyX_r-k(?8w`3;{{!@s*R#Ij zvY3vOf{ET*G1)#`I4#aDgrt6W_qvN{Zmvb0JbZ9>dF%t~Bu37CuDDeb!a9AK*txCs z&5h+*74<2LC#0bZxb+E&6*zRNw|n=NN1_C6^-hZkgjE$F4VE(;kUpazKAq>KVEIW4U#9}Lw_b_#(9WWi&=qmvy`@`_7@1l= z3ol+Yk46l6>s=~wnopIYqJ&gMm$(7tu@cHDZpT{}DCDS=kbZSSw~tnJC^MMk+Bf^1 zMGwmDsb2`ECjYIJh&C!TUcTIbz20nk)px&>>SuDhbTaQ$z^I(Bq?2&AsA{>TeUPsq zbicbOURJaz7C=AX6eWi?o=E-KBLpw0SGAbR_Ju_de?0w$-QlmF69j|Ts^V36<>KQX zl>S{!hgA5pJoQVn6BokBVkug{3(s_>Ljf6}x6WQ=sQ9hTsx_@=t@WbqfcQCGt`eK6fjip01$8ko2aLk<2@3;q*CDnLUxg=#`EhMq#dMEK%!SCAFs+iY zYNXVE&P&Jl1?>)_hG;|$DRhIdWJl#G;*Wq82AbgHwxeozC25{AYKouyLWSJP<-)1j zL6-*y^9PUA9exN2S~~jn7L(hp?3W3yk{}O2<{HDQ73Whm)oz&|PrKFh^!DcZ#`dH;r^DPMLzpCaDGU(v< zQehNwWfi%d%ty57mk>(H`E?lNKRwL`IO_qXpkS#5-ewd9FR)sJ`Y*KKM;x6# zMpM4g@8er<-u@M4D;KO@NhqW`!HNSPvj51g7|}t)Mi2&wbmtt*Y_I1{e-Dg;A8uV8 z-ukP*GOgE;)qGjj1+6|-t{~&3>f+rEwH)tmm^pL4ksd8pekN*Fdmo@Hbpc zL9M8C$uds{xZ^+Z8wYqt0^X{D|ch?_Kn$Fn# zf+ZbvzCURylIVRposZAoLlEwKswUXt;)b;z85}`O;?45o!c@0fjmRj>+H0u^eM`I!(3y`sx_1O zPq!=cgCaKFWUHRdPfps90e7J!QtAK@Gyn|~0-mvm$h@viRm#h=f`F1tgJy@y3FQPA z2pwel>1KbmGTkqNX{X+!!X-{uSw5<(h5h*qX7p${?ZE~rwufoCC9EQH*jYuDDDZ4<>Ci?c-hEVy_QNf@dmxwb40*6`)0}-U!hQcq^ zxso3CD*Jo@i+snnH^rbtj61s0tGEV>uCu#tu~2bYnaNYtLI7O(t)SE}zK{tg1MrPD z?qw~w)}bU#K51LS0_YZh0Q$fX%+Dp|xu`4sh$TyX+Y)t*piDJ{CxG}Px!bdD_9GmF zLUUp3CY%tOD~ zetn#=bO?}L)Tv$5*qIr&K*OMvdBv^QAS;4)yHE_>lo9~)VwI7dw2E?B!1kn=MA9$3 z8_BPGrN*pSV@FN>m0Gn*ZRzy1AjEK#=G9qv&u-mUzPAVFwqeo&8nkB;y*f%1x|O~6 zJ+RQs=IYIWpU(B5>M`k+;e}DH;`d#P&RWr7B;MQ%-VEL5;hW%Ogl&m?$e(KYfp+euk5APDDDruKOzn-2jS%_n3EPG&DmCzumZZ z*vaHyZAUe@oxOz8uPxTs)FpJ$&cLuEi?3rSpjY~#q1lGBy71sx(}C={$Sl>uN1{7; z=uDn!D3NEBRvP=cnR>ZlLs0fmN}s68i^PL)tnYbLCI2+5N<`)CgHK%MVN)Y0Tb9Bc z?z2FNTtqdvs*9-*LJYo4*`=`=?(}76sTCV@+geLX4;SplkNEvUw<;`(9H!g+-P*Gs zpIN3rdKxUE23Ax|pk4j0Y2>@_ve)WPz9@^!$geJV9Rq73R07llJO@!>5H)ZPvew3C zTVOM7an1lK79Vn`!eDwE#BHe1*4?%i!KTG&J{^w0WC9Yi9vzq)yBLDYJuwzr@d5Eu zEp(IHmN|yi$M=k-83-%`q}73j=&P`Nb#;U#7p5rmfl}d@ax`5zdRqsewa_p$8p);^ zK&u)BMu6NpotNr80OC;sCqa@NTY=F1Q`F>{CcyoCOja;Z_s_w;BWROY zsi0>XSC?}3qcvXOCmVO+D;^E}eNX*8t7iGgdGD_CqI!;+TKL{Q|2_J~yr<*^elKew zj1zJtTH|(PQ+6k;EsuHvf#ROG(NwA7SHa3JfmUi@N@L_=@t3_>ab8EBx^-(qsS03R zH0-5&>z2n9_>>`zsDY{kt%5*UwXUVnLEE^!iX7LNeOc#Hj)Z``s<#m+%b$G=Gq!0# zT6IxSWtny_GS$Ig0FyCa{IIsl=LhrRr!4%SfmTs<n+Ge*dCvzz@)P{$#m zA}yF8$pP#||CpfI7$XkNq?^nP%hNT|#StX)w3sqtAN_86jbSUJiVt+H7xj_FAZuoN zsN@K@#Lvkmq<9RyooyrS2##OE-pwQ-tf0X>8vky*r)q zaj|Ic&X4V|Q{L3bfpf`J(PcZJ$LozPPJoJ={#GjX_Y=CEBM-c^(fY7lGDEiKwU%lS z+?&vOw+)u{lBmfUI|aqA2%TOQ+S36c5=tnV(qS+F9a|ejM8{|I$@`iKofDn1A&9?3 zvzIVCa;nE}lUujo22nTY+FG_<*TwiqMkI&OkSDFd27CNF^H;~2>8DzXOJ(m<&* zMQEe%Y0eMEZP~UmTLP&W9$nfa`zC zl6+s$F)T;jPIA&!$NX5nOv-m#AQQ<`Pd_c@!$=03Kn8Ds;?QxD*Y6!xOxgo5-}4cm zV1{(qA={?`@C3d{=Fe=~bf?{1+Q1Bb(M3O45VX$qc#VBIjKhLAfUn=y|LV#BASEBMiZb4Sp(8qKE}$W>qs)wf7g_2UiOa?Y)3 zQMN6rD}7kQz=3j-ld<=FN^XoH?mDjsv9WVcBe8{3efO#VDxv&(=XDv%x4v_vpYyZ+ z`TOn%#FAEoVSx*4A?Q;uoz(584k>4J;nA@KUU;en6Rl~c?bQAAC9`>KzD^ancw$z0 zg_Er=xc^dn{=7h-UnN{6ECtj2GTV9f{AbTsNr4UE!NKarR=fwE{yeLX^N~7K;%q-c zf54dl9Xhq?9MuxTCg8xEZx05GBHjjvEe@-rc)C~+-J&+M3mIpAS!FG>qwW66_DlgI zp15%#GC@Gl1jiqsPa1DM&$);E4w^wzjs$p^{;V^fBgS~49}J{H9wue{fJlngIQx=u z%)RijieU>NhyA==y)IqXTAo;{I=F-E8zChf8;`uHSg7@x*eoG`vFdTuW zG5Wd#a2O=Y0^77g-OXAgoDmMUC>u_n(*okuKzIVe zGxfgxQZ{~Z9xGaRU;+AJeyS`9dlz*cmluxKiWK7JQ9UQ;a)d45+14b)E^4L3E6O-? z{ru1V6nA61)z`eS)ov-eBRyIR+`5c6@HL>h$~oN_ERc|LCJ?^cUm9UKeq!= zPx-`ZU&`k|Hv+Rq!fCbr8ko8vXM60ABBed0`pmAhoy-i5k?ncVQtXu&u&GLLE?lw($TAYA}N##;i zuNcE{j6qN}_$jU!@%Cs=lIcyn%_)ro3W-%S!Zd~@QInm4%wNx`a2oDFOH&0uX9D$fm%u27nz!C2DTg?27=h-rKlUwbS1hr*(po2&RUU&rUscD zOXDggOx5ma9=Hx7aKS*;$vXBm7a)ZOic&2=l*gp9C}M0?DbN+o*y0U(60Qygh)`@R zRH87oiZGC)w&D~c{aVTkm&8L)&*bVdzv{-{np50rg6F~~mckU{z6!EjYadL#`5hwf9I;m& zP3!u1x@Gd^yMN+Hhgr+v@@;xmG%E?LP$sHu#Ke>h< zyw`gy4)6d)0gcky9glxOY{V1l?qJ;yGiZ^ZZ(iZQ?UyhO-+j$W%My9c4d-up0-qiW z|AYGrsAp&OQhcGM+a(Mt$)`@Y=jl18iY-mfo}SZ^(zDIHKS5!}n28Na@L*Z3EbR55WMi`uvZF7`P1jkVm;w7BboxNh zv`6<$U}lfCDnP%q;*$=>M1hMK6YEf(;^rk>)u5{8^I0{9bODF zke>V9{YQK^U7lSz9nVYz!hk2^4;g(zYKy2RjOCkB(unSo>Ip$vfV?i^OSJfq`Dnc_xd<34nEF`llbE)aO5zqNsi=1M7Uitz`B{b?c$(rIaN zSF3cfaO<6>dBgu7uw<%TUk~>67qhR$bXrY&(f3V$3&EOmM9bC&Mp9F*?wk{r(o`U; zQ=OdDg^w&|$JI4cuaBT)kN1Gv<|xfXLvAFVCECf`$v0^T&aCW#fBA^7G1L{uxaef8 zKITO&E-{DY1{FxV!vgOXr3dT09w~dqxJqAX z*P9oG)9K|DoW8oUIH<={tkB)J;*d$9HZ}&r`+rrH(`;B3WXPC7Att-~oK)oTIdFTY zPpa0^8W#0=IdkgcNg2A+3jdf^^V2gm17MH3{t)}&5JL#GT1g6W7s2U}loKkrF|XO= zaRlOqJ>X->7Ui;zc4-+-no>(ZB`t>)d5L*LuN>db+gAR~(-S5e z@5XI8h+x!x1V;`%!uIuD+b;U76&8`EFfn#4YENCa>AKc=)kZw^erP!_#IG4Em}a3{ zg2B+@zdEg(R;g;7OvqoTm*B<5lP7>{oWX=S!x6VP9-EHszrI?+O&zj{y5YjzNL;vy z<&R$l6v~bHdkg&YlB$B3hI6GGdGYVoS~lG%dOQ#<{{!~D+I`|pD5PoL7TZBw>zxpB zvy8>{qGg0#&KQxy9YxleM%V2oe7a#Cj2Oxd|xxbtGQh*fyG@nv+#P!QJGo4`>d~?V_?~*m z)jL)$;^G(&3Fd)?(Si6<^6`~8p{ZtL;D3fsd18N04B~0Fo?;S;EpRl*((9}!HUZ!A z)W;l!k5?$o46c)E#%DurVI^yJR86kqPQ)(s7Ozg1s%PifkgfW2ExJYeAN;6 zlYk0mbJ-*pr2>*gfpA4zBliTMRX{01GS!FTpw;b_-J8xUU_Y(Y#Lmg51ON==>&m&D z_-Nz|m%=MJ zy8x9-3*1{$2&gF&=YX3-b;0wI6ZYd>0ZIwEsfa;s0Gj6$?k4UP>#9qP1%}Sj_QOqI zq9<`Z{k}}xIOElUPI!1yv-eEy901rC(m^pO4j0t&wz1JI&Jh+)*1n(4Y7gnFyDy+1-8+{*exUE&sbICeM{RG0rI(qFs2W6ROH|u1l!va_(^$L}X=~(MrH~fo>Axp?r zQ1lpY1~RW;ggndxf|v5?RkB~S)sQzek{|@Km ztxh|eX|d|aRg$EfKFA(TbYVk5Kb}8W2t@bPL5vRiOLLMCRV{oQN89ACSa>MIjX*_+ zx2d%$QF0~^C()*L~h+9nrx(yB1c8^bn@Cu$HD+jflv+&)_f#Jrh3ehgdiDYJjx z&_7?RHZ!c@=KtNi^FU4P9L^a+%b}IVb^)DW5>_VW_n-_oHV~8nSKpd4;BSj@C8>gm ztSlx6i%vM9OLm#^npoK+M-Y_m#_`qe0HMoP?pnv&P#Vc9Cl2|5RZ#=xSIgBQ6{GpZ zp$s%QLek(2!bwU%VpG#cq$!@C{WSK9cCCQELIs%@u0zQlNMK^8iBvDgFP_@CCzkfj z|5#hvat=MpMWz-+>$6rJblAisrOFG}roA@|>25GkorqJit}xsqaC~w|)}CEQ0;!At zotNr;*d@?m2zrh>IvCgn(q7Mxu^${loAFV^_Awsa2^(djc02eqa|ympffDhvRdwze zVSm$BDTct8VSdPLgBSQRM`%PTIprt5T-%6nc$SY&#HRPbbI+PKPv#>^y~B8>N-<)> zNJaNWsj*2Z{1#xfa$vOTXmL<_Eft46mmJ&5G(1s&6-K7RCyn+s{({YGRs$ttZbDHT zB-Fsoq<6yIt_&k=d;GQ(k#f8Q@Hv_mdBjVkeFW4x)A_hk`~zy@@eo4HcKBE@=R5Mx zZ4YHSos0JI3n1KW@aHHFIu6fZp)U<`?q*Ug65f53>n{N=x7(s}1ZTxaU2kyk)t{=J zi*i~`ATqeugL;KK<_kf$eiZE1V)%Z+=>JKPt48UUR_eJLfqIt^nL4g?)`@Zy=XGEi zAB*u(F~pi;aF+Ykx$13)zk3E>?O~c^ho}7-jSVlWe$JjFC57{%tTwQLe%RQ$`(Ow| zd8o#)^-%r4;l0hHhxdz(yAK{5uRpx|@b3NN;{Kg{<9KUxc&|9VuYNx%?%iL%JA8O| z>p^6Fp&Fc_UBv*@|F+)Uz+ATexU8WR!R###9M9Ri8|^Mv8sVhBb{BJTS{vcS4Zh!m zwtfA>`o@?2zpp$6Gdewub^JtkamPvsVon*^FNwmD=+JZpIbu+{(of5ZLAG2^fy*g6 zwr7HrD>(WoAb%^?imb_G&!rWK?ceniGT{^9na+u1B8p@nI+==|{HG;`AX7(8FclUEg;|G;ah6cf4aOH#$M0=A!AwRrYSlRQZj1}p=jxtQ zDv|o#sH#qJ*5FyP6naw^4eW{ceXo~;XV&V*-)^_v?)khvi@V7da*z3J1k7U(w{?$p z)nOn0FoJ~?6JaCEFm{BDo7MTpR{4x&HDb=x$Cs!@_7dykMsm|ns?n&r#y^>(VLdJ+_LMIk~tl8|ZR-|&p@qs6`4uTM|oGuEXo$DouT=lH94HnY#cf$K-;QwY10-8t;|Ba0KN zv(O+URLAo%hUlWv-UabJD$eqY5?4!Ipu(&Mz-dZ?vO$nFl*#PO2;s2KMyjn_p>Aqu zg%GrLazn*1*BNi!eZV0I#vP{1{0D%*V(%kQ_=(Q?G_RS%+))0kg)r~12^Sq0XPUyD^Y_0|?RO*ScJZU2__Lqg6+YlK9=oh9 zI$!>VZsvi@SI`bbBiBDD^~;}n5`=XG|bSRzd3 z1ia?QovU$giI3FB#U^%I)gxX-9z@F>JTww$QC1 zkm>(t?_Jy5Mvg?`@A(yobKV^)p=1EOYivJ{#@1xK>yf>-a@k}1kRSm{h)IGWNK4uo z|M$15`hsqt8y8BpHHq~kV~GT+tE;Q)(p6mr%Vg8kt-Mm!->*1Zj9GX2+}3I+FKzwm z>9U%F%fGbcXju()`DsdbvmiVGspa5fp(l}`TsYtd|C`+%WL`O|M|b{4JjhN7u}r}g zIiOrl%E8E+p;!kWfhq-E1ek9RjhmXjatTkRr?~ zR`ZM8;F8D7-BJ!2U?d=`Q}B_37^3(X6~f00nhw>6#A2hEWVwOqZWlME1Etz~H1j@+ z*Fe5)*{`%^QTyL!!zy^`Dey(dxgseI9k{&f{24_-Hu0}42;e^ten)?`>7NH)*MD&A z{PH{Y@B+( zAV2@qE(gyqWi$Za8T5L!!LxiiJ_k0I8EVh->m$vea@4u0$x_xeNo5&n*dOgT5?wvQ zC@G9WokzqS;u@p&-F`P4mH+l$Jo;cAY%g)VhnK+64_EOlIhccQvV7tGY!}Mk~d$>yC%^~e#{qiu~%pQtJ|HDOc zkv^nFKU!@h<`2?jx0w+EifOm>H0D$itDv~r%!3(xe~KSG7k{@M`uk0^03?!)$SpOd z$|`BHoK<9c#Lp*xAIp*yFG1Fv=r|NiRa?AhrvcHHeLXN0na1G!wX|RtH@jZMJBGcoj0O! zTiZELWHKwurboMbwOdZnG?Fd7&jajV@q%hsM;MI#70)ypx z`STepALxr`r+*iaT#ZiL(ox#WQFat-0h607b}3&;qKFDP*#(D1yo_1mg(NiaJ=ODU zvk{dZuV~t!GGRr-sl#NpQfft?R&;c6l-2hE4s-BmPwlH7ZD&WE+JZ93&x|TS(&r~H zKy5x#>1pA2=dkGlNoqbN`zg&8KBv0w7QSoAiz7&OoY>omb?;2xAE;N$SSt;+b04-A z-SYZJOpu1urRD9UO!rLQAIZkZWh(FyNg2^(g~=u+dH80|)2&52bN}Z1>1&= ziP0Ll+rfOoZ%Ty{7}-?okl}TzpeltXfXD>MyA>CarG@fr$UJ&%bPp%PcQ;2Z!pHOWY=Evj;4d#cCUUWC3$tB#U~eh!(xce2%&hQ+ z+*Y{pSll$aUN4djI3u#T7XV!>BHq<6Sg+xE(H;y#@2o^EPwdHhAH=JV+$1~VB~_@x z;si_UAtDnjIvHjOZCE!4)kM6N-GgKX9!ZL1!z*s>R@5Sp%}})4Wm&pvQ-=jSu)zI> zxmkw>#?aE9;17zTNV|0y@Yax5(PD8_V|O*h9Sf0b+e@kF$gW=Ex-^7p z*jlovF&H=bfc2dTG~v~1gS>5`+uzHZYAApu_G+{|&rrqsh7E={&W?iX`C+p9x9Snj zxiGGTK37`V=G6Z(+6Gu$kSiX|Y%OIV-R8_x!7-MsV!90nAID+qKxykkIXL}p+d>z? zA<8Y$XHj+^UQzt)y71j=etD@}-V~l7hTI&R&~5TX{Bs*)Fyl2CT zlu&7cN~Omd*KzR#I%Pwqqi8pjH5TI~c4>U2e>7+iYM+sUOo`|0HEzR#j!XGmCD{bQ zxa*QRUyZK`$^#Q&mvI(SA_vyolxhc-MdikW8pFxf5s$8tLcDGJtIxJYxMCs-a)D0$Eu0E$STD$42 z^oi&dIWz{=UE@4b2e~o_HLrg&%~^F6rRdD+o7!A{i4&;YsdaLZ^6>yfnW$@*x~=(Z z+w~8rh)8vATZ_{vY0?!RW~ZBY>YlQH#(ZXY98WZqi_4EM{(AD_FQ?f}u)+7*w;3m9 zk9h9)^->A6Lt?{~Y0kP5H5NT0gbt3d#SP~qQ~M9D;S4Qy%xa4MYAf?8!fc5pBi2?0 za9iEI2l?V!I(xM&fuRD%2bRlVSvoJ6|oyLb)d~L%dQHQBkFd56Ie6#jsG>pkb8!6zwk3Y{goz5<3iSI!_cpW0E=M56 zEMp7?{oBv!rAW1?F{{B~RG+W3S!D?w!~tl_r1IH=GyI}u@(b%f$LTZ#&9P4L6+9pw2M7TOgi%)%* znnRYQ5m-sIS^?M&A>Ihu%fFqSzAgq|8^L&U{_-_4#hVu|&vj7c5ne$?q6+K z91TcaIC)h~jmdkWFZM0m0mYVbP?om1;T5h#<#Z~EgRPfv%ki?6Aiq~(unEn`W9PRu z2pD(=FTzkcJ|H-6S%wP@ED+DEG3Qbv?-8kH&tIa%N<+{3#QzGJwrmBj8RYLIOLJCc}@c(ZZTjxR1fY zny5bp;axvgSPy7Ls4#QE)Ij0wxJ8W;a`(Kb-RT+M(LwGhSnlnvAjUS<3e zVX4teg{#eh%Q}PFqm~MIbHEZ8B$aZJHkXK8Qmgf{Af zSzs}5B;H*{k*;ED33pAF|62>~CK|9z2o{g8R~bPiQI)?{QmXCUGTUj-Sod9Vmw#9q^Uk>#4Z__uMbuu=ZX#e7>^6q9zo#Uf zm(N}vgFpBor|@_aqkz>};pxw|0Qi?NFZsA~BiwmVdp}e2?#)e-$A!=mN%pb|zP2!T zx!rhBh;Sgt*WA%&MiL~AQpr93^xp(B0kMR z`Lx}1OSfzz4-fR$)qSNDj{S1!0(@VI$s3Xd@QM9$1vFJp#w;UOTbuU3Li#{{6By=k z3z<@pOrVi@|6Bqc!HgkT;1i*BwImH_b5vLU_6Z3Jm8`i4$`P6=kk86`w}iwH z1*Ld(SS3=b?i^;R%IZx;x%s}G8>lo0tAd6tD^C}|h-Lddrxui^vCV4yl*DGu_tD9! zMG(QCdTvE>MlUYisBxAT0%T=;DhIb{7RM7Q>QBC>7as4KBgw)9v z__r^3kQmJ+j+V#JNaj#ExN5m$9pFwRkGZVhb6(dr7YwFqIppQh*-oGYEqPxjo0Fea z{>!AADL2Dv@Z_iQFTS$v*JNUmE$#MCaHO-Cd-BoT} zu-V4Jg5e{OD=%6x@ak8U5VLMPN@wWZD(%Zw+re*|cC}|pRDU$uvvx(go6&7vJDXb4 zy}Z%AO@~s~|F@AAb@KZB`N<0|hPk!#Ej_AcdX$ZLwbP{bf>}RVss?_ROeagqR5d{Q z>gmg$U%fazfBy1p{Ng3>(#fA~c~r01h9TOg!Zs0!ReUA1{Hi#+<8!G$$9%1Dtyt`yrBB?(h|F;cz6DTTm! zQkWx-6%yeNV&Nr9(i9UfdHfOQACy3^*jG>4`ip?M@oi}oTVJn?uA5@$LPCx+1_Db3 zL~U@PKcolS_gZ`mx?8coT_oNLwth}kj?k1hVqXVK+EpE4bH={DZG23QOSO#dF8yl1 zrLCEUwHJNrrekHpQ(o5R=TT$QRwHFtH+ieMRx~DEHH2BJ7~k^*M1$lomZ&gqvx

`Xo^l6;J(@3$3=H(5w>sQF@sZ!20@_R}_ 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 diff --git a/yarn-project/pxe/src/contract_function_simulator/index.ts b/yarn-project/pxe/src/contract_function_simulator/index.ts index 39bdef9da00d..f560cbcb69d5 100644 --- a/yarn-project/pxe/src/contract_function_simulator/index.ts +++ b/yarn-project/pxe/src/contract_function_simulator/index.ts @@ -24,7 +24,6 @@ export { LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, - MESSAGE_CONTEXT, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts index 23001a546d32..36395c06d4e1 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts @@ -27,7 +27,6 @@ import { LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, - MESSAGE_CONTEXT, MESSAGE_LOAD_ORACLE_INPUTS, type MaybePromise, NOTE, @@ -68,7 +67,6 @@ export { LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, - MESSAGE_CONTEXT, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, @@ -106,7 +104,6 @@ type OracleRegistryName = | 'aztec_utl_validateAndStoreEnqueuedNotesAndEvents' | 'aztec_utl_getLogsByTag' | 'aztec_utl_getResolvedTxs' - | 'aztec_utl_getMessageContextsByTxHash' | 'aztec_utl_getTxEffect' | 'aztec_utl_setCapsule' | 'aztec_utl_getCapsule' @@ -307,13 +304,6 @@ export const ORACLE_REGISTRY: OracleRegistry = { returnType: EPHEMERAL_ARRAY(OPTION(RESOLVED_TX)), }), - // Backwards-compatibility shim for contract artifacts that predate `get_resolved_txs` (see the matching handler in - // utility_execution_oracle.ts). Remove once those artifacts are recompiled. - aztec_utl_getMessageContextsByTxHash: makeEntry({ - params: [{ name: 'requests', type: EPHEMERAL_ARRAY(FIELD) }], - returnType: EPHEMERAL_ARRAY(OPTION(MESSAGE_CONTEXT)), - }), - aztec_utl_getTxEffect: makeEntry({ params: [{ name: 'txHash', type: TX_HASH }], returnType: OPTION(TX_EFFECT), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 8a9b400c2f77..f654ea2ef3f9 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -28,7 +28,6 @@ import { ContractClassLog, ContractClassLogFields, FlatPublicLogs, - MessageContext, PendingTaggedLog, PrivateLog, Tag, @@ -371,10 +370,6 @@ export const LOG_RETRIEVAL_RESPONSE: TypeMapping = { serialization: { fn: resp => [resp.toFields()] }, }; -export const MESSAGE_CONTEXT: TypeMapping = { - serialization: { fn: mc => [mc.toFields()] }, -}; - export const RESOLVED_TX: TypeMapping = { serialization: { fn: resolved => [resolved.toFields()] }, }; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index a0f7be31cd03..03d279eff215 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -1,4 +1,4 @@ -import { BlockNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types'; +import { BlockNumber } from '@aztec/foundation/branded-types'; import { Grumpkin } from '@aztec/foundation/crypto/grumpkin'; import { Fr } from '@aztec/foundation/curves/bn254'; import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin'; @@ -15,19 +15,10 @@ import { } from '@aztec/stdlib/contract'; import type { AztecNode } from '@aztec/stdlib/interfaces/server'; import { PublicKeys, deriveKeys, hashPublicKey } from '@aztec/stdlib/keys'; -import { AppTaggingSecret, AppTaggingSecretKind, MessageContext, SiloedTag } from '@aztec/stdlib/logs'; +import { AppTaggingSecret, AppTaggingSecretKind, SiloedTag } from '@aztec/stdlib/logs'; import { Note, NoteDao } from '@aztec/stdlib/note'; import { makeL2Tips } from '@aztec/stdlib/testing'; -import { - BlockHeader, - Capsule, - GlobalVariables, - MinedTxReceipt, - TxEffect, - TxExecutionResult, - TxHash, - TxStatus, -} from '@aztec/stdlib/tx'; +import { BlockHeader, Capsule, GlobalVariables, TxHash } from '@aztec/stdlib/tx'; import { mock } from 'jest-mock-extended'; import type { _MockProxy } from 'jest-mock-extended/lib/Mock.js'; @@ -435,86 +426,6 @@ describe('Utility Execution test suite', () => { }); }); - // The `getMessageContextsByTxHash` oracle is a backwards-compatibility shim for contract artifacts that predate - // `get_resolved_txs`; it derives the lean `MessageContext` (without block fields) from the resolved tx. - describe('getMessageContextsByTxHash (compat shim)', () => { - const service = new EphemeralArrayService(); - - it('sets null in response for zero tx hashes', async () => { - const requests = EphemeralArray.fromValues(service, [Fr.ZERO]); - - const response = await utilityExecutionOracle.getMessageContextsByTxHash(requests); - const [responseValue] = response.readAll(service); - expect(responseValue.isNone()).toBe(true); - expect(aztecNode.getTxReceipt).not.toHaveBeenCalled(); - }); - - it('resolves a valid tx hash into a MessageContext', async () => { - const txHash = TxHash.random(); - const noteHash = Fr.random(); - const firstNullifier = Fr.random(); - const blockHash = BlockHash.random(); - const blockNumber = syncedBlockNumber - 1; - - aztecNode.getTxReceipt.mockResolvedValueOnce( - new MinedTxReceipt( - txHash, - TxStatus.PROPOSED, - TxExecutionResult.SUCCESS, - 0n, - blockHash, - BlockNumber(blockNumber), - SlotNumber(0), - 0, - EpochNumber(1), - TxEffect.from({ - ...(await TxEffect.random()), - txHash, - noteHashes: [noteHash], - nullifiers: [firstNullifier], - }), - ), - ); - - const requests = EphemeralArray.fromValues(service, [txHash.hash]); - - const response = await utilityExecutionOracle.getMessageContextsByTxHash(requests); - const [responseValue] = response.readAll(service); - expect(responseValue.isSome()).toBe(true); - expect(responseValue.value).toEqual(new MessageContext(txHash, [noteHash], firstNullifier)); - }); - - it('sets null in response for tx effects beyond anchor block', async () => { - const txHash = TxHash.random(); - - aztecNode.getTxReceipt.mockResolvedValueOnce( - new MinedTxReceipt( - txHash, - TxStatus.PROPOSED, - TxExecutionResult.SUCCESS, - 0n, - BlockHash.random(), - BlockNumber(syncedBlockNumber + 1), - SlotNumber(0), - 0, - EpochNumber(1), - TxEffect.from({ - ...(await TxEffect.random()), - txHash, - noteHashes: [], - nullifiers: [Fr.random()], - }), - ), - ); - - const requests = EphemeralArray.fromValues(service, [txHash.hash]); - - const response = await utilityExecutionOracle.getMessageContextsByTxHash(requests); - const [responseValue] = response.readAll(service); - expect(responseValue.isNone()).toBe(true); - }); - }); - describe('getSharedSecrets', () => { const service = new EphemeralArrayService(); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 08c509970dec..400515ecae89 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -25,12 +25,7 @@ import { siloNullifier } from '@aztec/stdlib/hash'; import type { AztecNode } from '@aztec/stdlib/interfaces/server'; import type { KeyValidationRequest } from '@aztec/stdlib/kernel'; import { PublicKeys, computeAddressSecret, hashPublicKey } from '@aztec/stdlib/keys'; -import { - AppTaggingSecret, - MessageContext, - type PendingTaggedLog, - deriveAppSiloedSharedSecret, -} from '@aztec/stdlib/logs'; +import { AppTaggingSecret, type PendingTaggedLog, deriveAppSiloedSharedSecret } from '@aztec/stdlib/logs'; import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging'; import type { NoteStatus } from '@aztec/stdlib/note'; import { MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees'; @@ -649,31 +644,6 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra return EphemeralArray.fromValues(this.ephemeralArrayService, options); } - /** - * Backwards-compatibility shim for the to-be-deprecated `aztec_utl_getMessageContextsByTxHash` oracle. - * - * Contract artifacts pinned or compiled against an aztec-nr version that predates `get_resolved_txs` still call this - * oracle and expect an `Option` (without block fields), so we derive the message context from the - * resolved tx. - * - * TODO: remove once all such artifacts (pinned standard contracts, committed account artifacts) have been recompiled - * against an aztec-nr version that uses `get_resolved_txs`. - */ - public async getMessageContextsByTxHash( - requests: EphemeralArray, - ): Promise>> { - const txHashes = requests.readAll(this.ephemeralArrayService); - - const resolved = await this.txResolver.resolveTxs(txHashes, this.anchorBlockHeader.getBlockNumber()); - - const options = resolved.map(r => - r - ? Option.some(new MessageContext(r.txHash, r.uniqueNoteHashesInTx, r.firstNullifierInTx)) - : Option.none(MessageContext.empty()), - ); - return EphemeralArray.fromValues(this.ephemeralArrayService, options); - } - /** * Fetches the effects of a transaction by its hash. Returns null if the tx is not found or is beyond the anchor * block. diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index 3143e93dfca5..315f9a75769f 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -10,8 +10,8 @@ /// used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw immediately /// if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency without actually /// using any of the new oracles then there is no reason to throw. -export const ORACLE_VERSION_MAJOR = 29; -export const ORACLE_VERSION_MINOR = 1; +export const ORACLE_VERSION_MAJOR = 30; +export const ORACLE_VERSION_MINOR = 0; /// This hash is computed from the `ORACLE_REGISTRY` declaration (each oracle's name, ordered parameter names and /// types, and return type) and is used to detect when the oracle interface changes. When it does, you need to either: @@ -19,4 +19,4 @@ export const ORACLE_VERSION_MINOR = 1; /// - increment only `ORACLE_VERSION_MINOR` if the change is additive (a new oracle was added). /// /// These constants must be kept in sync between this file and `noir-projects/aztec-nr/aztec/src/oracle/version.nr`. -export const ORACLE_INTERFACE_HASH = 'f5cd3321b32371186f30dfd11b246946fb425cadffb8e6564b897d5184e43fe9'; +export const ORACLE_INTERFACE_HASH = 'd602d15784c80c3b180848c53e5650a2c7111176c7b8abc61e53e220c00b5ef8'; diff --git a/yarn-project/standard-contracts/src/standard_contract_data.ts b/yarn-project/standard-contracts/src/standard_contract_data.ts index 9df0df3305a1..dcdf15369de1 100644 --- a/yarn-project/standard-contracts/src/standard_contract_data.ts +++ b/yarn-project/standard-contracts/src/standard_contract_data.ts @@ -20,17 +20,17 @@ export const StandardContractSalt: Record = { }; export const StandardContractAddress: Record = { - AuthRegistry: AztecAddress.fromString('0x023cb6fed0ebb1235f1c2a6656c3b2438b84d24705a517211dc186db7d1ba754'), - MultiCallEntrypoint: AztecAddress.fromString('0x27d70a9a022dcd1195a8d2a4a3a8c89b5af1d7831a68891d052af0125a1f1341'), - PublicChecks: AztecAddress.fromString('0x2f5e1e2b07b1fab93a0d8217643d988da90e12bd9c41a42265eabfe66c1824a8'), - HandshakeRegistry: AztecAddress.fromString('0x2491f3a3cdfb66c89b1ea0d1d96fde4ea3e64cd48f122b81efeebf7ec24ce24d'), + AuthRegistry: AztecAddress.fromString('0x132d50137a60029242c7fd4106a6759ed80f9604272444a279f55855009c00c1'), + MultiCallEntrypoint: AztecAddress.fromString('0x2ee665f76facc4c7ea213616657d52ea7c60cf85d023a270e3f604e32794f093'), + PublicChecks: AztecAddress.fromString('0x132bfb0d4f5a7c48f678f33adaaaf0ad6c3cc327ce59a0780c38c529f15d0e12'), + HandshakeRegistry: AztecAddress.fromString('0x041b57f2e7316dff3b3b3aa5ec5f9cc781da576caf4b3779e92e8b273ded3d49'), }; export const StandardContractClassId: Record = { - AuthRegistry: Fr.fromString('0x0a2e03b7a5b45285478faf0981baafed6a2a23ef72f52cc9c7f44d3e5056e2fa'), - MultiCallEntrypoint: Fr.fromString('0x0e6d4ba224e83a0883923cd280ceca43832cddb97496c3a81ea73c6833d9d52a'), - PublicChecks: Fr.fromString('0x0642156526e3d53f5c83f9554ed147f5102e7ac87dead1bf835e4256bbbdec13'), - HandshakeRegistry: Fr.fromString('0x1de63eec38ce0ea399518ab624f0eaf9e0dc0ceb98a13acf3614b0682f126955'), + AuthRegistry: Fr.fromString('0x0092acd5e757fa1d06cd905565297d8124f217a768cec1a02068bc2d0ebf2b9d'), + MultiCallEntrypoint: Fr.fromString('0x007fc5ec8871ff94360265e6b6b1232190a7d03f0f31ecb8bbf30a6b662eec97'), + PublicChecks: Fr.fromString('0x294f662f898a92cac3d399bd74fa663fc78f6c047b634f0f27999c1824f215fc'), + HandshakeRegistry: Fr.fromString('0x13877d703cd5fe3f26eb26a3e4c8ef61c2783c5d2776df2515d6e255b978f681'), }; export const StandardContractClassIdPreimage: Record< @@ -38,23 +38,23 @@ export const StandardContractClassIdPreimage: Record< { artifactHash: Fr; privateFunctionsRoot: Fr; publicBytecodeCommitment: Fr } > = { AuthRegistry: { - artifactHash: Fr.fromString('0x0ba2481d3279c0dc1845c0474410833e44a14ea21ecaf7777c6d131d7a7af48e'), + artifactHash: Fr.fromString('0x156fc10524113f2e4b58c3ef2da61b4dde7b18cf0486c9fc6367144c9197abb2'), privateFunctionsRoot: Fr.fromString('0x17b584350f4c3ccafd8f688729afb9feab8976114fb40012e9dee65022c072a4'), publicBytecodeCommitment: Fr.fromString('0x2545f39893766508ce37bb5cea5e4dcab04c6f7f79f3089b1c076876e9d268b2'), }, MultiCallEntrypoint: { - artifactHash: Fr.fromString('0x1e0e30618d0ebfd6e6b2572f7e8aacb0e3d56bdbfcc517335dd9709c7960177b'), + artifactHash: Fr.fromString('0x23fd6702fbc025fa691c6110e915d61ad233fa01bf68b31903e3ad46433babd9'), privateFunctionsRoot: Fr.fromString('0x0e68dfbb256e80b08b3aef47aca1f2669e97a9c6259787893c1223ac083ad5d5'), publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e'), }, PublicChecks: { - artifactHash: Fr.fromString('0x0ecc1629b1851e48ef40757e6aa458cdacdb9d5bd585b046fe5f6a79edb439f7'), + artifactHash: Fr.fromString('0x047d1aafa35b25c15c5b3890e965826fd1041b13bc152322885ad3e61b06d534'), privateFunctionsRoot: Fr.fromString('0x202860adb1b8975971eeaf571aaaa88a27f4035290d58532ae7d60b0dfaad54c'), publicBytecodeCommitment: Fr.fromString('0x013c4f854a5c87c9daf86c5f9bc07a42c2a061f1d924a5b3564ec7edc8e18cb7'), }, HandshakeRegistry: { - artifactHash: Fr.fromString('0x2c24b71c2047a248a4906a1618503b73a77ab4a199e674515273bca67a2ae1d9'), - privateFunctionsRoot: Fr.fromString('0x1ac8dab0c4d3d0b97f608db9f6552f827d6ef1dd514aaa95727f5753336e3fbf'), + artifactHash: Fr.fromString('0x1a4e5dce4b9606d5cddf7ee264da2262223139ef9e98d042a806b282d7b4aca4'), + privateFunctionsRoot: Fr.fromString('0x0de4de94f6ec6d3aefc28afd86aee259ab8e36e2c394221632b34b091946d7cb'), publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e'), }, }; @@ -92,13 +92,13 @@ export const StandardContractPrivateFunctions: Record< selector: FunctionSelector.fromField( Fr.fromString('0x000000000000000000000000000000000000000000000000000000009968d9e2'), ), - vkHash: Fr.fromString('0x035db3173b6dc6305d989fe910690cc0a556bf30261c6b4235144403e5378635'), + vkHash: Fr.fromString('0x2f1c34c6e08be968dabafdba8ebe5300de23e682914b795368cde3d4a32b1088'), }, { selector: FunctionSelector.fromField( Fr.fromString('0x00000000000000000000000000000000000000000000000000000000f7b8f754'), ), - vkHash: Fr.fromString('0x086f9209118872f060094869666a20edb9ad69272c3a1b12fc93dbe839d271c7'), + vkHash: Fr.fromString('0x1efc96ed0a270c9b2dd8a0c4ee308803985d6fad24fdd6822063207745385f78'), }, ], }; diff --git a/yarn-project/txe/src/rpc_translator.ts b/yarn-project/txe/src/rpc_translator.ts index acc02cfbea3d..ea39e0df4e8a 100644 --- a/yarn-project/txe/src/rpc_translator.ts +++ b/yarn-project/txe/src/rpc_translator.ts @@ -593,15 +593,6 @@ export class RPCTranslator { }); } - // eslint-disable-next-line camelcase - aztec_utl_getMessageContextsByTxHash(...inputs: ForeignCallArgs) { - return callTxeHandler({ - oracle: 'aztec_utl_getMessageContextsByTxHash', - inputs, - handler: ([requestArrayBaseSlot]) => this.handlerAsUtility().getMessageContextsByTxHash(requestArrayBaseSlot), - }); - } - // eslint-disable-next-line camelcase aztec_utl_setCapsule(...inputs: ForeignCallArgs) { return callTxeHandler({ From 8f91b77cf07b53fe9ae6ace8b88df5c25f386f47 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 12:53:16 +0000 Subject: [PATCH 076/197] simplify tests --- .../src/messages/processing/offchain/mod.nr | 180 ++++++++++-------- 1 file changed, 98 insertions(+), 82 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index cda5fb93188c..73812aa2e991 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -164,18 +164,6 @@ mod test { (env, scope) } - /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. - fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { - OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } - } - - /// Wraps a single message in the bounded vec `receive` expects. - fn one(msg: OffchainMessage) -> BoundedVec { - let mut msgs: BoundedVec = BoundedVec::new(); - msgs.push(msg); - msgs - } - /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { env.advance_next_block_timestamp_by(offset); @@ -216,15 +204,15 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); let tx_hash = random(); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::some(tx_hash), anchor_ts)), - ); - }); - - let key = make_msg(scope, Option::some(tx_hash), anchor_ts).entity_id(); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); // Advance past anchor_ts + MAX_MSG_TTL. let _now = advance_by(env, MAX_MSG_TTL + 1); @@ -243,15 +231,15 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); let tx_hash = random(); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::some(tx_hash), anchor_ts)), - ); - }); - - let key = make_msg(scope, Option::some(tx_hash), anchor_ts).entity_id(); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); // Advance, but not past anchor_ts + MAX_MSG_TTL. let _now = advance_by(env, 100); @@ -270,16 +258,16 @@ mod test { unconstrained fn tx_less_msg_expires_after_max_msg_ttl() { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); - - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::none(), anchor_ts)), - ); - }); - // A tx-less message normalizes to tx_hash 0. - let key = make_msg(scope, Option::none(), anchor_ts).entity_id(); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::none(), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); // Advance past anchor_ts + MAX_MSG_TTL. let _now = advance_by(env, MAX_MSG_TTL + 1); @@ -298,15 +286,15 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); let tx_hash = random(); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::some(tx_hash), anchor_ts)), - ); - }); - - let key = make_msg(scope, Option::some(tx_hash), anchor_ts).entity_id(); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); let _now = advance_by(env, 100); @@ -328,22 +316,40 @@ mod test { let expired_a_tx_hash = random(); let survivor_tx_hash = random(); + let expired_a = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(expired_a_tx_hash), + anchor_block_timestamp: 0, + }; + let survivor = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(survivor_tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let expired_b = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::none(), + anchor_block_timestamp: 0, + }; + let expired_a_key = expired_a.entity_id(); + let survivor_key = survivor.entity_id(); + let expired_b_key = expired_b.entity_id(); + env.utility_context(|context| { let address = context.this_address(); let mut msgs: BoundedVec = BoundedVec::new(); // Message 0: tx-bound, anchor=0 so it expires quickly. - msgs.push(make_msg(scope, Option::some(expired_a_tx_hash), 0)); + msgs.push(expired_a); // Message 1: tx-bound, anchor_ts is recent so it survives. - msgs.push(make_msg(scope, Option::some(survivor_tx_hash), anchor_ts)); + msgs.push(survivor); // Message 2: tx-less, anchor=0 so it also expires. - msgs.push(make_msg(scope, Option::none(), 0)); + msgs.push(expired_b); receive(address, msgs); }); - let expired_a_key = make_msg(scope, Option::some(expired_a_tx_hash), 0).entity_id(); - let survivor_key = make_msg(scope, Option::some(survivor_tx_hash), anchor_ts).entity_id(); - let expired_b_key = make_msg(scope, Option::none(), 0).entity_id(); - // Advance past MAX_MSG_TTL for anchor=0, but not for anchor_ts. let _now = advance_by(env, MAX_MSG_TTL); @@ -369,15 +375,15 @@ mod test { // We use this as a "known resolvable" tx hash. let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(known_tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::some(known_tx_hash), anchor_ts)), - ); - }); - - let key = make_msg(scope, Option::some(known_tx_hash), anchor_ts).entity_id(); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); let _now = advance_by(env, 100); @@ -403,15 +409,15 @@ mod test { let (env, scope) = setup(); let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(known_tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::some(known_tx_hash), anchor_ts)), - ); - }); - - let key = make_msg(scope, Option::some(known_tx_hash), anchor_ts).entity_id(); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); let _now = advance_by(env, 100); @@ -440,15 +446,15 @@ mod test { let (env, scope) = setup(); let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(known_tx_hash), + anchor_block_timestamp: anchor_ts, + }; + let key = msg.entity_id(); - env.utility_context(|context| { - receive( - context.this_address(), - one(make_msg(scope, Option::some(known_tx_hash), anchor_ts)), - ); - }); - - let key = make_msg(scope, Option::some(known_tx_hash), anchor_ts).entity_id(); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); // Advance past anchor_ts + MAX_MSG_TTL so the message is expired on the next sync. let _now = advance_by(env, MAX_MSG_TTL + 1); @@ -480,16 +486,21 @@ mod test { unconstrained fn redelivery_is_idempotent() { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(random()), anchor_ts); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(random()), + anchor_block_timestamp: anchor_ts, + }; let key = msg.entity_id(); // First delivery, committed as its own job. - env.utility_context(|context| { receive(context.this_address(), one(msg)); }); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); // Re-delivering the same content-addressed message must not panic and must not create a second reception. env.utility_context(|context| { let address = context.this_address(); - receive(address, one(msg)); + receive(address, BoundedVec::from_array([msg])); assert(is_active(address, scope, key), "reception should be active"); assert_eq(active_keys(address, scope).len(), 1); @@ -501,10 +512,15 @@ mod test { let (env, scope) = setup(); let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); + let msg = OffchainMessage { + ciphertext: BoundedVec::new(), + recipient: scope, + tx_hash: Option::some(known_tx_hash), + anchor_block_timestamp: anchor_ts, + }; let key = msg.entity_id(); - env.utility_context(|context| { receive(context.this_address(), one(msg)); }); + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); let _now = advance_by(env, 100); @@ -519,7 +535,7 @@ mod test { // next sync recognizes it as already processed and does not re-push it. env.utility_context(|context| { let address = context.this_address(); - receive(address, one(msg)); + receive(address, BoundedVec::from_array([msg])); assert(is_processed(address, scope, key), "re-delivery must preserve the processed guard"); assert_eq(sync_inbox(address, scope).len(), 0); From fb13865cc05de10700e673abb09b480318ddd7a0 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 17 Jun 2026 13:28:59 +0000 Subject: [PATCH 077/197] refactor tests --- .../messages/processing/offchain/message.nr | 25 ++ .../src/messages/processing/offchain/mod.nr | 217 ++++++------------ 2 files changed, 98 insertions(+), 144 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr index 36950a2a4a74..3101fa12fa3a 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr @@ -48,3 +48,28 @@ impl EntityBody for OffchainMessage { poseidon2_hash(inputs) } } + +mod test { + use crate::{ + messages::encoding::MESSAGE_CIPHERTEXT_LEN, + protocol::{address::AztecAddress, traits::{Deserialize, FromField, Serialize}}, + }; + use super::OffchainMessage; + + #[test] + unconstrained fn pack_unpack_round_trips_offchain_message() { + let ciphertext: BoundedVec = BoundedVec::new(); + let msg = OffchainMessage { + ciphertext, + recipient: AztecAddress::from_field(42), + tx_hash: Option::some(99), + anchor_block_timestamp: 12345, + }; + let packed = msg.serialize(); + let roundtripped: OffchainMessage = Deserialize::deserialize(packed); + assert_eq(roundtripped.recipient, msg.recipient); + assert_eq(roundtripped.tx_hash, msg.tx_hash); + assert_eq(roundtripped.anchor_block_timestamp, msg.anchor_block_timestamp); + assert_eq(roundtripped.ciphertext.len(), msg.ciphertext.len()); + } +} diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 73812aa2e991..74355afb4443 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -148,9 +148,8 @@ mod test { use crate::{ entities::{Entity, EntityBody, Fact, get_entity}, ephemeral::EphemeralArray, - messages::encoding::MESSAGE_CIPHERTEXT_LEN, oracle::random::random, - protocol::{address::AztecAddress, traits::{Deserialize, FromField, Serialize}}, + protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, }; use super::{ @@ -164,6 +163,11 @@ mod test { (env, scope) } + /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. + fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { + OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } + } + /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { env.advance_next_block_timestamp_by(offset); @@ -172,18 +176,26 @@ mod test { } /// Returns the entity ids of the reception entities currently active for the given scope. - unconstrained fn active_keys(c: AztecAddress, s: AztecAddress) -> EphemeralArray { - Entity::::read_all(c, s).map(|e: Entity| e.body.entity_id()) + unconstrained fn messages_in_inbox(contract_address: AztecAddress, scope: AztecAddress) -> EphemeralArray { + Entity::::read_all(contract_address, scope).map(|e: Entity| { + e.body.entity_id() + }) } /// Returns `true` if a reception entity with the given entity id is currently active. - unconstrained fn is_active(c: AztecAddress, s: AztecAddress, key: Field) -> bool { - active_keys(c, s).any(|k: Field| k == key) + unconstrained fn is_in_inbox(contract_address: AztecAddress, scope: AztecAddress, msg_entity_id: Field) -> bool { + messages_in_inbox(contract_address, scope).any(|k: Field| k == msg_entity_id) } /// Returns `true` if the reception entity with the given id has been marked processed. - unconstrained fn is_processed(c: AztecAddress, s: AztecAddress, key: Field) -> bool { - let facts = get_entity::(c, s, OffchainMessage::entity_type_id(), key).facts; + unconstrained fn is_processed(contract_address: AztecAddress, scope: AztecAddress, msg_entity_id: Field) -> bool { + let facts = get_entity::( + contract_address, + scope, + OffchainMessage::entity_type_id(), + msg_entity_id, + ) + .facts; facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) } @@ -195,7 +207,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); - assert_eq(active_keys(address, scope).len(), 0); + assert_eq(messages_in_inbox(address, scope).len(), 0); }); } @@ -204,13 +216,7 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); let tx_hash = random(); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); @@ -222,7 +228,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_active(address, scope, key), "expired entity should be terminated"); + assert(!is_in_inbox(address, scope, msg.entity_id()), "expired entity should be terminated"); }); } @@ -231,13 +237,7 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); let tx_hash = random(); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); @@ -249,8 +249,8 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(is_active(address, scope, key), "not expired entity should stay active"); - assert(!is_processed(address, scope, key), "should still be unprocessed"); + assert(is_in_inbox(address, scope, msg.entity_id()), "not expired entity should stay active"); + assert(!is_processed(address, scope, msg.entity_id()), "should still be unprocessed"); }); } @@ -259,13 +259,7 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); // A tx-less message normalizes to tx_hash 0. - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::none(), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::none(), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); @@ -277,7 +271,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_active(address, scope, key), "expired entity should be terminated"); + assert(!is_in_inbox(address, scope, msg.entity_id()), "expired entity should be terminated"); }); } @@ -286,13 +280,7 @@ mod test { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); let tx_hash = random(); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); @@ -303,8 +291,8 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // not resolved, not ready - assert(is_active(address, scope, key), "unresolved entity should stay active"); - assert(!is_processed(address, scope, key), "should still be unprocessed"); + assert(is_in_inbox(address, scope, msg.entity_id()), "unresolved entity should stay active"); + assert(!is_processed(address, scope, msg.entity_id()), "should still be unprocessed"); }); } @@ -316,27 +304,9 @@ mod test { let expired_a_tx_hash = random(); let survivor_tx_hash = random(); - let expired_a = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(expired_a_tx_hash), - anchor_block_timestamp: 0, - }; - let survivor = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(survivor_tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let expired_b = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::none(), - anchor_block_timestamp: 0, - }; - let expired_a_key = expired_a.entity_id(); - let survivor_key = survivor.entity_id(); - let expired_b_key = expired_b.entity_id(); + let expired_a = make_msg(scope, Option::some(expired_a_tx_hash), 0); + let survivor = make_msg(scope, Option::some(survivor_tx_hash), anchor_ts); + let expired_b = make_msg(scope, Option::none(), 0); env.utility_context(|context| { let address = context.this_address(); @@ -358,10 +328,13 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // all contexts are None - assert(!is_active(address, scope, expired_a_key), "expired tx-bound entity should be terminated"); - assert(!is_active(address, scope, expired_b_key), "expired tx-less entity should be terminated"); - assert(is_active(address, scope, survivor_key), "survivor entity should stay active"); - assert_eq(active_keys(address, scope).len(), 1); + assert( + !is_in_inbox(address, scope, expired_a.entity_id()), + "expired tx-bound entity should be terminated", + ); + assert(!is_in_inbox(address, scope, expired_b.entity_id()), "expired tx-less entity should be terminated"); + assert(is_in_inbox(address, scope, survivor.entity_id()), "survivor entity should stay active"); + assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -370,18 +343,11 @@ mod test { #[test] unconstrained fn resolved_msg_is_ready_to_process() { let (env, scope) = setup(); - // TestEnvironment::new() deploys protocol contracts, creating blocks with tx effects. // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1. // We use this as a "known resolvable" tx hash. let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(known_tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); @@ -396,11 +362,13 @@ mod test { let ctx = result.get(0).message_context; assert_eq(ctx.tx_hash, known_tx_hash); - assert(ctx.first_nullifier_in_tx != 0, "resolved context must have a first nullifier"); // Entity stays active (not expired) and is now marked processed, with a Processed fact recorded. - assert(is_active(address, scope, key), "processed entity should stay active for reorg safety"); - assert(is_processed(address, scope, key), "should be processed"); + assert( + is_in_inbox(address, scope, msg.entity_id()), + "processed entity should stay active for reorg safety", + ); + assert(is_processed(address, scope, msg.entity_id()), "should be processed"); }); } @@ -409,65 +377,54 @@ mod test { let (env, scope) = setup(); let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(known_tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); let _now = advance_by(env, 100); - // First sync: the message resolves, is pushed for processing, and a Processed fact is recorded. + // First sync: the message resolves, is pushed for processing. env.utility_context(|context| { let address = context.this_address(); let first = sync_inbox(address, scope); assert_eq(first.len(), 1); - assert(is_processed(address, scope, key), "should be processed"); + assert(is_processed(address, scope, msg.entity_id()), "should be processed"); }); - // Second sync with the same resolvable context: the Processed guard skips the message (idempotency) while the - // entity remains active (not expired). + // Second sync with the same resolvable context the entity remains active (not expired). env.utility_context(|context| { let address = context.this_address(); let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed - assert(is_active(address, scope, key), "processed entity should still be active"); - assert(is_processed(address, scope, key), "should remain processed"); + assert(is_in_inbox(address, scope, msg.entity_id()), "processed entity should still be active"); + assert(is_processed(address, scope, msg.entity_id()), "should remain processed"); }); } #[test] - unconstrained fn expired_resolved_msg_is_processed_before_termination() { + unconstrained fn expired_resolved_msg_is_processed_once_before_termination() { let (env, scope) = setup(); let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(known_tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); // Advance past anchor_ts + MAX_MSG_TTL so the message is expired on the next sync. let _now = advance_by(env, MAX_MSG_TTL + 1); - // First sync: even though the message is expired, its context resolves, so it is handed off for processing - // rather than silently evicted. The entity stays active this sync (now marked processed). + // First sync: even though the message is expired, its context resolves, so it is handed off for processing. env.utility_context(|context| { let address = context.this_address(); let result = sync_inbox(address, scope); assert_eq(result.len(), 1); - assert(is_active(address, scope, key), "expired-but-resolved entity is processed, not terminated yet"); - assert(is_processed(address, scope, key), "should be processed"); + assert( + is_in_inbox(address, scope, msg.entity_id()), + "expired-but-resolved entity is processed, not terminated yet", + ); + assert(is_processed(address, scope, msg.entity_id()), "should be processed"); }); // Second sync: still expired and now processed, so the entity is terminated. @@ -476,7 +433,10 @@ mod test { let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed - assert(!is_active(address, scope, key), "expired processed entity is terminated on the next sync"); + assert( + !is_in_inbox(address, scope, msg.entity_id()), + "expired processed entity is terminated on the next sync", + ); }); } @@ -486,13 +446,7 @@ mod test { unconstrained fn redelivery_is_idempotent() { let (env, scope) = setup(); let anchor_ts = advance_by(env, 10); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(random()), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(random()), anchor_ts); // First delivery, committed as its own job. env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); @@ -502,8 +456,8 @@ mod test { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_active(address, scope, key), "reception should be active"); - assert_eq(active_keys(address, scope).len(), 1); + assert(is_in_inbox(address, scope, msg.entity_id()), "reception should be active"); + assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -512,52 +466,27 @@ mod test { let (env, scope) = setup(); let known_tx_hash: Field = 1; let anchor_ts = advance_by(env, 10); - let msg = OffchainMessage { - ciphertext: BoundedVec::new(), - recipient: scope, - tx_hash: Option::some(known_tx_hash), - anchor_block_timestamp: anchor_ts, - }; - let key = msg.entity_id(); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); let _now = advance_by(env, 100); - // First sync resolves the message and records its Processed guard fact. + // First sync resolves the message and marks it as processed. env.utility_context(|context| { let address = context.this_address(); assert_eq(sync_inbox(address, scope).len(), 1); - assert(is_processed(address, scope, key), "should be processed"); + assert(is_processed(address, scope, msg.entity_id()), "should be processed"); }); - // Re-deliver the same message. First-write-wins create is a no-op that preserves the Processed fact, so the - // next sync recognizes it as already processed and does not re-push it. + // Re-deliver the same message. The next sync recognizes it as already processed and does not re-push it. env.utility_context(|context| { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_processed(address, scope, key), "re-delivery must preserve the processed guard"); + assert(is_processed(address, scope, msg.entity_id()), "re-delivery must preserve the processed guard"); assert_eq(sync_inbox(address, scope).len(), 0); }); } - // ---- Pack/unpack tests (no TXE) ---- - - #[test] - unconstrained fn pack_unpack_round_trips_offchain_message() { - let ciphertext: BoundedVec = BoundedVec::new(); - let msg = OffchainMessage { - ciphertext, - recipient: AztecAddress::from_field(42), - tx_hash: Option::some(99), - anchor_block_timestamp: 12345, - }; - let packed = msg.serialize(); - let roundtripped: OffchainMessage = Deserialize::deserialize(packed); - assert_eq(roundtripped.recipient, msg.recipient); - assert_eq(roundtripped.tx_hash, msg.tx_hash); - assert_eq(roundtripped.anchor_block_timestamp, msg.anchor_block_timestamp); - assert_eq(roundtripped.ciphertext.len(), msg.ciphertext.len()); - } } From 53394b7d08c97650c37ed0dcd38b0fed44a8e7dc Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 08:37:34 +0000 Subject: [PATCH 078/197] attempt to fix ci --- .../aztec-nr/aztec/src/standard_addresses.nr | 6 +++--- .../aztec_sublib/src/standard_addresses.nr | 6 +++--- .../pinned-standard-contracts.tar.gz | Bin 1116046 -> 1116204 bytes .../src/standard_contract_data.ts | 18 +++++++++--------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/standard_addresses.nr b/noir-projects/aztec-nr/aztec/src/standard_addresses.nr index cc33df1fc494..6c8691eabc07 100644 --- a/noir-projects/aztec-nr/aztec/src/standard_addresses.nr +++ b/noir-projects/aztec-nr/aztec/src/standard_addresses.nr @@ -2,15 +2,15 @@ use protocol_types::{address::AztecAddress, traits::FromField}; pub global STANDARD_AUTH_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x132d50137a60029242c7fd4106a6759ed80f9604272444a279f55855009c00c1, + 0x0aa7da8bcba8fe32d529a88b9ed88bbbd92bec786030bfe994069078a72c81f5, ); pub global STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2ee665f76facc4c7ea213616657d52ea7c60cf85d023a270e3f604e32794f093, + 0x1fc54b9700679a1a646109cec4b80a20b8b8b51eb57c4b4f024d68d891459d09, ); pub global STANDARD_PUBLIC_CHECKS_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x132bfb0d4f5a7c48f678f33adaaaf0ad6c3cc327ce59a0780c38c529f15d0e12, + 0x2841f0c768709c41248713f64fcce28dcdb31c75cc65d7144cfee81c31d6e82a, ); pub global STANDARD_HANDSHAKE_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr index cc33df1fc494..6c8691eabc07 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr @@ -2,15 +2,15 @@ use protocol_types::{address::AztecAddress, traits::FromField}; pub global STANDARD_AUTH_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x132d50137a60029242c7fd4106a6759ed80f9604272444a279f55855009c00c1, + 0x0aa7da8bcba8fe32d529a88b9ed88bbbd92bec786030bfe994069078a72c81f5, ); pub global STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2ee665f76facc4c7ea213616657d52ea7c60cf85d023a270e3f604e32794f093, + 0x1fc54b9700679a1a646109cec4b80a20b8b8b51eb57c4b4f024d68d891459d09, ); pub global STANDARD_PUBLIC_CHECKS_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x132bfb0d4f5a7c48f678f33adaaaf0ad6c3cc327ce59a0780c38c529f15d0e12, + 0x2841f0c768709c41248713f64fcce28dcdb31c75cc65d7144cfee81c31d6e82a, ); pub global STANDARD_HANDSHAKE_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( diff --git a/noir-projects/noir-contracts/pinned-standard-contracts.tar.gz b/noir-projects/noir-contracts/pinned-standard-contracts.tar.gz index 5e425b17f30df0979df12d7980358ae88a6908d1..cb43da9cd13d20bf820bee515f767d1306baeb32 100644 GIT binary patch delta 1099671 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 z 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

%#ZDzGvLVM^e6&h>uPdtL^UNBBFJ?WPW)Px3u zYF585*P(XiaEJ`vLm*s|5@DKZ#cz}Bc$dNK9c-a@ zNWKdx{~RRMo#v#v56)6Z{gb@$-~oQ5C-4D(r(MB##D_5;Snr+zHcd8j=ZT*q^)!Oc zGZpK3vkzB%9N&Gn+_o*mJM#)aLO9gKL;MxQpY2&7FtiQE5r|SJy>{SHXW@9h8(o;R zE`r9Y!S3Li#nuzR=0g^PPU|@P^SmM?i~W_rW=tPq?bTjOo(RN+p^K+=*}BHyXw?OO zY^yLs@<-?e@XaoWA$J9Gy9KGOmG4oyM`lT^_ak{dhbJ)g=m#(g#7CWSaaC1z>ZtB- z|5H$d)u73g_*=aBykqBVo8wn`OG?h%*e(R}{PG{Q%_5C~;K6vy))RC{G6^7gi*eBv zsnuJ@`qQPOhKC&-98g>HH_+H7CCX=iyH{vaZ_l~^a>tXdRO=Sz-qF*ur+La*XXr;# zw%D@2b5UM|+%{fiW7UICiwZ_ydJU|O3oH1dSVsL~aNeZYjjhqTe?Cs4yudQGlGDRd zrWjsN#LOB>0*HZPGnkl?m}%$o=1SN|As#~<^$kfp))Tx9AKyb~%Je;uC+q5ewy-mg zC&}(14#OmQSPbmYN*nD0`w1COiO@i!6&7nCmCEUWFCu%2*92-YEhZxB_I<#`Z!(%UlF2c5wKY6mtFV7K^KK&i+cSi9f zHTU&gJYmyOJXtMUe=KiaAfAhV>9Un44`b5DSG=o2DjV7C9^A)3eFFEx|3(cPYv{6X z;;KF{yhRvh#db0^E$&&tv!Q#bGAj*765~PKvGwMKiSflKJ=xT--xY4Mv7HX=;O44% z(i~-;@vKAL0QAzKh!Vg=S)U2xXwABwYUy*#n*i4oMabj}*phns2{0#DnXg9NhlQ|os$gu!9NT$-WAR2 zgk~wJ)*2@Z5kNLth$Ctcytcp$h=A89n4h~KzmIZOwh^I@24Z~E$#^!()y$It-oGPA z4SWw$vneSNdSnLWs}Bba&8z_(HaZ`a6K5XA6_XL7rq6DSl41?i9qF91b-A_+)66L~ zM4M@5d~@IPJNET7HjIHzZNdSb;K5VAc8# zgXTDf_ye<>+F3*#Hq&*MgROmI-tn2{ary7i{l@pprOHxRRRhBdWP{6t$u*M8T1BOt zLf0Ey`p5g^ING6Or8Ly2T@@&#SV!1l;NNz4>nIPnHPTam*xlu|+|(mVSr(o<@#5zU z#O(F^m1iVl89}KtdvpZ6LxWe*8iw=~Lk=4Yg)z#I1}?TRjNvJY%@cu~1#!5V`1!7h zgoOqJgmRrEUR$K#IgvISD52d93KMi?fN{1Le(*@{sbgY*x&?n)?9}MKjwNYhA&KS_ z)^%b!A^{$MOqCS|UjXVgBfu?o*Cy`rY+;Gjl0H3%Kh-nCh2WqvKHEi2S z6;FnUGL-5{LI=m)0G-jRpyc;`X=e$kkSyO^M5-y@;qP&7h@hC(5cD6$)5*n+JgS?& zZ8S>CK^xgU16tR^W%XdVWz>PFPx!)E;;5|edqFefGDAaMm4)4_GTMe5my+JfEq6!*FBL1F$RYnClP5Ua#Bc8b2 zU^yxNGtbV}1m*icJs=C~vpQMHwa|Vw$cVoq7L86#zO?sn{L&`wosYf;IlQll#3@;S z&zkRGkugRyOuXWGILswa-#tCzQuHLf0n!d^fU!K+Cl)=j_XSGV&EFS48;{|2^pFCW z)6kCQYLYqGB!Ksl0&wZ(THqU|yo&iya$erqZlkn_Yf9PGg_nYr&u7Iu((9{UhV&wR{bog2JTT!bQQDnd1nq%3lZi0PZ` zyx`Ker!+S=cTs9s2*xlRZ3OH)oy38vs0h|F6z{n}$Vyn6#0CU9?~>YL{SlPi(Vtoz zJx*sW>eG9P0@j!gb_?P#)9~4ZR%dCKfn5^2rNzaGCEI?$mp$;l+DW;b%P+@&Kg1db zWp~SbzuugHhMPgH?0|mUh&RU4#CMBhISB(Pn|8~K*+l`?uH5#$phnt|o&&#qq86oo zUM9?-E-2U5s%ak*?2>O(^-DYR)KxVv;n_a$_GUTKoCuCJeSD+-`A(R%zJ&ORumGWt z!;rN<=N2~ksb(4~PO?vW{j^MfPp5l;?j+mSUY1R+ecm=)&}@Ra5^FbRYrOmAd|E6y zlG-rww}>I}W&#rD;l~{DVcm`_=Lvu`^^5_X_?(#V{c_@MtMkgwiK3nsJ{MzBcHS75 z$rG@oE73t9#ur;84tJ!OQ)3ulX{(zsptV`evqIZx%8HC+Bp$l^vf>PXjRDehA|!pZ zDl?Ok0^?FUc4i?J{5BNDhoucsN;8V$)g5%`o>d@xi=#+jSUgs$J>z(ciXP=1Nb5e@ z-*Pn&8nl%cH5Pbo36>M(FRh?1d9G}Or9L+Zr2!KtsCM;Jj55|$yd;<=aNc~Zd1~*b zK)#8|Ja5TsRE|XeZtKW@Cl=TfK(F~qg2MwG$f=M^rXLV`Xlvcl>ITzU=i|`lKsWTF$eULBFkseCl;=kMb!|@r zeSjy9f(QhrVe|IM5NaxG4NUHV^dJg({_DFYs0q7c>4ewujV8{2A#MW-udzWC9A4pNNzHKs&CA3zXHr{@^}(HHZs~rRO&`Brg0Ne$;B;DOEaorChG&_ zqfeAaT@Vw#96WJP%voCAE2Xu~r$b7aCtXdyS(L#FfKmYt#=qmov50yYnequ;!gS4% z8U~Y3RRpQU7GuGG8W0T$mmeGTV!%c%1y@6(%Z$kH3udA7hLDmgM;L@T0xi6o$5WW9 z&XjTr>rUzy1&TfHlT@Yx=aP2won!6_;nv${c}HXfMH|8|J^Pu8RDmpA0GNi}MV+(t zV}Q&)@L`-)L2}wv=>2d(El@xJN>y=-M$=cQ=W0j@dJl|$6q6z<({<`mbj&ejtUOPxRRo#X0xM8nwfe@+ znw4(ZC>imlPZv!-1Z73}tlXW?V;5;AA;!|_ONunFxIV?YHCe4-l>{o~DUIq$6_?>| z5@x+Ldy^%97K(8j+|iOyXL23Jn+yrfWeUy{{`Xn+Kqb zNNgGH^HlttLuy0|>1l5Kf@+s?1YU<%X@qAtZM#Swl)v~1Nn?a6Sh+I%)*M$^xfX@O zBjnn6=}BSEy4VVO#ez?j))0O5)k>a{$@qf1A5oNlvrPgI(Hh~c2Rt7o_gFdbEj9TX zK?clH8Qcg7qBPTcdwS(_14V@-E#RR}R!t^Xqj%gy^Z;A@TfJd;0{Cc+BrX&0I74n3QEk za(|iqxT&F&J!Yf@Ie~a&MflB=0ZT z&3!JSi%z*oxcyWwNdBCD9H0A(RN~9;(wRM&tj?*K-nHa2JBX(9QUlNWjt?gdgA`UF zj6qks{i%?eI> zI+9sgQbEQyJrt+89Vemz`sf*}*Vb@?R<-7&?>!b9j#D^zI6#^D*_J^W{aS)9koO*i zWpH^O1ULtk#~wpS)i)ue)71WiT4X-I?-AVUkKNNw;WCaxxiS{`@Y?(jyj z)_C_7!wS-%c8jqCt-j>BHe0NG1N@G@-EBQyg2DGe7Nxg7e=_A^GajpLZl!U5+5Dco z;U>n$^s2l>pvO?kMZHmBKse_WuK;mb%gaUL=I9suv6JO0;;?)LZ&3uHu53^t) zYv=yI7RXCFNZUq@`jc8WN54P%j@)O)ww5rl&v=RGzP%#0OlhbHlLFF9N9z&V8g23U zd6?`>SKTd{S)qg^zqYH|rHST$)=Y0peAuIMl49C95a3!;3Mo7#4K;Hx;m0i!x7?#z zj$fHvAsM0Cit3^-M&8CfWb21o^PiqSTTJ2*WZk^Ll^`tkywT|uq_u9_g01&6@24F; zKrE_SNnX?CXgj=$DgnVS7LO7q93O1iE~}2rWwz!}KPf|ELVgzah?g6G^-Rd;3ym}v zi+yC9ms`pM_Ezzx5V_d*aH7w#F!uvk4kNyQiv*J+Nfue?-xzY zYSHw5b*u0cR*W3^>=dT zVOfsG9sJF6RHy?I^R>@ITLLUE#k~t4ugde@Zj^__;jXg|WaM^#vxJvNY!E4IX~HuB zs^HzlYG64z4&4o@EdxA;nlKG!yumAJ@%E!P>^NEBlB}tyDj?k;@OjH>y9YI&?11Pm zTsPf#l;1t{!X~oI+rzBiq>};9gM!CbmfZ^Zlf~=x0!K*iWp+2Z=U~AKJRaG@Ss(rF zt1kW|uO}HGe0K7Ggi@5opjG^GI8d@(EOa@*Ew14F8brR@%q@HYx&2bW4#HKx);0EPfD++%TqWfGwaLb_cEnES_|dkDsl+sY0Uh8d{`_Wxy!XwS_GSZ=$Rb` zNGAK#PM0Rxp;q%iA$f=Dx?Mf1M|JGSEtfJl*(d0{BU~n$k|VPtIok95j4qg&&NIW` z{Ky(7+v(EV;iV}qKfJuKpZAWE)#n%?-s}CLZcg85-z*)Ypamad#LSYrS*N*4id(bI z2uDM=)JSxHv&OuCAilo@QU|y5<4n^=%-3MCc`StCa%#2(Vjpm>&@t z0O?eWqJ5Q{B&3do!OkHiC|$tu8Q2lmJH%b%*0z>^csTm8k6vT}Ymx6qEJn|cgmsAZ zLM0j%Ln4dVke9CpJsv3Pcv^W&RF!BM-+aN@vA4I`OeweqBFM(cX zVQVa47XjV|pc-nmd1SU|;miQtdn6w$2D=g`HTs$Hj?31x*MgzuWh!}<9t(*BKNsO@ zBZ@wMqI`^t3tG40D~pic4s;E)tbTcZSmT3gMOQvbm?X=v!AaKR{b--5GoDLm)$|$% zAi)&7+MktB(>jDV?AZQn8glcXxIdGR*Mya)cU9x%Cp)-TIwGDp_ko3RleN9A+u*8` z;m=G_X0WXEAiCJd4>^v`BaH2wE+^ZmzkCOC$%}8t*;#rB^y)t`e?5!!_%kv(&mn8AEywuBo zvFB)gclm1H&9=p9@`X7(gm;2)lwp+H^`_C~$h}mKpPlr4b#})xtIP=@ODL(U9auB( zvsD|dQn(vcRfSoS0-`54E#5;clKg0r0t+#*WYRcgYCT)ayP6For`M!>cBEq|q*Kb& zLYCB<3^b7*+=9`Eom1;w*)JX@91#?&($MSi)Ktlq;}dKncG;&p|b*TNSj2RptrM;JWKGOc)lf`zDsxCoVH!`A-|Z^jy@ajf(3ftU!S%Gs>?@3 zb`q+x(>E^N#%g4=rV`FE@?`RVP9b48G2$VpNFL%%bYtD&sBUf>tA--*>_{lVQ#69?)!8q z-(H@bFncI*k_r4>%$vbw{l4=xg3qfZZ05$>y5>E5Yrfxs{1}a!%HLSt(tTmpO=RCxl1QyY=YMmjw$afD$*vK49Q^YN-OA&FC z70IPi;XF4{2+3U;XrlEV&odcNV5zE0xTakIB|mu^m`#ZO@p{G^Z{L;-_xzKTV(}VTFS)`;@km|6FLc|| z@2(X3lpOALW@(C5QG)ID;t4a@T^t4@@$Ru))n5964?Ol{7F~~jE8FTSAlXRj66{8` zc9HuWPp#I8q4?14DR{sw+E>tpb~=~}5oJ|F z?*;Z8PRfv8xa^NBZTX3n)KoZ4)!Tm+2Wy0C)tqGc=@Ncj-VhQabLvGfn=ts>4x#ll z{JBjs&hQ3n)r&@d(=ccjzc}p<4Yr07S(vyTW%rP^hJ@y}#hioAuTQ5ecKgAe{1pyt zafQ;6by_svtU^{y&lnbHz=Pcf)8oS4Tf1nhy|g)%9LM0=R+^-dit?{}Frm)$lurm* z#WSSs9Ytf+X9TDyN92ZjHA$rC0QE(XHAq&SeC5@wE|pz>U2p!i-Gzacv+k{)cS`z{ zvm(lYlPNvsBVxd_E}o^PB4j-*A3B*yH=1ipMQtQ$-mK}rEXdhK;4mMuIXa?zHD*OU z>M3m~k~wGIS5uRAMiII~@~m%SR34OrhUp}|!=}XzwXGu4WHx;lBr`JsJ^g$)aezeG zSB6xi7+c?e&)0mLM9-(j@k#OCCdzw-;+$H{j-hHtkxT9DeRPsQ7@_7}XNi7@rHH{? zVh5J?o!b{J#(7z^RUN)pCxUy^?k=W>Ru*pY7)iW5iU--l=~N=6W_bczQN@ajTrCMj z9l4fQztUMQ)sg^*!J7}US%_7{y|oZh;elTDBo?B7(A~tTRE$-C%D(9iO&XVOPVUas zMT^#XsLoar#L?VBSL-d3bTz|@`qCsmi)4=@Sh5wRoUGR3N}0z~)qF(ekZi&H*~zye zm2Q8J{m)VkD)>p3+1u+lAc{b0uK2ZAJOur*^-^y zQe4=7(Q@reDy5^`!^brNvfLV4$|pl;wJVyQ(k)>T$_B1(4U?<5z}vmt^$9}5d2(VD z`kR0~DzxzqV;!*I~6v*tOg77Fs9}x&*-d%V!Q{>a9g%l;!D-;YThnC6>S#D^$9{N8zP_LHyx&Iq5GcW$?T zAS*c(()vFFN*5p zAX!qV)zC#xS2`Cwg6jv{yKGCtz{!98^mZb~F0s46e7Cmv;;6>cQ%co3X zlvHB{#gtkaZv~R9cxwD=EyEx)tnWL(OVB0q9^wyqTV98D|IS!K?U;Mt?SLYvut(LOOIWJ1 z)`qDv&EuBX6FeHi1|9Y!g2IU|KJzILG5|irk3m~=W4J|Wr>M-81wTYyT%M*aMJmXl(ow_NI!(miK?Tu++td!`J0 z_g;`2wwU&1^?eT~W3Y{3MK+BX;oew&V%YK7u${qvK4_8;rGs&L!10mEhSk$kFl zj-!h>h$?Ne;(=u;Drqt-vkp60xcMmZb)w(8L$VJJ8q`7$TCCO6@B7Q_@9!@cKHhG4 z5r;=X5)uAAyM%yi+SiHQB5(GhB>u~{#s|5aVcXL9qv>VAU^rKi*+_aEsR*D{F95L z8Ss6VEEN6ObNj_~mLiI%|eI8L7t zBAi>n$QctPstFqge!ff-F)8Te_T^}mD zoPYL@JJH>L5q`Af4$9eJ=?%q3V%r$d(NTKYea4k1Z=lgQ=Q)`|1sX5tZQ!PJ(72U% z6~%Td-Ol75M{?i2E%X(pwuVNyZhUB$$_BH_*kicrw-rKTPkm6zF+Znf^Q!%+IB=qS zo6MqqG#J=)g?ZacxNPc$MH^I|H3669T>{+!#BFVVB=T?sG*POfu&?maDbVil63fK{ zF~Cdfn!0+(Cslt^1MWjenQ*4}QB62hv!bw|{Ugc1I6QFDX1&&IQ~?X94j-%6HseDx z3tAZ^j8o$rV{zoCz=^n?S<>CZS8CNNr>FRYgD-K3QfhE0kwpxXc6Uob>ym7H=M;T< z791ddE%Q@ou43PLD?8wwK_f!onwsUV0CmMiGC4QMmk9Sx1(9ol*J*JvB3UG7%piibVQd)dvqEYn@RQ`=l`Bu9l}tt$|J?$F#9;-L1_`SR_L<_p=-r%s0=RU4#-1uOZd=(e<7AGC|H(aTvTzF4>)s1# z6tq{Nwq>l|!`8(MNmWJNlA0mQ9x$sF4GS>7I{09gWE$nnyuEES>(ME(yT??tnOym! zr#($}RMzEFU@s|ovf=y|g&iq*=9c;&9!^roS^Q259nRz-)@poFM$8djcBst95B+(6 zH{PmF$ASw&uHdg5Ehpp=?h1%}4}wE-kRX&K!h2pS&n%y+*Xt=72kRN4(@2^vyuw%{ zwDS7}u&-sEvR4O6))iU0B1&>N%>DRzd)+KPBLb}u2!v3HJKwcv&C&y9sTbt%#I3+@ z&hF(zqmNCBfue*a^jK^#2`MWBWn=(1A6p5?w0 z`e-x;ki`@Zec9Q^N`O4i50N>kjys)N2iZXZBL@qro0(M>JNjf1HR26P{AlP7O!ZI% z_)|FTqOb+`kg*r4s6xT!8}Mhuak1s(t7d&$;? z0;|9<7>bO~f$RCiv^Ti&iJ#qnCXuf#cMG^Q&H4d+r~BOJ-x7?B55*>O2E zLbr;l58pt|5dSz;!%()-&=0r?9v}6>{oLRK>7juuvPN5e#a;f+Tf_z4IROOQ6pY7P zrnQTJAz+PF+FTTaD+1(yGql#3&c=D({e}$G^^b9+&Iea8nP1a`kLd&ri_rGWAn|Q6 z4{1bDjNKlO@6p--fuU9fY8m*99}d0}vLOU?muN!U<^IuJ9sFuo)yI`Ml2qli8VnBH!^R*Beloy0NrD zBX|gx21j5#$1D80y}kr8Bu{X-t@HLl=ub&VHt?n$=bUty+YEM)$4CoH!;@WTr)xgq z@0OsxhD!2hPAqk8HhcP_GXXeN<>3n=(scU^YtOi=9>;?OKv2H`bbf9*c)bMzw%!Ui z_!|w)9s#BsC=0KD7qO@D{XNxi~6s@23k4-C1l0SLRTMT z&*Zd5uSa@6*ASEDMm(&_;$WIOVt(s+@){;3qVWn&!0GiVD_lsxYxLd(j@nwjzH1_X zfNgl`^F%79-64(8a49fdnRs)+A=L0%^qFQ?C(EPJg;?dkkyqt5HcR6t98j86vkzF%LOgSj4M+~Wn;Q=ZL! zXPs)O&}EjTbCBxi9Vqw5mMGo1Z1E!#9x?Lp%`WW}Q0VVU>7LNl(R-XD;2tgm3{W0G zU&O=MCgt&eX+oR;zu$2NU&Pjd4Y)a)LxAuQfcYERj`;$=M*w>O32inoX@oRJXS%fh zZ4J(&!vGHap7YIZ8xd}APB9<=0WUtxbN;iypx+MX_3Zm;>s}z|fY-dVr}}6y8^K%U z<~aQPz~Sv`MHqOc8?0dGo`E+d%U=$#2B4R}gG_OMaDvF9WSctlCgvc3YMlWzO+KzW z);!-Awn^B~;)>jPiryVA7{S5SJ=Ro+pHC3 zMxVorJ>JBOB)8}GPW$2UytI}VumJjD+z$Q%c-W94^p)zg^dVk2O1uUJ1h;+%gM7k> zM?5`$-gj(~+jDN7Z9Fg|QU32QfN&-I58p_u^X%h&~{(YBK+>PbC)YMLW&TA8o-(U~C-ebDM6B01|!*WbadWO)ub+ zWnj3%9rL)RH%iptG+_sZKhboY@6Qf5iN+99rrP9~i_DvEir)-z2NIy_Jnj}=$1})( z1uPkLJdh6PA^`j$WW?h-mKAw;@7Me02QQJEzu*3a+-kKY8YQ-Q)Fg;GfOBwskuL&$ z<=In*KoIWp7>;1%ndofpY?C}}3H6vBg!U+==Q++FC6%>oi|vGzr+mX&@O3=Z&f0SV zyF26o0*X98Ko_3^rRiQcbG#SOWllqXha3T^#J9YdNYvt7v_v_4zQTEaVEP*rG3EJO z(+!wejeA^A=w_@dKujv~23147jN{h(QHedkluvNa|Gcs1h%Nf?Jl4L!am<~&DXX9< z;*+7wbpW_!^fJA1j&NSfg+8(Hu{|8C@4%ODgi-QvZyBvW*tLYRGcft8TlZvt+`xR} zuJ}d{#=t>U)O`32;H&X0VKBm1jwaZ7`>0Rtea_TYN0^%!-e`0oOgv8XN#IE>Bqg!& z&gZ~D<$X(W8O4Y(cq00N=JWdwjM#0C6H(W`7R=VLxFY_v8}12Wcv`=z{gtlI=}T#@Pij12-K;b6BU|}i=Uh?P!D8(k)3X~LO?^4 zXR@&?X2E(yiPscsAruj8EfK@1;T3qcU4fN77W?7W#mAc~lAt-8dU2qKOh8-U<}>Ob zb9ALz{LFC9$!H-PFn5uHMIJxrMyBg@5L}?g_?s7=0z)m%BtviU$WP)P2%IV3IstpL zOYP+U_dovM|F8e;=fD4dNY{Dk+y4?T%Ty-o@}B?W|MS27|9-o8UyhUVzpP8yl*{=a zzvce#e|$E3Cu{Lv=Ce)u=KHz-*pf#!t@|?_gO}0;3w;UVEhtdW>a`t!5pD1LhT1&h z9yLY*U$z-G)g<^6Z;jV{5J_|7$qaJUQ(^lAFbRnOf#L4j>PGQ@2M9vg{qG3`UN@>g zEf7R*XL|-9{z~ur(lrOc6a?Qv4zB+F?}q_`NpL(s;=1q*1pycBz~=$>Mg@XP4h{kj z;tBo$8{GgNoqwQ#1|95-;uAvRF|dG5zia+(FR;_c>kgw8-qN)cqB6>K1@x5F zBt#|krw)IA?l)hj9pw`f$#VyETr-xWw7UneYv}-nKv(;npn9Xf%zjA z&`2->-ue5rJBBSM;hzEhP~b#LmGm!pflPcqc7oo2xO(UUKey&R-9=)_^v5*-zOO;c za$n1)Aie9D+}B=y`;TkSZ+RtRjPLaLy`Dn(cwH`p4kT5oLZJ z*Kj+33FL5}vnu+LH~5Y-gT?hL4+yNF+D=|Rbf}waumRp?Q6C+S~TdrfVK(&vY)Vm2mvtgd6jnALaZR)xN#&W4|HDycr zLLIQ44d8^-dRm z9JcS6DT+~YieX0FFAx;aJ+nz17|ZGDj||=bYIAcp|5HQY?4qkCr^`EL(D6h~ zX)C~}prd$D5FS?@f5#71@0uT*yUR_menNX^QYxP_{WF%IBMr-+{drmm+6w_}>L08M zbuaX&MCzxpS2BrP+7i;hWY%u{kT8#%$722Vd2K&VD|lGx;xwbWSogrL7L4eB_W;8B zdpKd;|9d<0zjhH&a0m*U&emVk z;C&EE5EY>@O$B# zMci3h{=ewG*oF9}B997EN?9a-F2Ar2hp}!l|4ly*heD4^#Bmu+C4<;(bqS6oW><>) z9d9;^s!2>Er<4Ea+gkTcEMopH?eFjsgwLlSxY)B(+?xs9<=l8uXIV9cY2tKoIyp`J z9p|qB!mGY~j^*D#*iZVm5cVtmTL}9}^WmI??tS;s7GtlwpTJkUX2f-WD+#P?a{P5} z@9Y&AIx%(I-Id@PV|PE}uUGrNwcjQa*keiY7qY$&Z0hEBgiS*IzRMEYZ&uf-Z~w`B z@x2jW0u%)5eT&P@zp$O}u_HQ%v#Y_|E@3N>oGa&~ND{ZPpQ8S^9y_}poMKG447%%p zn9fapU!Iw#v{g0G+N z1joM~`s%df4Fl|g*TDd>+;JnFXZwN0H(C-R!{qRYHpbAgIDWeS|DI${Ri52v=q(S@yl{_~RR+YxWf>YmGa z3*WZ`!l&Fk!a|T&r_X(n)kc+?Eaznw78KGC)$W>-OvhJ9!BIh;{hl}v>%N92(r}xN zX4!~HF~jB`VeIYJ`C3`;9?QrI1{oVL1lBBrXiBIzL_DQhyxKtL?b4&4!G&9zE0 zCpfmB4?&cJXGs=+NVqh6pr^1=iT(wZq!2G*>`+!gIdMT2kA5eg>c@6fYyM4R`p9NiI(?MjyhSRr_#`yQ~oP4K^jPSKetu?SQP6 zx15otn9>MJjs=I;n`DNB+!21iYLlC~+G2?NgF#r3J=Bwb>Pw|UA0daCNbBpGEWd>db=kLsGr_jnuydB0M$C zOc3(zt}R8B6we0*w|5@h%=EC)!$b}VIVSrU@3Ozke{Op;kx@ea>X+LG^%ghU`S!CvZvE=@L^LaiPxD}@PMgqOvv!(cz$4w-c+<$f|-YNh7gOmPzkLVe&Bn{Ifmz5-4 z*#&vc=2A#W5kE+;C8zoB54zpCpF9^X*jsREJ*S0~5mHP{IX>wi64?~xZbf2U*xzI> zY%>bQxwcK|PFUZTME08~B3tu5tw?N5-wDOlrA_^RBqt?NcOj?sds%Gl`%t}=UpqzK zeq?mbCCL&wUL@7r^|WrYP6RUyj8Lr?{&G8MEcZwQB^hqLY-CABpGYP|xb_TdPG*^Z z>W^luEzRMQll!jI-u!}m&AU?U&zCXQnZJk!zH&UtRg(%^223#hA%fNDLkU}kggt{Xj`xK8ilkrorm)NEM{?+vkao5 zN%sSr0K>x>A@f_M-BuP1+xh_Kej{Kh$F(5+PqJ4ech(<&U1`<-S`sHz}wn? zXOsSpgEo>h^Zt+sJ3fcqF{s>W+4f6 zAAK)75q+MoUwNdrk^kaH=a~q_dnZXREKKCa6!kfi+DCrfeeh@O5Tl9nhT_hb5>iff zI^Jo2r(2x7>&z(}*M5C~Ys#+=uy=BQeEq4k@1(!|$%?}M_9sia6Zh*+^_|3DfAW3# z>reKba9@9t{*#u)Da>8UT^7@P%JaDW{8R47UDn6GlkkffSQyUp7c;^en(ngPJMq6| z={~P0U(Dd|LjJZa-{C_1!Q%?m;{RlS7wO+X8z&@!P|eCrso;nFx@*~;Cyj`IP2Z;M zePiFSBZjj2R_FvvNzD#pL^V2_Bzt@2DlzegB(HHN5$)5>NZN`I&m!Fz64{I=w=1H( z4MAKD4PAOtN#2u5D);$!37E?^Uc`t%fR>F^>hnGb!*`5PRHL>^@|?^<)%|RbFGitt z>yQ+<;NLBsdhbZx<(=LBu>YukM4F$vQHES&>JbUyLW0NnNpx^? zp&eIu^oL=ZOPi|trB6&<>xrh{fph+*cl?!6PgOfaK{-_qRAgTB+kDv_5pNbUXlyP_ ztum_PwmY3w5c6(_h@h9pKgato2LBmb|0(|b6Go5eft@2Nfs7C5!(p=r{vu+Fl-~~4sJVHXO*9fmK5N@ z&9Bt*^X+T8n&V47RT-pzZ{D)=w{+{F8Jy;wYa=((8y?<3PthJCIg`rggp6TQ*_n?$ zGYd(0x*m<|liY9iYt6nCzt_LSQg-hFiTxc*eJJ9t+qTAUY)lP5J?m30qt=s-+jjrK zcW7y&qls!f!%81k?Md+OxL5gIPro4G3?K{qaLUV^4eHwDmRFUN{70MbhmZ$E@iWx80Xt z*b6m@#3aQmLY-*)6Gwy4CvWT~;5Ii=_*wE&t>SOqb3;9Ur9NiQYI5Fq?xOE1e!D-v z9{@r?y}x(Nj#M84?+&j*f2JiVx}ugfrx()tjtB1qMsZ*#pniNq58#sgqi=t+G5gk9 zt>xeGdEOHnw(jzvkj#0rCX#CEgPx=>)!oz_OA-sCRC zv5&7UIBV_vga4VukN*uD*|dbqPbnk4XA5~&b5rhf!nlF4=12J(-$nIGU%8_8y$|{u z2N4uEJ+X(NyjBx8IwACXtiD#&;eN0wDirnjUjC%VGnZ9Tc2xgnXSI)TqwdttuIbkZ z0y@^0D(9KreV|ije@6qaxF$KiV?w<4T>R;kZLQn$gDS6C!p+RXm#qAUJ!iU4W59*0 zR@f@WesFimx|u?sGwWDg@+0^WnnG)!8~caNq`I%*FZns`PP#v}XItI4dioQd$ojM^ z)@!Q(?tL;VLI1QvIyM1Ye)ENx{oyi#80h6FO79yl=X1bbe+{YUp3dc0C-OQ$)U8x#GvKJh|u_eh%R3r{ll*rkcN_^$T|SCn+l ziwv!0+cA3XrK(()A*5@L*dFyZ5DAa~AEWYD?auN{I zmahPlo!q}4(LXroS6}6{G*RB&FM5@z%xTInecRkNJ+@O96asu_UmHkRl0#-DYJW6W zG$P$llIB;7ws*XV24N(+DI2*Riv<*Jr=e@1F7d{;f5;s_UJ!KnMBLAFZ{LdI-#J*- zTOdh(Zb_FaKm4wn!jxUXn-Ek^QyAWl-GBM?tUjXgYWsll2k*b=Dlc13m@FYBRi z(|$1z-AfU~G{@II_}FHHavyq^}OobY>WI6U9~t{|@;-H0iC2 zzVS}+-w(`+y&3!-CU7K5cj>Q>MuaZ*KGDF4fBg|tIyuHZi!fi+Y!+|bS(C&0#6lNU z4x#?W(_1EpgpOfAF^#yYfrK?XRKtsT6~96_tw>P#UM0^}zD(&vntq(R*N>C+7wRUe8KR zFyb64%}LEVk zZbSSHV9=r4l2`f%%tb}#m3B0Dcb|5**}p5^l;Gagel+nHLs#k3v~~H>EFK*g@pAU%<^7_p0!1g4s2)<>zt@|ze#ty32P#~O_e`?$d z(G73T7Aj#<{vPM5m89%nF&ZIvq(Gpwx<4QIca_7gO110sn-w^KyF)_M$LnH_pY^O@ zL!)Fq_r-Q7QSo?Q;<1=-9m>pp`Xq&7t4QjO@4C;;!u~+eKee+QJh=U67d0;Qeq)2< zALNhz{#B=6nmPOx^O{Wuob&y2fA4YorC%rSD1`k_`kQtZ9IUT-LUgeq&8EAnr;XmX zqxC%)b@|)D`iOe+(GUbTj$>bphSC}rXK0-6(CLcYl=<)Py|-RiE_)!tLQ(vjeGTlf z{KTIRE=5@2eJCJ4F}G?l6=E=9A6g*r24SBN)UO`S*lLx^c zmnhsHex7dbY3RyCmM=);h8n-)IGNJYGhEo>*4e3wjGwfYadG{fM@B=O{@}okX95!o ziltgKWgY;sN`m#JB7}Y!uh!;6pyPh`fiJf-=*f_8U%Y`* zWVKct->o=^-}$>%=Jv2)<&>_@oYAK39;rX({qzif4am9ZHwgXkPy{7fB0^dZV}`Z~ ztn}_%G5N-l+X#eX7XNl0!$-Bh)hO=2XcY4L@g*Goq(qTweXf1Af7rMEmw$7-e>0CE zB!AXo|F8q4*|Zx|mH&qMz)QYm_m@8km8}9m0Y9#xL*c=^GI15)jEIK_34Zf;Dx1i9 ztw^RnIUqrD+#B_F^fIG)k#3?xPh5t+-*CQOcqcD3$*lK)N>xrW!-?kVWYXV$lbqVt zqX!W_)6O{yxWl*zf0<{czim9~X6Tnzx6+ooaH8wJV|m+)b*5ksd#7zkjQ=q%7oIRO z!skmF{>*3Y=NOJ(-oCV*INZ0xsR>er_?nJD@cHc9sOh}V7whj}Ygp?8Mn>QB;9qmd zH+8R&GW*^Be&$QJvxdi#8sWyzd?7yS*o-_k;944iDC0^Ve@2v69QD>c*SSy|vWPD~)Ch-+B1<41Z$xAs3HI8A_P)tLgKBZwQ#I20EVo zV0q7@`lV|>r@2I_lDF7;s5g#r@RZ(6S3@LUee+p#U2k5|(L+C~PJMT9No`AnAHcNw z8kCLK++ku9e?BZ^T9KPvpeD}7>nnV?g4bmL{>Iozf057mwLJzzge^FHg!d)Scpi$a zMd|#-Kjj;vwDcW&9vWyXy;tU{Y4M6H-OXX}gzhx4<3^H{UnCXUUyS*jc#lo36HIGx zrP+u@7Z6l->uB#0RepFgkFPg=LZ#DL&iUuLgeNii?<_vD=7E7Vn@lxOZeOmL zf7>vAji>aT4?7H|$)vHWVf=Y%vZ_x6{1(^`w@UIuEbnKR*-Gh-h8GD&K2EB;B^N8a zMIJD}dAR!Act55r>5;3i9R<%Ad{iSC2cJWp>_va9lWj7#qk@XPau)Mvgbe5yge>Z4ZEm~1+Z>892w%Au{r+P|jn~305a{e{d zx4L?RBT`}q*5uxFqU@fc+mk?3oAuFpN=wNPH#T~UPr!olZo-7%)Vns@SnMq!M39Ji zR`N~qO6-Lwm=07R6u`8=-bBLg=P9-I_oFV~;H}ec4Zw>Isr%`9trV%GcQp?|e@&%3 zdUi?4(0JID57GZhlwDQyjUPKHCEYKt3;D<^<^_W9dxD1H3cf$CsymBHQ}RaNL7ROmze z9(nbdW?SQRqq;w+JG%CL{&+wCZpZie!To#z)$Zq8-?|BVd|#_@|Gw5ge}236r?&rH ze>mSf<52Is9%PR@ufv0HUVfzC`#|n5dH>aZxT=?Mt-WJ}!0CLF!oC1~3e*Uz1mt9$ z?J$&=oPJL}Q=2GHbd*(rqj_8ML!~Mog@9Wue7WXxrjvM=lArb8;;ouSIs<<*NBqNq z<_1 zp|~k<|GG8QpXY79boRG3-+x&L{>$1G+05Vh!k>8_dYHK+lzr5{HDvS|U%&GHGp*P0 zFS!=kS)NC;u=nx2qoqPm|KoZ1qVsunB?(xMy*Ya=6DeQ2VwM#ZGT=1E*f>xxhUXk= zI>7WZ#crDB{54PXf87&6Lr2P}^+)}S<|6+z{(oMxVE-8ZzpPpOHvapKiht4rf3bl- z*#-S~YcswQ&f}~7udiovQSmG9U$x(NZDvaE;1aKYv3r^ScWeHB3OWa_jmmq$lv^jX zw)+Pk{LUT!_(S?HZT{sCe{J(`{_uA`@RMi$bv^3q51$fAe-z-Uiho*f{%RKcPi_6@ z_W$i(2-5zot$)}4zxe%Uy=_QRZlm$K>ca)O~fr<88pS{g|FKnpQ!J)Qa&s{=9dH&mX1v-M{f0wlC|ofk&F`aCn*GEBhRf%UJB z{F(a|&pIrv>t;ZYX7X^52;ku2?Q-*5p9f^ZkHQ3ve=Y5MpMBpq05=9`<@OF{V%g2~ z5#8R^H*%`nD9Nms-Hb3EjeFI z1AgPD$|KnM_ARqj{Oj&k^))ol?BxEu=I(5`GhZ|D8&~*a{SezskagmJnTPuOxu>7J zf1P{!e>ETVmzetp=KfR6{R4l5KgZmE;LqQ#f&U-Qw=F@!!T+?T`V)M!(v(7UPQUvg zpgVbg_d&dU{kspsz7ye#quQNxUmO*h>bnnuy_4g+r=qg&1pV&M!0tlk@BWPc`;;Yk zon6~*=4Y}cS#Sgm{}c1_7MLpZ9kdg+ji{qSe~T`Nhz1ipl2ec1y9bO5m8#5We**NU zO2zu9lz)ns2K~o=zGm|y>xr3M8@zpy`F(C{5s|Bazj+E^nwaD@zP_L_^gZsjFCS_@ zHx{)VE#x~=HfjCswSVZ<@4V%4p7_l%&+B!X zf5jjBR0Ku&S=$zW#jvmbSATHFy|wtynp@KCP)}m@5Z!Hgx0j_=;q6(!&)xsbYbH0Z zyE&Y0ZbJPGm*<&PhB(D@_d55c3~>bdp5<}6l{7N#q&J_tjP&WVaMm2-aTy#>JwdGP zCA4r^z|2C-x|OM1uBk&msI0$fWO=?Ewmh-0$m_{D(#!`X#I<3fUm6U+M$+h0nk3f0tvK z|0^)W-uC}%=j^rClFTS{BetQM&v#!7?{oZr(!4+KEB&9jNA-WF>wmXCIG;tRJSu0>?UyU^ zh^puKO52t1hXIPKO51t}_nik;f78G4{#z?Lf2WD>`0V_vCjRAHf7QgleCr?UAAiw` zf7Qf4z7>T_7pD84efh@NkNh|LqJL@Rzx63f`By!BO1BQ;JF)J=IZjLaQy#A8jY^L}(4`q@88|EzJe z{p)qyVJbV)pFJy~`*PTQ-jNfL=*lXVVOF}sIFFm#v!KHMvFD@s#;)70mcOnY{xQ$; zm-h(%m}~i`_Xz%&Yx$@5e+Zs`%(eXM+Tm}$bNuN&0@C|!u7%;|){h>c`;Ykeo7i?>bN}o;`)=(oW84FA_-K??koq zhgdTTnf#z7~>g5`uTh-=re{4t3nj(BBqrF<^RlF=142(p}4Ktn~hs_xbm&&;D)e#SySPyd1D5*{=yor11mYDT<(-tu3!A zQXOr?=d-T~72c+(J@B)4^JV;|^>Np?CIU%M&$t^pYi(u&C$Aogo6&-<{<4F}Pu%m} zd5NI44euxFe^b-1EfJIedPSc^1Lu9#r`o(8@yT3TqDa{z>X#-*V#JYNQQC>Wt*3q9 zH0m&w?1f1^a9yeG>j6%uJIn|BN=sA4aX_fe@?x8){O3;lqmTa5Z~sFkqi=PSOaJJ% zLk>#+C+~j5Z88H^B?ljr_kCF|{^V5y)+L7?l<%!3e{$)U8GZBq4@~Ay>x6$^J1n@j zUc3sEey~k4TkXO> z?BnC`fAedVzJY9UWBiy-8y`jEeETYfgu}tW0cvu966N*!&v?$KYv*kcZmF!X9VZ_$1R`l2*I5O?SArpyslB+ncGjtx36?OzWcHI z_M?ZwcR%v~)oYk@+GV>nh9t`|;No>Z{6BgBf5UkyKKK2EUguesTV*J+EdM9So1ge| zZupn#To2w!$(M2kJaPWcMVhP>yQFY#j2Hht7Fho_7W{)Nb%Qa$@SlUhU-ymtiU&0l zRQUf~?(h&mq@C}$;tYaM;LFy2Uj3XIir!-cXei7OmGpAMLsW{7q;x(<@o%`3{ZHJ9 zf6)|9+7GeE|Y+Q-}glLVyhuy{ZfNkd7BGHKmMBDpP!v@+9tIb zRAsg(BY}YTqyG3|sUfKzF}xXcTECXcf8Aaii)smYv1Iy6SLGk^*U>QkQ73QfZ*b@r zHYtCDL%*=;UvTJmZ2BAS{BJpQ5#4z^^*YafoBov-{5wGy+33iPu(T9iGPbP`5VlPaLzx&RUIF1osE zzx<3KQvcR}JKLjMdb`)!a_DoyO7mMkSx~}bV zX6oyh4Ao#7?A@*BcW>4+glox3N%=Xnsl0Oi7(KX*>C1f7#3@YdZ}SHa-0(U0vquVK6$f?&o7Q*7^EQ_s6#;N#;Y* z2*-Twmn=K<4P_o6@rHu%u6m?1n1{UA zy`E+yAwUuWB-<;CA&@{!ViMq6-~9#B8FZ%1tg>BgyNk8X(K*Dle`CiUetSoNX6vji z7hbq?DWaJ%^iENCTF$X-pg4}_?o5+8?-Yz_F{`O6B(83u8QAIZZ>sxSjgJs8jWf{- zh?iwsRoOG&tdV?4v@NFCM`SCy7yBv zuQ`QdC_71(+V#5e%di?FT*VsvCjaNUcOv4Ux!7_$lQI@Fp69Xb=&FWgPLH-@rxS6@ zA(=6xPR{z&AtDwL6U|XV{d|79Mvq!&%?!gL2KJ*Y5 zEbQilU_|UvO+*-;o0m(W&?CwdC%px`C_5))PGe2sxD}hpB?hOwOt!7vruANdM7+CT zD)VX!cZ-XCe=hzST>SF$EliB=^~B1sUH%u@qFY@PU5I2lQ%SUT<%*HK>}ag>tl1zx zWVz;%=~ACA3Zjd6T$$Irlf7R(`s!@(CN4(G+d)D`W=0OZI4>t_kPCX`d7?;4M!w#~ zR8zYVm5rjU;2g~f^1%|shAqgB{&~R%l&oBNf3$f|e~Yk`5|uRqrE3VOYyu)+&W@Eg z+EJ(~v&Qs(sM5^f(LW(P`^cDQHs_W%5?mL| zoH}N2eO}@4>(B8U*!XIP-onP0dv9Um?%wEV7{CpW_G$;jD1>4}fP4 z2U_Orf1vx*lrOc;SEXzoyV$fB*GK*8cV5I@H~#wK!-q;h1_v^V&G9kN&75Vnk-xm2 zs~g?qvVjkc<&!I|NCo~MJ}}L=}G}3-aV1X ze}^epv+d&Yg}oFhLtj+%_=tJ3yD@KL+|zxGdzbyM&aa8?Ss`$f1rq3lWiwsj&>RF9Qqg&H?~&`deJI3Q3O1l zfT4m#jw@I*fd~XI7I|PD12z*etn80tl`5p}(J3xp_ND#J{-}P<_2dlUtkMwJe3!pm zyHMS=nN;kG4ilidq$5nPwnj^XRXdCo-t4zQjPXV{e@!9N5Myh*3Q_!S9#{vjf34Y> zJ&XAomHV;GyYow)4v4r=t`r0lIlqT|$w;Vz(}?I|WxAXYn^ooP&Qx13MFle$F^D`x zp!0Dos#I2o8jh91t)YX~TcpF|&>lI*l!APZ_0&l@knlFgfQ*2-Hyl62 zR6V9`iP5&O7@j!y9pnQI*tCH`e-M$0+#;V-9wy+lLyM}{?L9u(S?vMBY+6e86gQgY z3<>GBrNXr%LWRy2tq|Lg8sFw6H4;;Jp*FRYYF6n}BrA$%Xi72V}(uJJ<8qQ&d}f4aB=InJR3V@)$E zR}yJMi8J87@JF$zkU^X&YFQ`}&Q);XZeq%ab$eDR2FzL!v&}rl7^V?O6e}2{!}T1R zfz(xBW0|$sHjBB1nPxDaD<+DKJDK9wPwQV@{kgJpvj&I@MXy>)jEyv8?td|j;$Q+M zUGOU@J=luYs8mQ=wVWZM<|tlE!z=z_FmS0RU|49 zmq_O>JbRJ%Q6Av!+Qp0kqeTw(lrIW;iyAaaj^&z7&@dpG+xV=vL)tDo;Vz<19ZrA5 zq^v__gts7zwYF>77r7<}1xFMJ>QZiWfG$Zz$I_i8QVe$kynjYvq}+GfelpzK^4aP! zli^al;NPTA5vdD<;gM$Xyt>Jc*L_S~#L9Y5YQt>Z@Xuo=a+gUc3LX{2=m`_#ZC@G6 z@#4PCGrrCCQqFPsmwYG+H3vv6wux$^GuAzqtEHmrgxg}ro5B40EF19B>9 z*~Wj%6vbNQ=&x;oqR=@rN-(Tgt9C2JP8}PwNHw%^+vzBCZp#gsrQ#%;3Hb_a3kFDI zS&O;(7Rh?1c#Dh(RK?}=u$l?6jG0;sW>w|Il0S4kMu4#l&GC~B?P47gP3`J8-6-NB zo=A>E?&hpd=a;V-Um{79RXmbwHB+*i35kELw+!G8i>l*&P#nFr{tzoQ(yk%U;$wJy zYQvJdiP7Vs64JT!ut&rY=WWZklT2Q4&|$~Nn^>ryGXXucp|&F1eknZVvhVYQ4^b{d zoe`@Q#n1(+%iZJ)nsm->?DbnSN9&907hgRu0M&7f_*LlYEb?<^RG!hzgJVQRm z_PwAC+eLY@r0zLf8IyK9JiqE_ZvsjF$yRpY<{`FtD`$MU_ik2@e4R7C#1?GN<=B8P zXD^>qkKPSAn|E>&=$^qJIRO^~0F!^(VpXosq{9R6qT@MFI2@(Gpz?p%`gE48 z(}I*p%hl@2JR6dM*{hmbBLM7x@q=%1nA{`S+OJCQe0v7(>@BvoyzU{pHZHUMx@~uM zez=eE_d|8d4YUCm=Nm@p%w-%gTZbNo)a_nti{^@@IHC3(lPfbNg}Nmd=V=?Djm8T)7$4K9NvU zX(Abc!^F%vC`@OFA?%Z${HI(*ot4H;#vQ%G9krb)5vyEerWH345^#!1O`H6 zPguK-)k-^_7rcY1$K|ojaAVI0&aP#0d)BQ@(Pw3%RCbd#j&>xo7?<<8qcQE4o31DA zL{0^nRubeeR;4y*Cq<2OS?SR7kR4iv`5-j>w-XF&?a&p}|J7LzsMOp6UIVQKmB(dE{jAYs= zn4k!_iA9}H;PJf^qpOcbn2Z38bAP54r|ZU3Gs7;9n9b1hTEK&|7)!c3ZatqHmk{SE zE4{>`3lT0j>d}8+9NTY6h)$lxjkmGnuaqaxW+nT?gZmtz6TWYH2i48q0XILf1AdU7 zvP3%1n^U>3df7kZJw=ieu?I%c#(2zgXN%P(4vwU^^MO0u){P~CrC+4BbKYFO^go_Y}TJ=J}L zTDgQ9s4GmLSuq>#D2C7P(Kxynh(UL60cE9oSIF~w^RDluH&^wp@2MJ!W!HBo`T@0+ zj$$3)XD%7nL%Qa+@)>>5TY*Qk@>`+%T5RWxIS}jUbfBVoU0;f7c6}|>Sge+45Elvq zL=3^k2yfL)ksj3M@}sBE$&?4U;Rc2LDbZ0fZEPlG**5Z&%8D@z$w0t25O0R^;V$xJb!1usGq?DQk z?Fx<246#Kw(3O^@8k)Vlm5=tW1^ZexRXc*?GuZh>yCl*>t}1;M*Dm(Hy#+BxDwcAQAHc@$-sWI0(uUOTpaw0+epfyahVm<+* zZobZ*p9*ud){1vP{NnTR&Q=m8v3UCVTpegDn4yx%g7=1Gh)3=fV|(VnrFx!9XsZEJ z&R2_VCDBqmSmo3F_H3229TL-l^|lS`?3I5IW9AGqyq2eA4V!klhnN~G)sy}y64BNk z9NyX?ghy&=<!C4C2X zIJaHX2|sd&kV%{o94d9@;BcVy_kw?Z(ZOP%>?wW&e38E}B|uE61K_CK3R`*O+2TPWjz;qI>t)DBbv%EJ#kd>C zfvv2J9DK>yf*Wu0_Mooi{m>UsCyS}oKlg*RvUiqC)X8u%vU+IN$tpqjo5N%;_Qd(S z_n>D}EREoW%q)VQ$eZUrrN)6OpO)BWQ78E~_VdMiV}$?OQXE2Mud0MyI{SG^S>co) zgaf&!Ea#gk-eY>{GFT3eKkI)Uwm$S?ch*$CT~0Drv8<3E&-*t&@6onhZPC5@Fz)V6 zM#j@Ux9Bg)&3L%m8WStsQSng@4_bbr#^NE^r<5-Ff!AN{yPubB-|A0~jsv4K4py-2 zXYOcJEVi!g)+=VqHU4&3zx~s%`~8EsM=~)P!5&)M?TSYCW`|WaE4qIl?ef#F)D0#x zR@P*4!RQkVI|Zhv6Im3*T4j}%;vU$v9kv;@AMvALp!SsBe1TX$7#_Cyyu$YT^9Hb! zVIS^jgmTpw!i3itDn5BiNyeec*-hr6z7^DWjQVb~;v@;p@EqVM#*qgR5O!o7W24b& zp4Y?HoHQ`yxt0(ksN{dbr7LxWxeOb(s%S!8tEy8@odW zyNgjU&!pW$h7fht)d0=&D3dLw{Y83GbQym#j?gXkT0n(J|5e3| z9qfd$<6gPRW9@A2J&1t&8$XvesGA+?=H$j>Xzp+~LpXz6=U7m4!;L3UTjU)H zkh~UT+Vh`knR{)^r9~%4wB<6(c!PN}LOeFE#+97eIwXkb0?4(Ec>$HlIS(5J8B$lL zs91L}?c~WvHfVo#$`Om&R7rVKJE^lHtFg9nMEu$HPEcD+w7I!&`Wq~w7srh{iv}}6 z-c4ISJTGCq6HJ6tz#ifPbP$P=6sp<&pg)l@)tiP zHt!d_a@g@3&8CyG-np?YOtwIQMiK&`djJgL3bZ!*X)6F23UI6j09H^yAX*^M6jlPz z2LP;9fZ^zK1wa*|s+oxzYbxLf^wWeCpiwD8bbtv!(|!Fdsuxw5jhf^FfS?8LGvQO$uNQ$1B)L0B4EE5Fy&anz5i#SF#?;>YVd|Jewl%noioymUOgWQ3$8A z2m}F0JVihuEcj*1mykE4$zPt6-F8`FqAWcOnD zw9-zP&+%kQjYP`f5XiuF(nA1=Jm~wP?vGVOHmD5JY+}V7AZ^Rn^@7S#+r?AMU&JfHaNP;s566< zGcerLViT;W+&CgUcPHDyE{BArwWThvk@nA@Q=NGMU$(vc~gy+A)zeGx2V^Tv2v3* z;&twN0zBtGy+J*tekb-&lJOB z!nL-wPjG7J~o2K@bnF(QJjhBmlNq7N} zhIY`(VnO7|g5pArEE+K8mm;+1Q&xXqM6uxHsAp%@ieT+p>781%21!X#xDw9jEpl#k z#U|E{Fyvt-ViC^UrZ<^mhQ)7r?g$usX*5*C3u~%9ZdcS1CY&|H9cNXiS)?O4I8SFb zW_v|h^NT_EZIU%PBkOV6G(?r*o;;!^q*GaqHrWYa<%29c+nR*&ur>=G1eHk&D6(>c z!*S)0v z;D`sHV%<>6?e(yAm+IDLv$SDGGc(9jip=+BzQ9R&#)w-tb`5Dply00H@-{#b2PTts z!IF$F7i7X=AZ$u5!gGJhr9|d1^y@{=AY;cVgwIJ(-m5+*&-0{>CxG7iI8fBTgLKoc$FYRK2VViN8a12L;!0O|GTdVO9Rs_%3 zWod0OSBqT1Y)fv^8ViTW7&ADYx@QhVH}>Sk*j}|~HDFg6q_zq>p);8}bLj4ZT2fTMgBJ1*c?je75EUEV$w}7S zl|*I)N0LUo8&eBvgqAjqm?$Y?E;9DsTp6_3s25??q_2O;t$Va1*SB*Hk&N8>cEab2 zVQp@4Y6wC)^D1%Rlcmq8@|>OkS(;h^-;XIzJlt7+`TxvxVmI_W0 zYt&lP$bf$rxz^tiwmn>XfiIHWsUp+miOgtxl*7_f`Y_vIGfs<*%$R%L#x3=#+)x`b zi?9ubk)nYqVUcEIF4%vO6kZjlDNO~&;m~kSsHLYq516T2 zM6!_3ywPO6_3Eg2(xzasic2fHD&-h+#zW`ExNBh;(DND>bTRb{# zJ2qOoPnhXqwP)2TEVky3%1N$lB`6pRY$F3%mN=WpL_c0}Tqcl5AS5`g9RLBhQa%wx zVwQw_jX`x4Ed>ejz|M$VBxh-;u`9>R2&@!}T@cAJ$IY3ewB}-c;~pI7N^C2*elf>R^oYfF z*~nN?Dpr-S9v?A((CY2V37Tmx=Hh_B^=uc9MVxZWWH>NgPs}z|p=kMuF;sa^F;v4D zM0#M)%QTY@kz;RFQ&DMw6J@bFX^FyaYZ~Zz8__;QXtNp`@mf+Pni4T#Q;Z_PEU?Bd zMR#XllE5CU*^pRMgtEANV52^?Gt1k~qb3D->t{xRylDUU`yn(1bE6IWME^h7wM5*#Mp);GamL2L$2~gVb6GpS5hlGLf$ z5tzK7$gB^4g!5)%%4P1%Fi-AN8i~RrKAf34wL<(ha71gS1DO!CP3BU?gcVY93B=5W zx+*o|Vwi}^a5vFWp+mB8H>a}gi7PFN0(-}E3qk1Vu;5FUrFKB3#Pe7eaKRVNR@7T= zP|xcuA2PJVODvhWRaTr#c+|y0t<3qP*3C0h`Ji!sM@qqwSR#RJpB#G_XSmFas%>syXZCV51}J)R#qR8=RChy-Cn zrjE;h0>7jRJ;xY0Fazoo*{+%#2%b$*c*XWlOvdd5)iA6rg{&1J3_)H@l{Uk1zKSs)smvyV5U961A5qc8-%O} zl5nE+wZ+?*3?p;sRz6}N0>~A`Px#4fXQ!KgnN9%?Mk#^u!;3#^TUb*bd4i}thHH}u zsf|#rSOcvSEOolfT|I93!W6w2Ee@E3eQL&plv)={jI&9sV5lCJm7K!C!&yCXM^2~K zylD4J2E(FW85Chv#l^nwxTWXSdzCcO_%IBUtw0Hq-y;Px1Cu_%RwlL>a)eRvOwY`J zWS7Ct)JZM~tgb?yLX(}ZRM1=P!~$bb^a^dUfuNmMeG*}U{@Fw-!M451M*_mfHdjU& z#+XOj^G;`})R_rIvH6e-p;nL+wsz@EH7o6C`#M9m#L%_j8uSZ+)QxpT29fQXj8EF7 zp3Z@-?BL9cvK?a1G4l%cysGqcR$9x5XOSDW}cXW}vr=dIn_?;W&SZjh3+;!^%CN zfLI8~VNqid+2^>)C>vrxHq~rpQOFIK26c3t!-`)-E(~hGgEB*69#vb%Y~4nG5SW2F zwP}}9&B7vDZWhohO7tq#UKvzIQT%*9Q-A}7BjuEpcTSQcC)5l?YU)zDO|@F!&JtFd5Ck{nJF(UUjR;< zA0&Ql@OlXC9d#%2DE>BgbNO7Dca~lUl5j z*kk}s&>k2JuCS68Rl-mbcN_#}U1yF7{>B65B8=#~Uvda$_iOs zFy;5u7R4W^8i{L)CWGQMBz6K2P=H+utJGl6z_upEtevv44FiOK#6>EOY=c{oX+)J1 z%9D3;3(sAQC7fH1I8%^pm8oY8)m*G*6ow0DjAM|1afgBskPYPy6^e}~XY#0!6Id20 zb8rhvJXz2MlgffSlUvm+8AsiG;%JBAj)f{kL{)(vOXo<-Q52dN4TtJrB$W&~s6w1? zS&TbmQlTzLo^vXHIo+Z0cBNM~2yF8nH?O=So|B9>7lRfJBdjo5Xsw2mLF_^%-MMGJ zrA*Q?OqYTsjkQ+G3J0aaz=RgGRcjBifSk^#(!tb}LZPc{+bh}*&!U%#MNI)WaHTBW z`BuY94g*aTqR9i~$MGQH_Qeh}4V(w**s~e3Krqr+O$zdVTns%VSFEQ%Qe-NZEpr2{ zc?M~0c0yp0Y+cWuthtm^2O;5Y;%Xm&q7f)vD>K3ON|)GxJYwg)L_Sg@QOHK^W@yWW zXpT&U(pC!(_EtTxLK=a>;sd3b^#Vs9yBg6Y1U0v|`PSi-uFIY5?#xgk3Y51!)8%fs5Kh#X(koR%2unz-YCk-C zzDz7Ifec8`)$$eX5sECdo{scUqgFJa#wawat6i3QnD3bl$kDw5Ftw0#Kp=L9v5Ntg z=G84ca~iC<0>z4~B6vDwx&e&2kTNOFtvN0&&2S8Vc+3nX2UndTBNUoi{9w+`sK}+laHF zRMrwH%ojYBBY1V-V8w!#B_aaEd9bE3?6gIOWh0~pXAMZxZ1ajv8=DlevMx3PW$9Qw zVc@oZf8r~;&&C|#o>~a1W?~lt*29Ky06jp$zmJWL0uzX8jC87~)UAwXhAdFb1bOI) z1hZJ<&gLK!SwAnT)5?!*TSba>VkKs^0i_kXA7S*_?f7-r7q}hR^cY#2n0AxY3Lgh`w zY;_dM7JB^ZWajE26B1^!JyK(AZ?823h>q^SE6`Zp;6(1qRX&$?B{SKly1H7-NCr8v zvpKY>iewCH!mD7-2t-5MYd#QRb@J4fEg})DeAPeAHdvQa!)n*0)WD%=)P3BR9KO-q zmZNrDeG;gzNhouo zxAAnMVpUvQYm+|eqKd%L7@Eg$36iSatqX)lfK4)3W6bHj?7_^V&od92H9=8vYw?>+ z>oNjasKIEiL*C;P-2=-MxuRI~sBOh_L|rI~#GGiJ(}F4qZLKXaOOX_uW-BSJ9E2aT z6~iqAxPKUuY~mrrn03C%wkl$ZgNUifOy)eDuUOJ3&>wk)png_^LNBCRpv7%z3Iq`I z5=>jGva1TGiIU7nj?U(iz*!DPwSwnV2QJzmK^H5_pHZ+nfVh+k&s`I-$1bXJQ&^qM zz$VUCt&FhR8na8&Nm*jk%8d|0kLsmXjSvo3L4TOpQmrCfFwR;a`z1#pxa5wJix3LM zLlp+XnyNTTLK^6Rtn!(x@>Y;FjuEg(xu^(Q2(s)L@)NyeDaUh~1LR?Ar&MG}b}doT zc)%NsOY8jzu;5@!bQ;-Q2K<*unJbKn~4Jo!QJT_FYI9@ zJHgJpJ@@9bRn^3SF>H_H1mKPz&A7rgG*6lrB4ayhM7lv zQ5rjh4NZN^;CnUQXBkE$I|MgE-JHo;D}Pkma9<~hxvKcMPKyJ7sO#~{;&Qaw_L0T; zm;$@>G^^}pipE@5j@Y=B2GEMq@Kn{<3B+uI!qG!{Ak^Tj1}6uIPVMYdLlHnVC2AQX zU6*&$$vh0DVay=|NO`z1H!6RP0dMN@s1GzQ<#( znF6(*QA2WzAa_147d9tQ+{ixm26nwvJa8%p37{$_PI+%jEr2Ui^PCW<04c%|ir^5X zxg%C7D&J1bfm!lElMYy2OzokyZO%|`Gx{!zp*u#PA%Am{WlOi1AFom0VZ zVB-MpU@Nx3ruY;T2Rf+KC2$e`lPejU+8kWUX6VK-mT<=niWm~UBn9ZZbG2XqAXxwn zl5a^v2$7X+H$}GcGAk?sBT90?+qs&A5!H!1>A)p~4UU9h&6|4Wr><9I(|^kLTtSt{ zWdpdSO;Vn5uBI}5I*4&6mxE~RQ7Z#EJ0z#AOxXlQP#lUOsS_hX%B>0#_{VUAX? z9K$V@3UV+vHMcHv~Q&K2Y8nsZ}UG3G&a;qW@MY=mYSNW)ldwZ4(t&zax z8pSKUb6l32SaW-`qSo|Q4-2+}pP89+YQ6P>vX|OS3LZehyc+#ZE42bd$;Y$tMig6%RYp06Ru@aLG;}!KHBmD`59Cl`Gp^kxSxn3|jX}X)7*ZVmXNDa_d!qtsxXRbBR0_!NI`RcgD^4P_T6YuENyj;~dJ|?&I z6vO*HWZg{o?96Q)OGDnh{IUeo=lyI02)#3nY zP2wpo=T6M1+Q%Rk34CL#6PtAgB~utKf9ajwf~Nib@hI=hfaG$XCFZ^^WJkt^&{hO% zyIWL!!5ag@+7Xnis#{VF=JerYYQYJlRZW*12f!$I(wI&T0nYp6crtWrR+f&%3``iY zU|4WIC$QcD;V`AA5=FHZmLWxkDql+8>M#R)Y{ZBNB@fnhrgIG?kFC_e-iMU zDV1^Du9>BLfT?>Cq4H{|OlqKW0n}`Q$D~1JihxZ?U^4~z#gn7 z)&6u|%cr=74P;_(#@Xy7V@sRf0**hBgf+mHUa4wDIx(HqX~3L?`4o!koa>j2LYi|7RG7VSu!Uh-W#+ChQ!mW6i}mvUkgVgC>1M)Nj`dJv zXPng*JeDs5=Df@FicuJHR$`uE;2e*lq2bsVmzc6dfi6#HQ`l|eh%PW!W$Tj7vcfVE zt`*KNDJHki%^p|hb+G3If3PR*nlx60PUphF;ZB5Ix4BD(3sM(U4%?dU271_80ai86 zYKolU;{b&NntTT5EQZKSF;*d0AzS5f4XN zU9GgWS`kDn`WT!Or{&7q7g{|6rl!@NjN@27Tyq@3J1k|TV%1uNf6u$5zO%Py%S@SS z${i+Y8L$m;3i3>>(`}X?PyHkX^H`MdvLX45omUxF>@rFqU|1Y^C*yXiI0q+;hZ&Z{ zf$mWw-byiAJm^3O0^J}o0#p)oN0b{MPpmL^SszqewJ4wfsddYe2mnJ1OGGKO#vbhZ zy1VxvC(e0M3nXE~f184}sLZmSXO?&37(E1Q-`5Ia?d6eOY{JS2{MJ4l*|I>m&bJtv zR~G7s-*(?K3~a&Ng~Ui#Xuss`l~7>WtmK9i$8N@R9xz-l1Vlniu^3t45?i0lvr_d~ zBVJ{s!jf1V>>X{+(Jf8pemNt|^K3Q5@M>+Y3byP~?W&$re+&}=vu862om0%A6i5pb zDUNs4NjmUkdr%Vd%81+589B+J&G7*baTBvCVUl5#iOne_3bTTnkJDm9aoN$ah^ZjO z>IiRkX#M56@hVvGn;ftQ;4}&qppaPGAVXA8J1Q|~&!$a~YmUe} z;{&~evDc>zf2g{&1xl-#O17NnN)dC_DhNq|?U#a~dIvcd>KEpu7p?#f6G2HVx((DC>H3|am={^LKix5 z<|jpH0zqJE-UyB^H9ko>a*%tXKtoSz7dt6PoALe0D90j!9Ay)x!}FfUJ;~82mD-nQ z##>@$G*h#1LeD&-h_I15ga+r$bB~(i^+`|Df+-asX4|UIxPcqlbM_QAMPqPOPT^a2 ztrV1qf9s^B=!lCiiz{MJ)pJY!H=42xsyP9Nmh5DrrQ# z*}{}Fap^$0nWDN#rESM1yhyUjg;pcOlgn(ie_OGH8Kaq+M{H58IaQbhP?&E=p6&Ll z!jQ5aJyE6Mp3Gp~eP6eL%NXTAes8)67gVXg>bD3UovVp?c8{Lb9~nn)(igcs4v$&m zZN-xVZO!q)auMJK?~P0pN8utjQT)V%6+cVcYBxG&?3ow`MD7Z?JRythAP=|=khyVr ze^jNpZ=c16RgmrkWMyvU!Q3Nf&_=&JyTUaLNW%O)1^ED&`5{}K6Rh!yxPa<05HJ&u zBVO==qYUJ^+L6trC0#Kj?L|}0@v4zqPQ7yAb1E;@?s|gMeNF&t6PNtF7h$|RA2|Sp zny1QZ`#I~(2rb@m!731VU&qU8fLYRze zNYRb;#PwPFXc3u2U`eACSwa@N$q;83Dz#dfzT^lNENYsy0HxY&wf1a#LztmHY577% zA|VV>;6s*iF7LWLqLC*gYaqcTLbcgZ89Nzy*wkv0!mvYPh(d!oNBI@qVAL!Tf4Y6r zIhmG**<^@+Sjf%U)H_)^NmZc}xBHwVRXyO&l)V$@HJ}~2z(hDIjvgmT-m%((s+_XO z#b+)lyCMUSOqKP7^LnK-A$i|x9qWV*B8+4tQosju3fIL1m|b*IkwUWbfU{hT4H4++ zI9)ffqi3#AGcn0|#;W0^(_&ODf6X(C&2p0m7Axnc*3H_itZf5sydlL{x@t7z4WwC5 zX~7B>>@ZzSpojC8+81!MY`tn;9HUSQzBJL2(eVZ0ta?rbMpTnZn|5ERI0ngL#?n2nPy;e|BUrYN?!f zJoOj_nFO%_>ei_G$$k-*q3W1&xXqAE%PL8Rw6!?cHgIiOD15@zibyp>Qa1OqJ>wBf zNN>F!=fNW>l0sFAeV@0gLsbdLF@)TNIZ-Aq^Cv~8ma*09&Q>L|)T5TD|FJWJlf8l90d zicgJ#4FtjC;8@5@n=*i|juGCENpd6ev^~`NmgdE|&Q5kI-G?9mC!so@IHG7!3^xe^ zA|yrR9z56FGqZR-(uEDV<)$DzN#>-*%5(^-7P3s16-a5P@z5-Ie;j0*UJc5cSMeQi z@oh{=3DfO&GV{585*Fdm+!|BW%K!>0D!>J{IVEkAv13KT^)e^Ltze&=}(fl-+^7p&5RuH9mGkAl*kqj4eLxSYW-lwF;wGaiG8 zwH%w$32JB|TZ*C-vz>W)l^Jan#pE&UyrGI~g$~9lA#%Exh*l=RY@qh#C14mc-cmTE zDx%_rmA|1Zj-evBT^F$%WicaKcI_pxd@fpcBrB3!GJ+4|e^n#eE;X-c$*xperi5`J z(^Jncccltz=769(S@Q}<%^l0eWAET9&T#C4?PfA>6BM;a6;=$}sSuv*0*L`t{S7sr;SXNOGWH(Z~0%eb+C zRqB!AwB%{)Pc){+y(nl{VzDX-i>39f7&%DoV9RWYlJU&#DW-g3yBn*O49>Wdh-N&b zts_~HTm!0|c4)X@Taqx&v!a3`KeqL%FT+;!oIs}AmeV824K1o}XoaQ7C?vH^w!NLS zg&t*ue{oxSVzD`L#|loSRj5K?1v*}_tIYAsN=-@2UgKK5UaUbeI(xq4 z+8VUHl2!(LV7f9LZTeYx_N<*)N}Rf7@dO)XF@1E^O^{esF(iP7O%G?DB<8jT9M{ZA z&Sz9P1m4gUhi+K8LYA;q9D}ky-?vy!>{JKVe{w}kB1!DC>=Ma>>`Sn+ouE{Ukji{} z+h^&BQ;P<)nZyMJGVI7#OCF3!pm+fS4cU3cOXCrMl+83C!d;xH^g@h<_+*E$_7@eW zpV#C9q~&;9(2y(VJJX}^VKpCRE#Tvm<7VZ`EbO&94sdI&sI?hWc|Iezj&xpCVi4l4 ze_bKeYl6O*nyJdRB#8hV7z!BaR5|a-n2Ex_16V1QfWnyu*%n@*BKI_CssrFhyQDgC z5dg?Mj7iFwXXP5i_Pk0FfKc{n)i$^Q${sgi*Q#yFV|z9aYahgO0m&81xdw5jXv~(* zm_|;R#NPwkB`JI99wBK-td1RsV#*&efAW~EG;Zxz7(KSz<8qP->p^8#Xr9D&wGJ@C zR@BL?5>6^ZAdfE;M^^x6Jpr!cWU|b)`WApAHpi(-Hr+F6QWO}FB2k`dGAv3at2Epq z7)GhNls=bCv2;C8&ZvA=Kp?i;^=W74-kGR;F>k%0mo#&!;!KGnxfCbEbgWmLe^HYp zmnrEymo-~VD4ojiw)V?|7n}gl{F2*EVtVQq-pPvuInKGc7-)S0i$Plsw+Ei)EY8*& zWMGG;=XR{$NQjIo^Fo)LatPwBG`ro9qzP!6RYwp|qs&!~CpSXj24xQ?Wf}Mio|K%y zd+TCI!S7SbIfnwyQ+?x{Nk_+ay$KgE2#V;A zQ5JaQsaYaxg~ObZ!H`NQBlY@`X^)MSMgyn-hAa_MA`$j-GB>9dE|&XjK^PR%oEokq zTzWYakgJZ>+BGm5?0ge96j(K_#?g*YV$el)P2>n&Z4Q~!XJ9xSwukZW zQ|X!&=UiEHE)8-}Nh6WNc~>VS$PO`ggdxqC;A~08P%y~2V07Cq3UD%D)NxtqW=WZs zL0t+Pe-!x!jHi5DvuC)h3Rg);Rnp6oN)i)3!m7TCVJdA9VnCtzkW}3&rc{=pR9B&F zq#ti>O4^yOxnsyit}<-1L14jdyLK6bB;?zCiIuxrF!R9E7Xl4rkMnI1n7KZg ze^YVhgp|0iD|sgsHP=m?nF&raCzd^S@h~#He?2ji$R#-kp1``}gT?h`tw2!)#^wnX3S+QT zGE406T+p8vlFOQut(tkXb8%|2cU*T^9cq?BQMp(Za873!#pwluL660z^ivGqb<7{iMJ0sug?+}hQnjm-#>~D6Epo zKD+X=b$@hZcJ4`OOXU#5$RKT#nIB>)_Q=gn+Y+igp_e7%f;e=1GfJpzu^ z!8D+V;evhEtF+KG##vVxnz1323(hwTVTCiE-fs)8+LDw)g&Aw`_~vBBoaM7@OxH)p zq%cY%Pdu1JXTT+u&&xID4Fq>Wq^U|UV!7v9ktK3Mn3U{^E#TP<@cl953_*7>d}y{~ z4tFdep<97KF51*BpsuBYf1I{c?j*64cT$VE+_Etz)YOjQdt>B6IiDlClR8zupf;8Y zv~#PY#h>Sp6EjVFYK#T#l;4(wJqDU5DfEV~$ZCgCeo&xLOWPsu zuh{Dn)v1VjDMtmJa3-aNyI4dKYc#T01uYc9E*6$dJkh0*->7`K5y;R94V-9gGIn&6 zq(F%Y+PdUQ7NJTxf2I1cE;+il@Fm)S4d$6dq_b-=WcPfAFk+u$FpL@M#Xj0dK-w`T zwAd+a=i+K0FnH7}TpdAxwngxHG^-7@>c?Ab;!%7@ovtyL;*&^cSRF5cUv1XmyW+7E9pqf;(3IK_meJX?)n+8&Ok~Wnm9Qzts5~bQy4D@7sjH2$7EX1^?66Mk@dnokT zdIHJwM&Q(iYe?C93&Pm>3#b`S}$00v5V7qrSvbUW~n6sL* zJ0rI>o{h^=M*3tZ`e5P+156+aIa|m_1qIZ3FWk_&e+x=FCUJt>hfCe^iY+p}2AooRpcH!LuH_l_s{-cq>yUGSds(7|SiTNTrgR?d;$@i-+fppnKvmO-mM&5c+~4 zF%5*2%3ysm^nw(E_RN%Xq@~yzmuO++j54e85AA@jj^Hq{**1rnT&>PhLCAQv%P2cleyb45OZ=rytwoEQv zqj0i1X-l1{n8w0Ue2Tk_%jx5m;%h9FDT*n*f2nvb`Phd_v3CR_FA;2`eI4Am|Fp` ze?>nD0GM2XHnk=d2Gp8DcFfABB50kbU0J{L_2^JfL9h(Jq%OgqctJi`eb z$B@j6Dv#}te(YX`FET&gKazc4=l(7#my^4+v_s#y^U!n(A5G}Ho4P+e{{7Qa7vH5; zhGtj5tfTOcH`QN|^2h@iLZ?Wwmt=I4d^G`d|ABbVhoSr3v(lelbW!=aZ~LKNe>7c# zH1n%RPQRSNpKoT6!J^FK&-VnxWf=bZi~hf}n*utCdzrxO-0Sswqf-xk^jC8+9Q4QH zU{0v$MsN9tKRk(rQ|3hyeYOh3VY@8ga}IT@{rSr82O1x#`p$)Rx&NFuk)4EHv+v9; zVGoktel#+vMS&H`oEZ62Vbwpbe?r_Jjw%DLrXmF)#s>T2SdZuZJ$)84{Wz-OMo_T% zAxsZGYY6#ZNoNaRCI`MDa6|kcg8}9qkH=HMVE7FBGse&5#gW!lG#M?13<_%tt~`(a z@bd-!I=#=XpQl#g9PXw5-|uJoSWUEIH$PZMxPp5h_1S!PEl&LGbA==ee@S9jjrfRv z#D8zY!um*(n8R=cLwW*1vN&{HTR=|MrJ?7LxMkY}ZL=;39mrk#O3ETFizhAmZXYJL z72c{9(u5?l_VC#%J=3|148D}}my&)nFT^3lAgB0zx$)s;waN<1w`BfC>fcn^XN})r z-iyjVeMxEFrTu=cKZoddf7tW(KrerHSu&f6Tv95px*3@5<`? zV}8rXUmE`f6@DClMPa^1%6+Xbz=!A8-%;A%t%scAp{r-L2wr^plx9hhI7xT~e4jp9 zE(%TZ?vJkg^W(q0?%&?^zn`H>Z;|m8VaTB4r#_6|o5OGNaC7|+kcX(l!2fEZ@bldB zcV*oDg)r||>Ysi0f3lkVKemuXNN5n~MPlT_&_`&yLHE!yfBK}v&H2jc z;N|mg6jD4Z``NVDxUv@7J;f4~gHup)Iho%xbuY^o`g`CIe@qXb)8kj>^Ydu^`4nHTZ|nEc_XG9yHxYi{=x33C-{zY=!1L>UfAFH- zx03%0c=I(Oeb(q7kvHE|?_EFo{Q6d}`l8h{z`4D z{&rcZ=hrvr(pPGHb^bqh=HD{sN3i$l)6mbI1l@)1BQX5(#J@D5FGM2mll@It3SpXm zqU7v5@cw%JcZO>hSAycS?yyX^rTFQSos@CsR;o@``qzJS==^{N)+vZ%>&0V`T2XmT7s>?4LB< z`Na&)^Xs26-}zVOd7fXt{)WNVBCr?D{_$+*uexjSKVS>&Zyp;yzkYoQFKPr%^TR)@ ze1GNm;G1p#8WI2EF~hg6e*{nZ#bb+aw*1WsyxHn!9HD&c`t`Njik(A}eYV5IIespD ze-yP9R+Rodl>L`Msb31B9^n&9|84mGl^Va|<|uM44*JKB_ejJ%?~(*ULU#Yx;#%*w zozaKtzwL~Eoxooq8~7lppAlk)UB>I1lYoEg)Y~gc{zWowxs$w+|NPpJ-!kx*hJQiC zZyQ1Xj1Lbzy_e;`Pc3g~_*YTL-?r+%f3f7BO(TEXs{c(MZtwlJRsY*o{Xf)`)G?Dy*B_TX~&V~{8DUo%GcjwhC;(I-bTe;jl3 ziQ^>4Q6x_P8^MqS&5tE20`<#KPr1bRqLObV;WY(sk4e(B@OK*Y zE3@S|l74N#9;!ZCLlDIUD07(o9vMIjTxAtpOxW*J%Q?n}T|7UyI9MDcfdQfAI&@`#2zrcJJ^U#K0NhRPIh)@V=j85zy?6KQy}K8y zyUPn)+`AuNukMd`Xbvw69;fuN0+V?I@QM`c0bAPxyXULhu>8!+-errx;BZy|3H3s{q7Yh@0C4v_s~~&b<4boJH1507T;Y?GTkB6 zp4?ei5pj|X#Xe~gyGViV(ET4TopsCg*>|tYjf5nAm~?*U7x}g6g_+;SN&NdO^8Dda z`4VH?J#poEg*-2#%Ror(9y+yI+-W%JA`d20Sscm<4i-%x+SNYT3Q?md6j5~z>;qH|xA{k?t zcjrwz8@TA1pF6wvS?vwxqv2<1B>&f!L2n8}fBBMSdoY5%*nPBY|8=XZ-Svj;xLLsu zSAKtZ#<~yB*!1BQOFrDp?uU;EJbnLvA3OiQ-T2Qb=&sI8-N%EshVK@~In?OJjYa7V;&-x+fBbmsqhFYcZV=QlYJRPRlF!R(-(T^=s*O$tnw0UUh!?GsDEqPpUnKF zOJwCA^!|%<-xKo|-LENsI}`G&EI@~5zc`WCw0+y0kZdQ}=gup9Mp*I>9ia4I!N`|` zp-L}7?<>djvdw>`{EddMsQOlI`=)vy(=tDNw$U2Du_kXK(1+`H&pGp4@BVQ2yVp+e zy`H)Yndjamfdp$LEqA%)!J@gl?BsOrEV7Qs#FrU-@&`8?Vvxk1k3#Plp5K13j1UNyly(Xtf1n5k|K#B=y(1n3DSSIaE)mh^F2(rSi$7m1d1r6kclsuI{$|mB#fKW- zd1w*2$=7F{o3rI{Cv;ui-CAyeGuY+S&X8DM~{uFe>^VF ztJ2Sx4nN#|p+*iv?^^Bi^^y7fC9b>3=Zi6)q!_jQ{8;1K!%h3!z7TXtJCl3U`u+j( zhmxDhF!GCsVn0TIKXUV?`TLb_dU_x(f1>|6hp(YSCw!LeBMzlWR^%TZ;*h6Sw{v-^ z2(K1O8IK2IZz_LYjRvEsKKeYCe?QB;#puK961BJLE$$27e#hG9H;xv(>Si_4HY@qF zwpB;(EWo{k|MY3CDXZRO^jYd{m5p{C`l;G|toIi`?|AYKi287MEq)NFhyNeA{qR3R z-NlD{EZM2X1Il=y>*4cFg!`Al#gN~>5K+83iw}3#yK7|O?r(LS{Pd({e_z(dTjBkM zPo_RTRD5+fpscOX2=@4DG$zS{-Co`(X^ zxVVI!`9s|4LeDD0;_ksfJ?%Z&u-pDkx-&=!reB9ZSp6ZWzPQ&edvihmoin)W{K6qi zV!yr6d30z}s^gX6b&$(03+nNDn&+O*2WsyB z&%4p`?#q#HIq)Cd`nm#fch&$ z@}kv^Fn3KZ;d7U3ev6EY;9YFiC7^}pyB}|A{dhe_@E|kS?WT{9EpNKG&+Pq(dbn&8 zcI%9)U(OnIxxy+rK0Mg_LZTl}Dm=Ze<(dt765xAHdK&I~_;LRcb@UBz@W(&@aEVec z$H8txRaCx*&s5?;f8_2b*sb5~L5_=*bkV^YdAVC8fBpX}EBXM>KfJ$u4^?hp`O}ow zor+s`_q|@s!?mMFYxmZ=TucOvyENz1E_2?^{~N@!{nPj|Lcp>lcTEmfetcM^y9iCDe_J2x=2%KM3?jPQq`T1k zm^XfBu-kmb8~TGJ?n3@!-sGKye#a2}uWp~OLpUGq9@qA*VcwLHuH8Ep=I#&APl!HP zo119w|LvN;Ar#8JvCp5$@telE+XVHUw`BxAVmkNk$J@Nj<5FBs(_FGUPb=1K|3k|~ z2KrkU<$2cUf6rGnf8fGBNI^o5M!9zaIWh=0cHzTQ*6C@;tbACp>lE*eg9i}?d~jDT zbh0MB?3_PU&3{1h*5zkE+*w}HVS#Qp_Hj}VyA?OW`kem%26?`*>_1bOpXmOA9N%>R zRUv-r@Mp{KPY;M^bZ?j*vB)D>K-{wKeta-kKi>NMe;yK#SKuXoI1Gj?IK1XUug>M- zd5~CN*bk!*_ou`BtHvO6dtH@#Yj`hx54~Ooe8lV@9#5iOVdqmQl;1tZ-TB2dKOot= z`etI8M{VX)}w0;lB@Hyoj*nZ~FI{{Db#kbo*bj6Qd@ zyO%1Uk7v7+*TV@H=y%zrf2#Xpv;H+3?iKfOe+&M$DRJAhyZJ}_&(G@L6hEGMdyt>| z&C47SfOLlF+LxE?>HYbihk<^2JpA^w-H%u~e%xrdKiU@mXK^(E|MABM1^gbd{)az* z_(B5zV)p;zk6mo}=S%3)p_1z=@Af z67@8zKfKOye1RkP*`bFAHT>+w`C^1Ee__{I_cpBy)Jre0QlSmgnJREF%^e<1`_`)JR zOGY7T-b_+`fr__YVD{ntx0l_0f4{7EPcJTe?Dy+0EPHsx*$>D)cfRZb1)Ceyf4pv{ zKMD+VACcJI^rrGng-(%z4v<}6BXtLnxoxgnyte}M%`Yo?PVv>C{y)*jC&~ZeBZ{5A z|G(bpP&~e29xhgfB0nr_i|I_7l_@vLk?5mSj2L-V@AMy8p22^u-l?S^MT?mtAMye|Nh)Z*Iz=Za;is zW3L+(LF49!XK?P_>d!&ki=D*VE?yLUA9YET_euQHt2-Y7>CL@YX!NG+E$Dbt{3w98 z_nslV+rEAo(z)s31tV_f@CD_)srL1?yQ%zjp?aQO`tk#qH=)2onEl@CVJ{Ejd@&-p zRJjGumq$Xbdz78}f1}pXy&ZT~zxvA2nOzWZNyZ)~z&o&t$}crxm@ zLCv#%Kckw(gL8Oe*cZ;=MdSN9e1U@Zfyr|_)@3@-dOYv{eoN(gPrBT?9J|WjJa+X4 zZ6B|X3_Y*>Ef2@N#(GZ-d{B#D%*Zzx@U5o^UrzHn>|ZgZe^=Dp>`ngeR#x9wvBJu_ zXB8eO|JJj2&!~O+=dus^r6Dh7E`NF8`(AWjJ#W@s-S9u3s_uF-$^CHM@9MptKI-X> zBXw`m`($W-*-+m!r%#_+m?ck8{9U5HL9Cws`4(AyZ&iNTidj#nUVDX4WL1Gge_=56i3$m?e{FTcU7Z7QL>T|Cu5O7_o?mF*%zZiJw`X1PCX3C zN!K@yUup?UCcjiJiJ}%@r#a!fQ1I>v?ka@Gu<-3Xf9MgwRk#B`h%pWU_Ki}6(24S3 zN~uGh*UGXxsR;#0RvV;BTk^G?^lf{`E^iPOUIb@^22w}Ni zzwT%`*6!`&=;QG;>Mf$`9SRH5ctxopd#|_62_DZ)MoqKlpMAmLwl{BEq$X+(@p`>V zha2kue}R7s%2-sL-$25hHqD#UEuPdh(2;R~hSBT&!ZUdy|7Le2T3clfL@w>{FSg3$ zRHU(aLOhQKu1XbR3=~^Pt|7o37+ePli7EpUkm4MK=cfDmhs6psn-%&4)^Upd@GSA= zBl%5za(*E`ls6&xnSqXeg$*x=ja8;BnqTz6f3gfHL=+0RRF5XV-FqJj)BRxJ?{D{N z1b$3H0{S{F#SO7=7r^j*0AdNjKd=}NefUd3oN-S8a^s3`K^y+!F28^}1ZE$a0HWbb z8DZpNY$i))7^PUgF&-m?CLc|<8D_~pHxyNC#uymG*khhxwG(wQvS@n516FG%%S!8iih(#QU)rknBc)6UWy(;q4mH2M9hFlEAeMlQ(u5SN7?3N3-ZR>CMWPDHb9yjfSe+sFb z#j7`5=S_IBec?W8PsArW$j5SE;7{;cxEYa$ch-r}v7U$0)7ponGv8DkX#Y)e6KGg? z*lCr|q*Lv8FvG3CTqV=ZIFwb`td|Fz&M}NY!1crHb{plh6o;F1I+oMCN~X(D3TUHV z-yubl%Jg72+`!Q^4?cT4M2Riie>)zQ<*@k-K#+%J7hBu`fv4*02UhN()_H(X#Hz3d zy@?7Sm#?`OX}dv^N6>B&pU?`?o`Oo7)EisgbGU##SF>oF_|$&pIQfBG4Qo^56r z@i*;ALFi04Y;;MTt*ZO5L{uv_-TzQckM%00M8!FO6j$6qUVU9A8k~ydA0AstHE{5?mI{Ev>%i|{(r_Vux`RV1!`A^TEJ?%xC zRulMA`+-MEj0O&wG72 z4OhjG*NfHqO6@I$f93-k^5L41ikjPxaFV!aO6!oc6qX~b=y<^&3ytG}A+airZf>l| z5n2tS;UkUH`cqeqH8S|Pj^Up?h2Rh{h$sNj5?LzxWnV==uCw$gw{Y@7!|T!u-CwLK zbr(SHB@P3{_o@Q&cTvMH1{!;wB${XVc3jk75nc&<&+S87e=mfj(oe_lb~-yjPQ`WC zv=n25Qjw)1v^5bLirSP})v9LR0YhlYdOVF+JosxlEv{IpU*c+)CPrl3bW;A=Q-S$U z)vSL1DAd9iRtfCfT$=CH8^*`RVhXUNmn2@w1F6}6P2J%HNnL18jdC?>H3?@8gjYFvJ{J0 zBBemp93--7n$f{TzhXWBfm)yfM`8Y`+g3>onN!Wcl>1cOp;#-_>COcjyF3AZS9E^!85OUYU;OT*9NG1kq)nPF05Rc6WHjp2+K%BmC9 z_QF{)V#HIzK_bV0F_8H~4)q0z$Hv+0%ePp;BbMYG z;t?#(N<%%!f6lh_5sGswzy=<|Q#MhUWfySbQxF>Cw=?=rpI@lF$`zMMi3%HkO#aH- z>MI(yWfA6}wK(g)W%jpMw6xr*rIWrd)*pZ12o>?gQn>05-+9?2&GUeP9);7>qxXey zX9@eK6Xb}>ok990MosIR=E(oZZc$g^YPDA*qFi9*a|GNZp$!?D=8slN>`2^7a)J?)vHve4zq!*~i8BjUQ4Zq1iz0z(1?%bMq&)Ly z=R53R6a86~oq*mPVMve=+6*4CC+U> zUdbW6@bfM2W5GCZg>w!(#S4dO86X*7iY zzS&1T!=yu`9$-eGumXrxnZ-eX9I@e%rkJJhNkteI;gcj&dWK^S=KJ^!RtSKhXZ>-a z#Ki&NPPX2oA}5@GEKT#cV#5XKg*`k#g$y(RnW>5J3<%SBrd*?hx{5^;P<|Fm6wWd< zPSaGYXak)l7Px8p20&G;IK$|dMzdRuUZB$~p8f(zg6Y$H133&EN6|J*dJd0@U4X8I zui#xei&efg*RjI*iK$rDJ}rwfpEFy8jS40ln-`-)4M;+(lom%`XjQ`YfiPA*PO!I+C(@!K zm#&Qp7dkfcRZik~ulK7A@&~9?!*`q#p9RL(u{nw{O@O_7XCyKY|3#XDw}IPcjLk=y_e!& z^gr5jRTht&XAs}zp+hX|cI@g-Se0LsqY+;@pk7=0ov|u-%lK<|%NEYzFLEVT&~cG{ z_o==WyxRDt|I9^0N*78p{B)oh{9{z!ZX35V=%i z9IZDX`HfDx^u_eC(KnauC0(g^ECc;@z5GZef(Sr>4qcenDz5;aX%-JxtQb5-RA~ zK!1HJdy_6{``BJB&0|~=MRgigs3lcBagmJP*61~y^wjVBDyZRHS={(dVLEj^_T*h0 zvvJ?HzY(+-#_@2wJ{1qK6Qm2-!z_6hQ_;R_QJYz{N1ENeWJx8B= z#4p6CuMJ_w{6Y0CtXmbCpp5th7Y}^L@kMN5MiiZF@L-d zFCOz`FN~9>-r2qA0xdrn;6F=dTy7&7EAl43z!U~LjK!p~-t%PuHM)150mKEr&_l9V z_0f6I7io2YPFs!6?v1uQLxp;nHOeO(x!`3kNuaG+vw85j^JR)XvG?VK@ACr6XVpmS zbjjqJUQb%TRePv-1GjJmyr+*TaUXpVk%@SW-ryC;U~l93+Hey~J|x>I8P?x9RSUBr zR+kEq3L*lXua_>73M(|Zrbtq(XPdAXihR(+8&IXzSE8!@zVxH!>nT^Gw`m-`8Wi0k zOf+Se5z|jDX$`YZva8&ejgbmW9oET`6GJL=nf40vLxMzcYrVdTERe*FYUN*uwR@NL zkqRJxh}Y2~8}v_c6EMCX7?DkOP73K3up&_dRHl_=#(+Y(qi9GHbq1BaK}`X~8e<{^ zS~TIZqsU_gNEBm8xofe)Y*eCu$+)A6D8R(yuoHZW>L1MEda=rIo^O-s0?`BY&{ayE zsjV)*FyvKwiP^hK_7JYNOe{_W@;WP$9a?ICo)g0gTA|aZm^&Y~Xq6F}@=bodb`nAB zO`NuHSt3-fT7ZRMgy_Z-G&KZe!B&S^@HcsIH1(yr(&gB9?rGT z{fl`i^G+MuCtXQFKrOD7pbGEPzLZ@xK$lNqu@~7|*qlIB6*=(vm(-Ab?zhm}Z5xd% z@%j1N%|c>aZ2ezYP1u;x#x@7Vzs;i;gd6D z$pFkU2zuB79{>&=NiLMr$-9vG+#*a%nu5k0hCsn<9wR)4G2Kpz*($i0bi1UWva6gD zk~&Q8`N#6dhlKUyzz~}JzZ2sFMEhk zq_plP3(6#?+^B3SuXz}lp!xZNMfvMn`8^jHE5QGXA|oj3d}$kIg&3s|D7S)4AJ4_V zdva}99FSL&jhEVYa8}w^a8{55gB!^ICHNI*Jl7uOLi#AlFU<8yQW#w@$d_{)pfrAE z-mX1vd{LQy)c6a||52`>7cPaRF20u-^Eq9t2`5*;Qn041=;$OvV}X<(iyr8R4l~1- zBvDxS1*u??lM}2T#`Ccpia<0S0O1r2C(fBN>zw|0LcgL+ATbnPzj`fCI_qKTD)^{Q zzok~1mw16US@clY8)XT*S%QqI-#`Ui<#avn_0FPy??TTu;aO`q_q|%pn6a}#Ha2rq ze5GGC96ftmQYf60}N$)&I1lykR2-#%x$rnUULymDu?bkf{7(1qsD zuc*XTWrM|F#{IW3ObNSFnzah0qYi-qjIy`C*L(OE8(SY&{EkI+Jj%A5FC3<>AP5u~ z4iU?L8f~Kfma4^PG*HHPg_X`>$#qS`A-RncT_eXV=#&wo%SWx{aDuY9;Ul|bmwzQ6 zDA0kzE_9}seD;dbi;fTqy=*5Id~ zcvo0Q!rbKF?qL?D@Xf;I_qKpC_eLts7?#R^od6LI_MX1GeW@@c#~=)N*0=b_c+cE6 zi?7&Lw~`)UC)sLil_+q_PrUtMEMYubp^4gJYvu|v{dfkjzvp4Y~9`dmu9v0e|6 zvr`3rsmi1pQ3uf-n&ug<*9BfKOl|V<+`stQv++Ql${1g26tX@v`I+&BrsO7k&x$=K zHt<|dsv$yC z?iJ1?TccpP+6btzD)(ZvSvJ{iZc9033)AFq2RRTihATXs?3)wtG#G_Lrn)iyGxltq z4^xaT}#i@lhSN%;LzOI-p2YVZT34rYSmZ?yJoy5jLdz*@(A$z2|eP-~Lp50Ghm0Ay?Z- zC_kXrJDCj=49R}70s8%a0zV7AAdM>TjkwpUwhA%VHQp4LIayvMGfZ!QvE;AEt5tj> z)CqqjdiecqI#!3(>%9;koYUX3+mo=*z9$!;sNt_D8=Gu%A6Fv_4;U$J)R3x zfcP20zAk0cb0hhyk-yJP#KvJ5vU$+KJjw|dc$6D_vEYi2f_lk+TG8{_{h#39^Pi6YioFDWJUzd7`Ct9xr%zv=oS$0}Q!gkE19QaDUaoLW_v8Yx z0Of|YuD2?R{Qi9WcRk2?|HaA6{)^)uPh_3nR#S~}?12kBV7yr&H^e?SGQ$ClEFb_V z1d&V|)2MZ)cgAFYRO67#{rMHVgpCO-Bs}@2frw~WGn#)qRde`B%}bmnJ_V!qmv4Ge z{vK5ILpXRZ@?5T};Z8o5n@2TFvL!GPDz#v2g4&rZxRlT`)a2<5jRmCZWR~@!?-yt& zAO9^GJ@l-&8alwo#wyo~HL5pUlL3=`@?Hah4KH3k|J&(*)03zD^OGkpPcF{;$1h(V z|5yL}mOv z@#Q7mIVNg zD^k1sFdphxavY8LPBUYyPf0!QDA!K%lDd<^@BA;692U zI^`~Z^dH8WqVKHPxb+;2O*LP7$nO}OKxYW?FIb{NEP{9BvF!t8=eoQMdC^L4zW`Fr zT~>3J=21wp;5`TT9`df)H!pfGCe~9VhR>)f_&e`6e`dSn-Ll>8a8@}pj`#A=X^?dW z7TL-?z44fqD}jJPNpS*bVvZ1caa{HKatK_1?!FPd^U4-x{c2I4k>Um3=QCD&LSGc= z(!l@hWmYO&M6QYhQUyTcilYNlM_)8C`r?(EeogVzJ!|f0i=j8nR7WLrJ&L@7f2EAL ztkx{*P6+tc7NN$a)BNPHve+7+QG|-8+(<(u3hF`+a*z77JGG;hKH?SkyzH@RFC!>P z6iUsb+^qaMr}LtrNd=UmoX_4fJnQo+?FIkrC-b-IYB9%@aZsJ$lN0?x9)j@12<4al zVQa@bAa{$^*m#4ow|KxC0T7X5#=+3k$1!4z!aTRu{#eaT7!H6 ztFh1D)`Z(=nqFQ3Ul0sFJ*RZ|HxoX}ysRwffj=xV5DS0x zYR^h(#to3%)4B=yh_+o|4kgS&h=!c!FfbmhYAdu&Z*|c=wuZVmozWf^B)^untrTR#zw=f^JzRc)Xz1W&74%|wPsdc$w8_L%B_y^$PGFy z{UQ$<7}Ct9zdfDx+rqz6*Sn{#p7%!n_qrvhG6|=R{--C-=0JB$qi+FvH&Weigot&| z8r&h>EeEr5``-Lq``+AXb4DfiU2RWu%l0&P+Mc`MZT*JD-D;=;W|f9-1$TckTr)Ua zNiGPCwTfJ`8ns%jyJvtVs37}m?acmQ)}NL0!3Nz8(+j`Z)T6;klzwN+>herB$5#WW zVI=`cot>MJWM=k9j?=1Vv*}{3C9|WW2Z85evV^+!Q+m&5F$JDz4dEKVxMV>(kDN)n zJkuVZNfbRiYTy9Srg$peEN zl@CMMs+$Kw9d_teY!9IWO=*yL9w__LX_g=1A(kzVPX0+aX?X#9z2u*vV2bi}U&r2qw-yt%Nk7rLv>o^17EyDk$Ac32EZTI%O8suJRCgS{4_NEqh^2k3&O{4xTxv; zea;}uD(WA(+31u%qg_VMS6>TEptVCsaSP-90964?K>D`Y0Go+QI`v9<+B| z+7Ez*e!rgQjw8wjM(%XWUvoC7%Bv==$bIs?0Ov}I5Vv{M*gf`Zob*>H+OJpXGV6;r zC4H+hXONAQM^+w9;~#(3WuMbpXl?xocF7A2)TuXi9?00YzD>BOrb@=SD1HA%2j+2j zV9evQhrUsS&(^3n!;!EhAgwB|)Q4*1t;?z7qNomlN{G%j%jIH)=9LZVTA8Srga!aC z3V`#RW;!y7GWxK*47;SUmj?z_tm12mwy~Ws4WJIBl8GN5*iFhIuO<|Szs}Z9xad7iCxLfQS~U8m`G3apZ1Wl z#0KIib5*Xs7j zEdG?L2~+JftXd-LrW}8Nn#tflu5-=9F0SXElFIZX5n29IRsoRf-KX5gY%|P~wYi8V zu*S^{6D>Gwie3M@hm{$4c>LnD8YMNc3DH1C$b|fHKl6VU%TKpmfq@wb7z+OLjZ{b^ z3SPiPJeT;OR*CUfi_O|P{bW8`-B3ZU`x+4h2o1|ALmtIbETMw!uOg8ZGG_YvCb_v@ ztYm?$Tay`^el>ISE4;pPi@PNevZvL`O$#G6Sm>{)Bl7~1_=T0;449VpN+jhH$CR=@ z8lHZ;x0!#hlF{OFPAOGZ@GNNV285YvYie!Wuc8Q$sFs*=JseR8goe?y#DXrfkg!9B zoKO}bWEIYH=LH5Y$X@h&=t=uI55+B^HJEWOXEOHe;iikBCC2MmIpBeDh-Tym7ZuXR zBc9~h>mY(C#joNWC=Ywjgw;`YPbT4v*)?4Uq1*rKE zV+BUa;Zv!Z=CRY7nFmcvOv=SYFG#-^3pY-M;i%5YRbYTtt9b_lsBZP4Q99k$A7I6kn1W`!?N+>^KxpGJIIT;{DtdoU zL(Z{x<8X6{r&x`0AN9E?oc`uIUd@d!KG?u@EVCe-{y^(MB=xr39V3Nwhon|#idu&A z22DS3vhz?HoKw9KbsP_J4=lOuF(Fgt`I-$leXNAA7T;T681ISCX@Rot(*u7NaBj0{ z!{sbh?yrQB`=CEc0Z&#`1lSBQ8!dmvw6z%6^Yh91`SFh@{U^`QE>6xa`p-_zjA!xY z_j)*ce){bB#Yz9g@sq#88QM>pN9Oq0g>mPJEJrL&t-aoJ@!RQqxOjICgb2iD@sW7x zSDqAcw^Szj+!Z*X3d zRYGM?#F9kyP6P&nQ0-Z+d2<75dJ;|2b+oU`(&{Q!YqAcdMoH{so?U;fq$OKs%%jj> zi_RBVN=L9TqcF_X;+i_Ej~A*E?i+0O&PL!hiv4T=OEWQFwl!C@O_G{ZfuK4kt7M6`(fQiiH9{`6I$70P>&IWV4h>&E#^<#~)M3fAQr+|4_Z-*TQ@a?zXX32UzO~&7T z%e!5T(ppl3^)50|MTd&S4HGQrL(QpW{Tyml2nd*oD(Z8#DDi(;5u)O>$;SbBFqb!# z8esv1w~IIIvyk<*u+lNQS-4OStqf;WWgN!o=(=`q7t^=0!KdMl(KOiEtYcZRC_0@j zrwPV)i%MozHT746SAQndeyx+VWyK#+0EqtC6J^=$LP)YrP7KRgVbhf;wFXn@FV9Al zR2S*w8m)%dItPEdsS>s!EmU}kC`1+}S=d41?=-#vokP}Cq5^gp#%EwbtoosbN`wz& z39><679TKT0|}Wf7H_Zz2)=~#qmtRUuAZ@*gTVlWUjE~EzI1&)PQV4MMJWq{>x)OV zi~1>WfPOx5RNpWPa_81Jltyd5ic00rH+Uhi7A|MeOH+TDd_}xw%t_?J{t4dwFP3L6 z{_6#ZpC>O*kDs0X_wmK)^D~rfe!Td}1%y9L^N~l+lggg`y{^XRzD1qmxiGRhW6=;> zV4EpJ^m^H5NWWFgxy$17Kql*CfD26zPpm?(s$L9C#2fR~(XV*qL%4L%@X-T&6! zck7#6?uiHRZ*zUj>TR;ETcXT^9po4#4q06J8IpgAR|97Yu|=0n{0y;1IF&U#SDdMN zc|CQ+#UYu6n(UU?o~Q$;KSl~H1{rAwxL}M*2w6@y`o)|ip=AMVREV~Kuq43c9Z3>U z0;gXRaGCzU79aC-6Sd|6i3GCK0QC%s1|~KSU_*!^Q1>z(#fw4In{A{j2JivN=eH^- zmAik@boL@43g#_+90^i1%L>?`5 z(}eqhj5aX)nKC^&0YGL|Y1EM1$D;}<6!CxjM)ok5(mEZ~TJ%F_xn7$cw4nXDg z*Fp-B>LuffL*8hEU|N&(5^gL_McKZ@qA-ezXQCK~q-ZoHn8so?rWQ^-pinEQz7ut- z7llX3&3>I`s2-svm4Y0JofgweP~cFdvM`e7B5YVciS6}}0zxFu(dTcO+!%p4n@)dQ ze=eC&?hDDTf>gv~{S(-&Oo&2R0}zfKj~?R`SqE2jbuQiqDxaTF8M~|1VlLy*#0i-w z_AAo%ELn?wpCyi4yDtQ9P>orD7a3pb2Cs>MiGDxI zXr%PTTnT&6K29+GWQl(ft(9MQeXkyU7LP|s(3fNL1eSLK@4 zRW#6;^>T%@oS$kA716kQCwQ1sm)5HaBYzj~Xg`b>bEf9Ur4aaB;jE}CWC+AEY?HBD zH8m3^I}@#svuHS7$ZGvFwtR9h=W>x{DYmIY;v0v-qeKZ<3Y)>$L&GVv8Q=+_4heJP zJyEOw$&FsKdiiP@90|HOG-(^cNq>=5 zCmzXWD2l`?=uJ8wlO@jH12KEs{Fmg;fmfob4WRgDDT`>+IoK7W zNl(D-S36?Pz9LLyXoVSFErgYWz=%yDIB?g5M2%MGDH+s+*(_a3N$j^s1R-^X6zZN!&C1qO|{Lr?j@TV*5%eCtN@ zlN)vU@?xB2XZedkTQVCj3DgwxBxN6p2@8=A0QtJ zpd&{*Uw#hJ$lO`0G1L#(5^IX!qlqJIbaI`U_B%-G2`MwmE|MrKTny;T;j2x7T80cy;sk1)~?v1JQ;9 zv-DYXrINPUB7Zl`e35JD!KP1c&g_xo_*{xg3=Xeo#PkW+oRSZ=07-{-o)P!2eWwcI)r%|__s%oaAjYZ_0nnDc$D zU`*jOJ==~`VSnkPsO?to1q3XSo{t|31rOE7MZh!Mw@O8D%YAXIZh(suJ>ZmhT zpk$o|+5(KqA-7*}AOY5qUg*I&aqW7%DYInO>-|r%T2Q`Ku3VYt~~n-uu9nkw!!k5$IYJ-B5)w{sN9o9;;`N?|Ce5ClKk0Srp+@O|H6!2 z>Kkzmy#ex<@30CNf29mx^rQ}eu)*X5POMrtPR!=co2ky;+)+1%$Fs1no1WWrPljjb zV>3KO*qt~lJC`feTeMTY7$I73`jd3J4y6wsHXFMZJu8|1*li!|TD)zSyvL(Peb*v% zK+V*gLp9Nk4m;&Lw=!7F6o;FFQ2R#02(^9Z0Gq%;)?1xjfAd4dSUR$Aw*ik1cFnR? z`RKHD0l3Zj!LADtokR+Nw(8yTRWU{JKUqVcbzTf^!G6N&EZEYv(QdYP-4bK!{aKoU zFnc*CN(q-YR6n$Nxa(TXQJ5}}+a(1${0@k7wl;AYKJKsIg{q70Qdd@{Aup#GVw~hS zMd;o%x<{=)f1;1BN<(&N=PvDZ-&?i^$0Ox+I(?{aGdkqD;})bg@0iD&Yf|gCFet|y zm8{E*S^ji<{*x$%fAM$m9Ji=_pQG)JdsStGR~XwdLgVs^Qu-E|$VDB+Xf#O0UJAz>Kw?TBC7hXHMu0utP^8t>;#!^s zT6kpMZ#6eJ!go$n1S#NB6>2jM1gB(XHeys6f1IC)t`os^)Cdyu_9&4AE#&wxnm6d8 z!R+%p$Noc|T*67w@HnQ6PSO>;tFUiNE7u~Kw<0wgm+df%D^x`+x+b*|nwlXn2{7h0 z`jl}ArBs!$vJ}>nLYhrjb-JBKN1Bqi&59&x!4ojUbMzHr;VgQ@1?zlWSOT#S+Vidy zf3@H49WyR*P8U*boq`XS;eGuBkRv1~%29?NtHhu8jSrkcWzw1V%@4oblX{{t*sBmy ziUD6D18FnVB)EKQ^(&a=8T! zQbq>3JNIWTU+DF!c`qfO(4?Tm5U{jS+w#*-Hr0}sUrV~BW@YE;C|)t zU#RbFQz^%p$m|rXV<6d2MTY|aV}sma4)mLZ04*9&+5qSO>C>QR*zqar0Z{Hee*mz? z%`>cTK)3*YJz8fq>&Xi&Kf9^^q#e@T2L@53E~ zduiY{s0}jlz(T=9TqP;&W>RkChDFtg%5ls0yu-4Ds-jaQgc?#Po<;Hw3rvVo-znV# zs?2eP^~L8=C0&0r=DS7iKUnfK9Z|H#oC>0^yyJq7D9g2=%spISo?V7T!pDNnj24R} zCSw7y*`uBSNk(D@$8$4%e@y2j_4B;tExxIes&egLaDTk$tNY5H7t)(1vlitM$E20}BJGCDYm!oc`6hHa7UNV{Y=5Nd zEqHMm?nV%qnKwEbt)CG2yc_0Esr#q5)+b4sKdw||{sbf}^Cuu}f0;ieT!HwLlfulO zJYB>eC7pRU)-S1-940-M^0;7O!dmP8c<(@i4nja>o51_M4r9`?PQSvOB^) zE!q#Zq!4ZXcm-;e+z5h;sr4&?nhimeZ#*W2i6YY|fgCg?L%If%Dk?8g^he-4T{+wQ z$!S=U^V_mG4Q}XEuR}w5IGsPrTmIO5kStq>v#{_G3zTVvf6~psmP*%rQuT5JG2)Wr z`!V20x3(ZX)h_k6PaFc+WK0z zbv0Lste{kw(-4cG^^r+#oYGFBwnIU@v-k~#lBysmI0N1;pEM;GYglLf54pA&j@}7h z%dizY^kbT|O%cAtTY;z+^CxHPF5+uau`Yo5VHf)0e--KsVKrp}F$L)nZmg3iT@iL; zG?(wG?lp!DobX**z?r3r%7NZ-m0_Lw<|^$RA(^rqW3pp97f7r%esp%=8iZiYif~Y9 z&!o`Ly{}Ll5n{iUG!1N0mU|S-${egTcGT^m@~w-h%AJAcfmOmc(6S-2o~L$VJ)WjR zs%mgef63CULTo?+o+_b16%C@G%AB>@P#>`(OEtQvl9Y;y^s^J$V3sG0&sw(Ci>iE1 z+oKUuPt|d`P;D|i##ZBX)0oOIlJRyUDo)5q=AZ*|)3StW%&lYHn=OYbZZB(Ot$Zur z*dAYQ45gj1<%7BT8E3vkLyW3O@3kWrf5VDwf9`c>N4}^-f&tl7P79y@SysrhUl7Ia z@)i-?XsbS#@uE4ZEXm8)M*eF&AbS~(-emkwUu+2cdSAb?UO4+9byRHb+`3sBz08;tEyB5)|q{xBvz{;L6ueZtjheEi)yaH6#i7Zg_DyrQU ze@CEX6Jf?@R9#iFL?Bg|g4jg9Jrr8haP~-|tQrE#Kxbd)%qR*=kqBj*2_Q|%4npYz zb0|?sFTgFr^@^kQii7p;Dpv1yp?W~SD&`ERprg1Yx{~8w^q)~BZ^DOXAIgXEq$KiT z52zd^H0xlh0b~`-UFu$%K<}vLr6Mw3KkddB&PY!??6w%;e5RJ|aipITFSkUI-W6ir zGKlnF95ZcX^j8v;sOh4?onhqVbTN#l(cg}r{c$Bt7f3{fnJfaC55Cf$p zf;As_9>JVwsy!(ie918P3Nf5&4p1HoQTx6HUfY{2vAp^*ziE(GRg+-MQkJYM?)s|s zzSMGj{mZ?D+h}_3mTteOU*a7!kjOqN64yxL+q>I4YBT{lo{yj6buq3R%k>_!glPfx z3g&)wVY@;R40N_;f9+9atP4(tEctHko|8?Fr2D|K6$#-`pm21IA9YI*mMgRlDB()u z2ohno!r4etbJdxOi@xp)B)eA#i`}oZ!c);`>po;EUlkMa-3KlETE$~t<5lVXlzkvw zK*LQs1(`$dOim;f+hsgLqvv*49TPkp(7O40+c(;{#O}zsf2!yOK}{a>BiqybBrO-{ zmm^F@pr0ogQBKjhIb!KKG%D8k#I}^MeO8Q9$Q>n{(kheR?mZ!U9Qx7nE@>U(c|GU) zjqhpv4`#_T{IRa7NDndg)$lCk4yu~l7gq@_mQsv7t*?^ES4rgGOuPJ?vPZ)uSk8lR zqPbVOmR`Ame`-03V68y#o(H8NG4=2Ok_fsTjzfA}XwKI=>Q6=4uz6A?;&}4}tMwrG z;8wEb2b#aUSpx5meWM?^0rAF@TZa#T%|*k1zYuXwnNCdOlr$ODQxR>_MbPBXsk(+Rt${~&oVG?3&nDNHt@$>9f4(X<&xHVrd;4$3PW*UR_3na? zwUinpfL(zj`pUt+C=O=aj*sD4O>eXM+|%*=rt-V0PsPR?x`Jx%eSJmfVK=rvr@f?3C(|;9eB=Tfc%Xsb^ zHy63F6mq6&nI!MhOl9(}-)*J#ThiXY%jsx$!44cct2%mPZooW>SHpCT9ihbn_o)g6 zj3Kju;g!Wk)o-Sg`6dJ142~=-Nt>Hr3Gr7#fBcmYmm|a#ws`c>XHT>iHtM%~C38)G zySEoCMO{#c?5n6+iaC%WE7xHfvr^c0MV#Pzp~@2o#=rsPB7;&&y3^_6IvLkI$>P?q z6z?w!?VHEW)1b6fnXN|M<^&{_aE^Jz%4OaTA&mvBA& zf7lYP-YyuTA7g)(U4{xK?ogF+x0W0J0b7lu)*o4*(dr_yy*#5J?W1^^ZKjwQ^n`yq zHWFQe4JyR<{;m|e7JIBl&Xp}rKru6165wZJs`?n{SZqAYiBIM(VP(n$03-p_5}j)( zi2lX#%Zt}v!?Q)c6NWR$wf5X0IqGQgAdM~%C6$(L8mX1 z)pg&G_fHem3ZWY5E+D!%CNb~nLaAz)FfFeG_V-y)aynO9h@*jdKL)7z44!gLmx{m& zPJdo4&iccfHHv<4y1LWxvDFJnSFIe&4WJw^%(7aiMgt{{sWoa4PZex9GfP(WQXYyK;)1uCbC7Pl}6U8I>esYMm`62*>f~S6tbua<0+Bz!4OY zJq1R?N9?II8cwG%9tvfmu5rzo@i$;Ki{&HKsS4QTQn=QH?BlSROTIcDNAsXiaGbHIb*B7pMdFa zLdS{lOpx4bB+H_i_w?FukH=UBBTF+%d>2#>Kc_lPSba&T2-uk(`@F2IVKb_2tA7&e z;k-d>4Bt;fwZM&%X-q~@oe+wK@~29)(4YZp|SaIBs_mHwckZ+QkWkD>s&|R;eQy`Pgk_mkruw zk4~doX*Hr$2AD;0MM~MVG^pBm3V%IQGg!U^PSF#i2DZ4MfyROuMg$8^KreTj-ti-% ztvoY0#d5h2Hxdnb^Tu210^h2!;2++3xJ++qpP&qPzTlb^T#>uD9{!ezMa^#CfAHgn z)#=vO@tiuTR%^zS80fWR3O=}^zUF1J*7$=Fz%h|^qxJ||{sqD3`XjaI2Y+m9$yJqN z(9P7Kt0c|<<)~yPAsZQ~cotd0cLi(qaC1z+cMkET~HiJpb(*L2x zyl6F>VH-69na=dU*C6xD+JSs+fIO^__kqTIQ zF5@mJ%w)6PtP)YW2?kA4>TgUMdAiP(c@VlyiTun5R&+C6#A8`w(eAl2S+F+>S+Sw?;R6auZ5J$9=Y&w0ux`*sw(*la3rH}=q5@0}>804orA zjMz$-KR$MZpaAOZP|X}4_ZM%^KU=2nXz7llB}yE7&wn9Qe0fXZWiPD4`pIF+7_Qyy zL%1^h7)vTw{@lP0aeF;M=vLH8U`;%eRTiq+E39ARg(wz|w}Q1HvTmFia%AJ2STi>& z!264lJAbtL!!8_F*E^*u$UK<>4%-N^*uYk*MlpBKl;pV7OV=|kD=9~P!1`Vk;ITdELd05#=}PaI zeSb0{xI%+9!zLtUy)POnUMs+96xx@h$Ux-GXjCw<$07hXy7@G(^7 zwlh6_E;5$#+qq~PJ#sxz>Nh4DWi*-}b^+FvK z*_^~e3@tNVE3cE;n-_hEs46k&RU$P)WjK};(kjv`1n7o9qgupEmoOm zEhJBnI`#mM1d19j_1_XCuXA||@Gh9uXZa$9%=GOb^+$Jlc z_m#Mz*+NNB8QS7->*mNUa9J?f*N^)3phb=v`b=+X(J95BChwMuOmwVAP6d-2Z2)Iy zikfgoK-fbN3ln+Cp3pM_@qXebe7DQsEWTIvL@!s4tdL#XgyN5$;rSTQjt4afs&OvS zGF>K@AIb_Bf4kNq<(XZS7H?GKzfIflyI0A|XLD0lAe?@9+W#t#PXR(3(TU$@t}o~o{mZLQ|e+CmHBiLk)la_W;TbP$iRHIX_~Rh z@o+&7l}vjvMIe~fRSWop2qf+uQinyX`Yq!V^5QxPyC|@atx-{NETPYd?t0v9%I;2$gofP}T5^_? zuTZbse^^M;*1+6!6Gg4z;*z>s>sEng@7dB+`6;UzB-L%9$0V>yG(m?awsq9;nR+9v za);}8rKoo`hk$|JuG=}0$D8X}bl$g%D~jKAb9y6yU1S#$-efAvS{@(K&wyjusd#gCfhv&CKDDwrx@ zFYb1_f2>*8n(lVPZq6KQnqu`KmNd%xH05e!`HPj^Dwri`nN3aKsqw1oqN_%hK|BAX zREr%8t2PEp^RBk&O5N}D#ZMm8q* z1H->nmo>}^DSM;*^P0kpt%#C8!nCJ^vp}Jdk`0kg4%nC7o z#ft5gl&_^Ky`Y^iMYACG2cIV6OC=$hst=M&9#|O~zHnjx4RuBtK}TYaZ8s3oA{=jMwvq-*Xf@pCMVeMaryE5kQ_F#p1Kw ze5g#?(y9yR?PSX4gYtAxt~ue8x2y)Q%xItCjS!ouN%>rORt=}P@|9@+uy}~7FU1tP zpBWNEB#R_mCE}up&6L>*&fDf#?q(NS9`k(nOGzh`Gh{oeoM=z>ne=fhsj26G7v=2=W0_w&ctUM_3#W8BhzOXvgz$rUOBUrF^sQW z`(2snr_fRUJ6vY9rlPxS$#r*sewD3!9d=!!LN<;rEMv)k&h%i=n0EBX}2%(6m*!(h+qK1U_vyjZZHMbFeZ~F_w1!x(I zvP)kA+ZGR>O(?gMg)I(8@zoJ9|nvF?gk1*Ws!1t zY64oPs%r|$#w997ppv|Q6*?O2du_hb@gKx$D6I;#Pz+)bo&acwKO$~%A>hw%_kMPE8_nve-fp?kyzin8+nh3gzDA47IqHO3GOR`C z3Fz?a^)l<-zdv4#vYI%YWR0mI_cV2Do1IlXuG)l|e-U{9rqs#$jo&R9Cqq;KN3%QGUJ{d5QtQf3y!`J1{chrg&2h zySr?PZ;|ICZWY1HBL zZ?T+R@T<`{JluK9>|>e5@A?_Y7sW@@Xf_URi^*vJ&nW9jk}8a<4%FXnG>=+4Bbx87 zVEyFHYM!C*JhZ4*f1|nc3E5V^k&yMyU*oOmVVKI16dbaXdWKa_j)2c zeHOn-MEy4|A15lQ2-DPtG_T{6^IE{qXJoTTMUN`ISk`shNoZE779K$~QDLbE6!~R= zH3>PQtn4+_lbUVj97%)^j6tYLMg02^L;!TRaX|<)St-Y2e=RzlvuzJ{1{+|ba0T)? zjVl)tjndU<1ELib$0N&IOttWm<(h*fb8gCEBK>o+7*lMf^S!MCld+ZyQJ^F5o?{fQ)M~Xo^5Ic+@N|8nlLpi; zaH{v{EG1GHDJkTwWx_2ap7~OmCSV&KpK{7<4}DazwbrWH-d{My{$@Z zoa>@R=+P3Dy8VE9(Wcdm9u-VbqMLmaP-zx`-^QyHGc>UJ#&mJ53T}V|2j{@GNock= zg<4q_EH)mw8;%k>KoD0;hBsN(?hZSgv7}MJ=_&ShZgkCrU&5mxb=_ z2!#msf4vw^JcCFjCP;;g+(N2i`Fs|AT+(6xr3O;?16fIBTO2B`N7`3x8S zP;jP)6*sxWr8sP4b8piz-Tf9|8K7EpKVrmedTFBN43np_eUFisbN`) zUYoD0ZOBa>!#tAdgjwu5Spf=C%|uF$r8qOH@B&Dr_68@sS>m>Z>mGqHnT1m(|q@C4cs5#|QGx41`$B?EtCEHJ#e! zYO%oz#^kZkK>>mpQBh0m)?!tcqPW3ptUXJa5<=O~=~kH$9~r$^fI>y-+(NU%;LgROq5)T;wkDZo=3R*~sZ@q=W^3$KLsx=s53}vcc$0__4zz0E z_gFz!of5}765ddNrbNXhw`@dXt5y~#Ff4D69F!z|%$vj1X|%`-&4cv1(G}s@ReFhf zCDFQM0t!Y71Kx-`HdAP(zf%SFQdi@1b? zRDY1fxGvoiP-taC6bi<%5FW0R>9kg2r;C?CwVciU-OLkN)tT8RI*AKmSR07{%F60m zpxOm{9`SN!$*kA=pJcU2#zt_D0Qstp&-skRDuT!kACgnU#iU4_>Xs-cP|$Ge$bpJ? z@4G0)i5QSxrLWx-CROD@rQ~uI3Zz4dUw^4G4T@qCGe$LB29cB3&c5^mj1xtRq{KeO zmjrF{@TZq-!i)xI0DOS{UdK~U_EzL1SLBrE>sEP;rVbF;_VNO*8;j3`&z-86DXw~w zzJu4vsKMn-xSqn=Dr&I?SqL8<=*Yi8kDp0ZO9ELsLk0AUTay>~K)Ie{SU;8-;eVL6 z46B07Q307!IUI`m$DCwRS7<`%3=N1As?3;LA^5a}eOiL#2~{Nm3Wagt@7pwbBK$j)P}qAc@5XbH21AhmVlGB&p&FK(K}uKoU3{4< zuKF2?Yi?kZ*cu<-is;IpLgITXA{cxp#902gMNoCfxa7NACg-V*E0F-bAQhJk*$Nwf ziuY-A(Aq3sR(=mhpYG+bn0TCF3&_>7&!wgL`JHn*WdmUC4I;)Ow6I?~?f&^sr$1cu zfBxm!#p#P@rzbCUhstJcxw!7Pnw3tQnd)R-%tl#8%!`dgQW&ZZl>RlLuq$B#6>_jC zVgvt(va57L@zRTBvXYYWfs?T*Q=uPdhV<>6DbW~PzyJm3*9HjzOi3$xY>*W4@7o7=@$2*ci|4=gF*788Uht`I z`T5J74Zt2#6KWPA8K~yr{eu*E&pMY3+6o(g+H_qpR+fwSwl)w>hNlBNxnT@-pQTfS z=fs2iQN?=%dwbD+?}6?K*am3a(2OmuSqNW6B{223Pyl_nrvY08FLWq-p}-;^k(GHN zv&ESD%xCh2fPYjG*99^%56@Lm8+cvscyaF$fx$ zrrHW6e+8jCCFrDs@KP{;vpQFG3%_S6an-1vD%Ms>2o$74QxcS7d=Pk z26YKh%Fb=Kr2ZvuM!jGgT4Eb40sb~yQUBxcqJB3R(e6cOi`%aK^CLj1RqrZ>6$fMA zmaedx_n!1+qa*jBjel#5e^n2wGserNJ2<45JBEMT*9$|X zK8j+sTr8z4Z87+V)Ft(*lK69)(r4C^ti^~ww&**z(2-QkT437d-UZOO!r}dtwnPa( za5$eNzGP2a7=1+oxl{ftQVOf1@1n+Q2TA&QY(sJJV^qJbDOvUsgg>+Z)8@%FD6^Pb z&VO&;Za%xDZFx3X9QC6RGQBd))UWe+>8?+@#l5TYB<(goI%)SEXVcH(`AvT`U1Uig z7~5u^VlMLZrq4Cz`ptt*A0>xAIn?_Yk)4hg^JXBC?XXimV{e?S(zi)JPO^S>Gn-+k z04&y!3hP@j1Rlz)A&kFAb-1xu_|tsi~u15smQHX`Tk)Kv9+g6fuy2D1zeYO9x5W-s&{rvqg80p7su6?wZbs+dw&!d zrrq3OJN(1&q5|*_>qoogP;2-=Z$zk=+_2CXM>}Sm_j=1WqwKIR(!%ssC!Vpv;hy|L+8Hemz8mSbp9}K za;zb$?X9%gtW4)%6O}B(Af177mrv( zH(Nm3Zo8ZAXc}!w($!Y;=*U>=XUtI-9P2(;+TLF6e0xJhjY#+vfBFK^IM7fy-y@S> zHDtnMG`_NB1?y}4ku~k&gj#b^At=p3K z7}`Fg+PhRN3M;@H?{fdqcm;Y0$e@6ibO7lHWNr@2arOnfEP{^FUrd;}C{2bFe_3pO zaZ%m&pk$8fh5XXwzYCDSrhkd5b}t!RueV;^^zF}NYck0^s*!Uma8}kwa*+ILNt3es z?hx6c!u$57I7!dC)IWbgOOz?H{ygaq4k9=?y8tni%!`{K-R=Ax4M*R82p|k`O`ui8 zQR(q_pk6OlWA4hCUb=13nF>+huxvRXHeTSFiu4oZb+hO!BE4>Zy?@wOYSccTN(5>Y zTZBa`7tRd?(zMT{Nt{~5M`T6opZx9QWwc86RUbsmFiYQ3h&<>~NF!>|)92CI^9%0l zXvgT!7L@#jH7+nbPW6%`Fd0%ubF^I3N=otKsCzDTfvM>jI!LeL6HNR><5?iO!<14T zVu6@OKUbJ3j~|Pz6My`IPe&95Q3W$(7aA%mHcT(6ya*au5QNBG8!pB-GK*8rn!_VM zQs1^xwP>kkOy#Rro9+W((XTQ8N(I+`E70xR=$AR|k}NEMiD{xJTC!ZhQfp~ETGbY- z%lplGqkbP$p4xIeiC&L z{hP(cg9cUlT(a zLzIa2S20yl-A1%RfE|@X3YjOus^FD(6m}`$SN>Xkw|}P)221YHQB4ums?i%UJAm5! zwt3KgbWrbd7S2q6Lk$^JIzKBSGLQRmwV5s7V2tf%1q-Z*&V!kn8D2rk(T(EKXu)m0 zL@|}0&_)M$c{3m9F#7psHN3=9O~|8b`DD_Uh?*VOR7MO14%iD_0SI7Y+m^)=q=)l`c|VXu{w7Ro zK%k@;H@s21xR0BzlDEDULdEq$FP>WpVm*~#6VCh+44KPdVELj(C#oP@$A&WTe9xE` zR%UT0pe_to@ww(S7GUW^Az3PJ%h)l+9?}?nfZ~r#&0g1{fA8@cB#H_foN&&ySTU!O z=ORZ`1s;C8C+7Rxy{Z~ceE~D2+DM|%gC^eMl+XmgLdy-VAYHR;h5YqlB&0*E$i;)2 z4Tr6j5d@wFXT$@w-p8Z|KJ5eux^4u3=p|G};e!Rt6#}*+#RPJC@m){)+!@RnNMjY2 zeg?a?fFoU9ec2pHX3?t(qR_X|8`r^#V4AywK{uT3 zAXRfxJ0ms*pwj0x1J5enX$0PE=HASE#q)2X4-t>W?*xZ?lTX*gTc!}##Mo)NUSl70 zL|Q2+50iaa;0hGJtY<^RdHn-s0hD4N2HmF$LgoYXe=a-Lja_^7kJsMkV7ej&+t?`k zVapS*5cJg>e2IQ_9ggZ5k!v%N(&=rzTfWK+s5m%}Id?`?UZ~Kgjn3<8B!AnpRD=7` z&)Ao>BJ?$2LT~pXH0;RDS0NHODt}P`w&1RAy?DlQFgeb%O4xW$@P?SWKu?&8=NZsS zeP0)2f3ELOM8Ht--`>yCp}@>jj9j8xV+xX7g+)*XJLvKVGjpDjw{Hmspt z-HwGALGW?PF3(LS~3=|tU3f2xFl9sQOlDh#{^&OuaZH1}jxOjDfG zbrO?zG4@cOfWCTTpN5#gG~%tVrlXrNV8*sE4xjwklT6BE!&hDi2N9tI9}V zf5eJfmzxyc!#X=4aB{`bmDAqHJw;I@^937NJ2WuTZbr!TSjFh>MNa0Dn8=1+SCUI zfy@Nao5k!KXtc$}phBw1w&tFa%2hoi$3U=KK|Uv@VKfu{SnT%VvK&U^a0qc7H1(ak zXLM^&aa|1DYk$9&A5+{QW>~XU_vaf1AblsM)co z$R1}(s-fE5TzvOfm#QvV6gd)3L1|aSL9Y|#>A(;O5Q)j;xFUuHLi}G>OOAr?YGE5fP?PuN5@%~%!YDC@)BzFT*JmoZi?#4+4(xW7 zvIg1GP^r^bB-R6(%mB6kf5ZtYMT!N8Gb$?y8$=5fe%YO`MEHK_Z!DBG?uSCO9M%6l zl8ni@JnGK;9;Ew#$G9EYUXYURI_HP-!=QZELYYWD_4xPgbePbfiD>WwF^(K3arVX{ z#jHIb@m)@_$YmZ6t8Dw!^*NC)viUPQ*25_`mohNpSj^}LTOwBme|scV$Yt|*3+=Y! zUf-q|t;8IVs$%Mwa95gwqaYX@CRG*UCTuenv%}Eu)$|6xG^({zO}C89rxD6kXbn|d z#H;#=18Z6LRzsA>=GB$n?Ni`DI*-}dyIipwV@#(mc7(~;($Ppv;Z*TH_!oro+uheP zm~VV$Nk7Z0{_;)je;t*I2E;IG2P+}y_uO(q+z&3PNZ6vQV+g$XR0S8B@k;kX{O4m< z^H6^r>S6In@A3{e8yMVQ;mn^VRL2*DtAM3o6<o7jl=pxYlu z*(jdErIOC}A^8KYWF14Rvz(<`QrHAuc>U?C!M2FE!Rv|$f2-qoI$sdoHW025o&HVOGi9yexg8fG7l;Ki(ea1HCAGI+thq<@4#AKqM+SK4@r*kkQwi}zJ(!aQ z#WXpg2Srk{#+gjUGWX(-(aKuZ+c2Lud(VZtQp+bw_4c+3_xcg{wP`QiTFB6xFO};p z5rX&IJ@uB9e=N~(gq}w4>sI~3TplbEUbNSl_7)+dp`d3pn=!;Rv*Uueqf(8oMHLp# zxXiXxHmosM3C5|R@Pvq`yLG#rYTVvCMlkNcsMkm7r>dDfi(x8F%LzxTc-m--Sv_Uv zvWG0t-Bu_hT-2b%17=*=@ltphYWB=3NV(DB&lDUJe^twbkb1mNK(y@3t-WY@(%>MP zn1ubIT9W-S{-7hwifea^Qqn`5zt~@_`dDhM@_VkPqx{*S&87VL?cOnH9y3z-QSxD` zVAQH#alZ@BE!3w|d0+pqm#f(+e|()Q<ZtZ$T^ zOixY}f36pkmaSTu0PCg$OIc^$ShrcFe-#`UYu_sW^EDOaM}P^?AP|TETVp43ku@nC z7w=@GYNKK^`_Tv#u`$=wp5u8M^sx`#Y2Y9&bw44#*>~I9ypz8+(7L-<~Wmm zRm2$siLl0UCOehH(Km05mLFFj*?l9X%^P*Kz(_9{d5l8e=8_bAfw_~<40RlIx0DiR?W#_IW~PtWJQLP ziHIEt?<}zwuBO5MtziZF3f@1rq{FCUQTaWNfhKvFO!_hs zI<;3a_((tSfXE3&Or`V5!jU^zynl2HKX|YAP&&YKMH0v;t=#eS7sf_B;^AJ^f88*H z3Jd!B74f(E5@p%juNhfaQl7KJ`74gVr{*Gl5#!~s=VbRzdwEN@jTqc<4{o>P=~;3^ zmLg|Q&w>PcwqEz|*mu!qV#AJm7_HoZKivngBcO3*x2hlRHjDb@kIXSDmX7i*?9?8Q zlT%BK((1X6jKxaGiDHyZ+gSj_e?a&kRQf;;w1f8o!Sop`Re-;#_!pg<69+C*Oss`@ zK+RKR)u^h*oAqLb+e_k&JaJ_R#+Rw?Pt^{h#_ZcaA3hMg>H6x%8hEWE5C&o~?v%+V z1V_XpQ7qqzlSb5#+%5>K{>NG3-=gi8%-u`l`l?@zn`SKHZ$Nb>H(H*|f9d<8SB29V zVh7v}EJCC3wmi6U=qn~(28)$t(o|!$DcQN~ujB&O?6Q0vy%HWj_)Ss?Y+we|h;7`j z?Njups{sSSH~OsxDVjT_xB=nMUG~R;Fh~p1_MvteV(Zacpv8gzf6$T%r(VyU>o59T zlhtam>UrPS`7KIOdu*&O^ zUCl(D8CD{5@x?;pc6p(B)x{_U5zj>QjgI=%Df9b0lhogGDq6XZ3 zBMzArYHefSa{gzFbQO&k2^%uj*k{QcK4ukpwnS=gjmgbeD&r(urfaMHo$NAqxu8E* zi_PT~tN_WQYA+=Ga8x1)wOW}JWN(5sAS)-_Ph*n_lgALn4RgXHnJp^1HkzGdMA8&& z0e7q%FW5^g4urMAkoy4LKLVsK&@$Ir0db>^n1E z^id_>Bbvj+gkw>8>S{&oTIE%1@znXEV!hyJGe$7YR=0$xe|6^n)`G5~a#J|DAa|pF zMlUwqJXudoWH3?Au*dC9*QRRvuWw4Ysqd0K*Mzzn>LwC^zNrZSl{`R23>& zxB=bBiGMftvWTOo`CzpCcQp2H{KQ#M9;d~zm=5AhorDxOQ(s&!Sw@7*nIdw;K%RZ( z+0|+RpKd-6e?}V0uc;B)W@b=3VdA@vF>6)24OIg=N(GaKvVF9$0=XQei%rH2{tWYP zZcubT#Z&AdEfF^p0Rz*Uny@cvyE3IaBPU#8kg+i{ROD6*>Lo6ARcvD|hyrx-(rPE( z0_^(`O0Lnb@@MKxU)4U+*nIC6HMX-)=AtC`}K}3U;-e3!(Zb?!6ar&U?$yGyO zTry<$O)^%;&El%|Ld-sH{^oO`c6E*o*=R3UVJ^~t=Z@v|8Dff@45+XUSD56ySirI< zBCgcdf7m_2)he*lAe-v*;-E3?jX9diD-eEK+44GOpAr^eU|&}(x`j`t)^s_%LZsYN zrajOXk9UWp!kFt(S8<-gam9EW4b1Hxc$@(RbyAFdhb;l|SRV<06ZF}dmi$~*nu;P1 z(y_hGbnk-Z+JXuXD7nq}8~X>QmEY4UU*g~_e_e1yV0G0(#h(Qn_hLAwfQ?BLI$Kr< z7?h54pu^#|-|^H6`*BzRC?VefGQa_lc|PE75~EVvbQxnop|gDa$mvt^B-X?4%Y|!a zJY492hbOdp$K);o0Q(YkNDT6q3#vHBSm+iP5f)a~zMIZ!PU+5F814W&xifMv@9x@g zfA+)VYdHgHcwjj$mY#D=Oo2x&JppqOx7bEs`?!$&ahl&%3J}L^kYmm|bS9h`?Ta$v zU|fp9(@fS%>gOU{LPyW+=dkPY`kO2`=r}=A$)jRpV!qZY*Ny%Xy^dwbRj#KoaRxT8 zP=q|L1A~|1)lG0*vemFV*<&FWBT+cwe>+Sx62%b46h+RSVd`{alW~Jwco9@;^bdRlq(7Ex#lq6qOE&n#nw#Z$v^-|^!f)pWfOqHgL zlGAxO0hk8Ib^R&7t5o1znaP~*#qH>84KYclz(Oj&=fM0PVkG|*}Fp8DSvKBL*2y} zNi+D9E55#jmoj%WxxQ*1R|*ip7aJmfh}U}$n1k+FtSyp?j7wws#64Hv)Q0>q0L2r1 zBDjpGN)xjQRvG*9Iib4eFDa8Ef5s0Gdjsl-G>`{KuNV_4HraOr1lZXDC)VNj!jg(^ zWQ1?|?%92Cn&IAOpZsDh4Bvjoy9|oYCnWNX6qWr#&UXevQQaI@jhCyb;-_EbpN$?r zj=J2Ow(CJw{^GT{2BtWLix3qa1v+V0^_E;qqX?sF0c~r=1Bn^}AjXtUf0AqIsc)(} zQ2DMeA*Ntes9>;`(E+#R?6GNb!6%Id(&Au*P2&+v!XVqWkwCx~76NJBj2=G3BltZs zziz0nZ`FDk_pteYo9!+vY>D@bO3RUz#&iKqCT|>gq^u*ewjT%9I_JI*6}^;d}MSB$9%v=l3~rSimgKe zq4~wa3^F)k(%>4yNm8uD2Fs^PQ(}GQ(=;mCwQ~5CSCGZVRXN#%5KP)>Jk81JgU4pw z6GQtJzwDQ`oa2a+k->&2eb#7mj)xe;RQbZKaqoqw*sg1!S`nvge_avf9+Bd+Lo##h zIx>(t`R68u_wkfahvCw5JkYCwX&~+O+!*`8YlP{ah3_2w(VciuX4P)1KFvl3--e13 ziDws!rDKHsRavD(g?l;8cadrELSN>Tj3}u{`SEYpF;zIcil-B4(|hN*XEn^pX3D8| z6wkB(Ld-Q%$$gQkf7+xRev4(bVkES1wM0;QCL0PlE;(T*tjlp zejA<`@~=>tQ>>6a9g#Zv7y4THDL_%NqSZ0J^Fw{Sr#Hff>NNT#>12OJ`Lt zMX_E-lJP#74U;jo48yzJUo2s?6Y<#-{OFw0B&%ZC&&k;E^J4VogCa0n+unscx#YV| z!A`;@a<))3f5OT+t%V0sfX3*L6_V@~roORNgeewV?lG+MZJbWY6Do3Hq}wrhmy9+# z$&~TsZB2aL7YrB_n1xXGJq{$-W=>J_%(#)X$&V|prf226p>MxYjeuph^7cl`98(EM zk0P4|X;ZEzF{=Kqc@R&AhezEc?u_fh?x@jebd!Vne`K7*lepb!)enx^je~llHEsiDc zj$jV0Bly2@r#U=2Od1E>?x=oraCC4uN)Fp`W7KMnJIUw}zMmwW!}`Ja=%Cg0>@PNZ z)3^%+TLAuB`RyL%vh`vkDm#SwgvCD867ZdSl`VWikq*Rz`EL z`KWNV1U?5U5qz&zRjc=E?pd}JI)6)-8rUP}^Ik7T&#WCc;9Jq3tq{B1sdZ=`Tl4ifMzt-Kv42hD@MJcw;zfMiqd( zo+qmDyo38FH*UzC^aDjaVd?fH&KC1f_Py*qERsGP2bl*64eKEJb8NRwVSiYTMV|wC z^kP*a{lnN$8MUe=tN_?ATYYKybgRy!F|_lkLJPLI3Kft>@r`jWc<7VGbh@|}(Qh%G zU%Vm%6zHYD-4lT%DnnYumLyoAnZlj<;5d?)G7O^1wU8a@6~L3+$Rb8~maMN9<4hIU zA;^24W9uvQkKSA1V!Jn#_J1@lv_)!)%bSs7a!@FV52~_cDS0K)hDC&tstHXD`j`o` zKkUfD7RLvU)IN}*+ivviW(P6f6?suAA7LnZ(x*D}eayz%Ag{Du`yzz*+!)#rsR`hY zLQxL&^(D)T7A}$Xdnf`@o8i6<)J@Ry^ndS8-t$<<&nn5g=as;8HB}KSkdkhD#q#|- zbJq+bYg$Zq=8O40Jd=($vPcfvx==98RR?g(2iS=3jOl26+Pc)T3`zlX_P^S0Mjvt) zuJ6H5iP+Vs{krPT%#WznMx&6h7;R>kbNdP?1RdI<=9i!Q3MN(;v_Gp*nRh&dw^f|! zp3IVHbaEyVHL9A1DhGHMlQ<|ji;gvm3MEYM0|KF>g=r}THFO`TeC}J#u;ZDb4(-1s zr_Fb}^|Vdj&gIOuwqK*^15P z>tRQM9WiV|vLVzm3}k|13UTU+%arZ+w}03cQ*IvbT&*4HWvCrJC94^8`L~uF1E*mg zKP~BQ4n#O0tr&bP^dtk6a|V9Uzd3i1wQ{aUcX2KsWGf+-DYzyDRM1H^7-=))>kuPQ zrJ&1rHPq?mz(%AagogTf)Dh8_|ITQ0Yopqyc0iKj(>Mj!=3XvU!aWWNd8>~`Ab-X& z>A9wZ#tNb{C%9MOwhmm*yC##qTbaL!PPH&H0&!S07q$0<2y?}1k;n}yc{rusTujQlnmht)u$Gbn9ukUXF_&ydcxj%!K)A@b65c}Bw0^RfX=Zkc;4{FLk zFmF_RIbZQF_p{aLzI5c@pDr%5`*fzY`ASXfUbfh*Mzp?sR4qM?A(Mm&NR3vLcm&^{ z;0LGj?`lMUpC?n8#9}2wM}NJMutpTDzyuZj@bmHC`>Nu^b08&WPT1?o-(MV`Jw15} zPhA{8J-#@`udUeI?6SYUS;7QgygdEe@ddo{H-z%@`H%gJ|9SyL>8XrO75{G5=@cdy zi!fodO?bmqWmxKa6_;9#&ShV=YILzsv8o&_k7D(FGaDl3pU8YHs(-Jg;x8!`LPnCw zEDII9Nd?HR#ADcFTsMJRB}>G)xhVftX)t^q7_B&F>>G7K;UYx~Z6Y{y* z6j=aA=PyjtS;}!0YJZ~v@2Om8l}9vMxT55Oyn<_jQv*qTQf9%PN>aP5>GC~*VG&yH z%(m&tdQ=m;Eq4a-nRf-Y^z`@{aK)$Qeg^P8+TZnn)NVc@@hEfZnp4^K0NzzpUI=bG zF6`AHcy|V`_sq;O?v!CR=EKgRYf;{a>ExK2u)G=+v6jK>nt$qhT*ToX5|xoXRG2m~ zYwu5wp-xLxhkfEuRA6No+*@?@&CoffP(#fHk0tGNx#UJh6Zi%S>1 zWq-J+fkiD+WMK#1#bmNSy26~>7#Rs(E4+B@7ERtQr;8Qn8me~}0G&<~(X=mKF5!9E z{R=(oT!B`^?daA9>HMvbxN4$e3KdWsVC6iV$N+0fj&-~mmc>Cfk*-y9AQfOolwz?G z1+_Mpr2z{ce*v9rzNS+A=^Q)E>eVh*GT4(=M}t2-jw*CQYzXDCWl6sUZvvKQtWdWa zN&L(_0FxeMGPZyMYZaRCJwzRh#0T|7#XTLr%9k(PVR-NA$an4zqs!Zx7Mcqw zTuFXzbgFgO|14R@D1r;dV~MSW2xQBgnicf0A{FyC9K4^7D|<%Q9tyGPw5x%Akr-km zfj&)if4aND_&FQ+?m5588CQwG1Dv4{#|D%vzFsUSk5RX#4@wJE_CDZl@Xsx z1XWCr`_c*W1UzL$qND64r2B@63c57D(HIn` zqLr_mvjCMnL<(k7;`f;ZgBx7Y1V!GTo`KZ{zIZDS`eozCQlb;N+!agltjauaKRlm& z^mxxKFknnd&?XSAcBMiFIrHXj=Q6y>#BLG;%#1MCWu?`a8>)hY@|CwgJ1-Uk0~Mk$ ze{fDVl)9Xk0`0`Qx3cd$VBw#DjoYkTp0<@bXCfWequ7P%y7qF9$mW#aG)AlLx+;4i zcEJq`fo;{;oz$LF#h_$%H*?NyrYM7FZcoG(^h;Wx9HaE&G85wgh$2!~EmT|GtnBhe zD%zwn$<)$1r9`^?!)&}nqk6{w^u@~1f7(uas18?{FaCD??3WXr=ymwO`c`A2exy-< zP%cuyvH^QCq6O-zsj+j2CbU<>4mJXleBC_+hx2sM@v|xVt7@z#53?eVj8NMoz*Y11 z?zy$IZ1k!G{64uE?*($bbV#N(pCA@_7P8AN4Xnn$i{VY#wiahf#+iGBCSv+gphA$MF()!obadAIsYi(L{P#HY{<+hOOrMFrz4JdJvlL3tciyG_2Fmm|Lr zY0eHhJ73jb-(pb;r+mxuINXlz*x@z@6+^WKqP;P0V!#2{IcS#lFcl0J@W0g$ySH`k zZHL~j@9Z5b`iYf|ZKgaLR;acKnkC{}2PN382)<0$yI`;v0 zEHK95Vdvx5^jt<#lvvf_;Zb?KvR0+zH3$Pxmd^rX9PNNzALWPbHXE(a?}zQS>jox% zRzECmeQ7uBm*7Y}dk+5z`%!T{sOJJg8M3*=?j4=2+iC-uPFQKR*FM-?f1I#5;q5+H zeCnIb?~yEYu&PZfl#CL-B{MWOSmwDgnPB6|dp1(w-IDhv1!Uk3B@bxV&;O}jI zl)qQ*{~zq_6_sqMK1M0uFKy6^<0pUJ)$LmjZFchdT8OTShG2%toNc#4h#8m`Rj!U9 z)Tb4@$zZE863Fv>9IwXy z$z$KPB@h^R2h&)nm>z7nXgG!k4JeR~f-dDk8SWu*Uc+=LJ~u6wMCyofiw_ppl=k9j zA0tr4ESa*atGXO6pks&Z-*KiW;_iOxGqo}jNxsv>Rr#m6u>syxf7(buXX0e|QP3G! zatU9eFRbOH+augWnWbi2_tFuYj10n2kCa^)Ep zXg7FU-IEB*bWR#r?e|NT88qyaG{F1)k$51PqKkC7q+^mAr5E`iEqf5%Vxc=|U!rA` zF+7JmGmj#_p(`Zbe_g4x!8Yu^n;is~h`{-Pq>-ejYEjc-+=@#fOD1ZAZn}!JA!@MBU1nO&h3v z*_3cE>yB9Z!9_Ktq zMA?h#?}ohC#d70b&Vg-ki~`?yDFHHPq5;Icl8g7m0^k$33k9%PJqfeCT~%w@ z{|?as?j`W7<0ELwmX~h`3oU;|QVdxRO4N2W9HHjTVM$fhUdq$W*HverLLaLM8m_Fe zE`Sir_uXL&M$6aTD)bb%Uj5nRBvpz6Ql3>Bhho)b%RlNa0Ra~jWBcHzQs$QN-15aH zd5z<{B1b0Z^2Del{SkBhN_8aF(FgpmPk3-McBeR2n8Hpphl;svr#qJ$2@6DjM)zIKM1ogY@S-D>O#YZ`*pZIzGD3r^^$UVcKMnY7yV z-KvX#COf)HKwsXn^{vj1fo%$1a528Mj+(cG8`{Tqvr~Q_Er`qMqQAUKLs$0bmSFV- z#*$KfEGZSZD+l%NZZVObF{bef2I0P1fl=D+TaGea_i>n2a+S<85O+cqVoJpbX6x~N z;t}_U^X5T&dzU*33oU<(@n*Woyb)c`o@=wsL95;Bc3RzLtJ$g_9RM}x9v#%%-J|9q z9Oz-AeQ?lhwfvD`Kb>kgoi+eC?6f$eT10ip+ zbt+b8QV{F!L<_I*kKCB25`(B26Sqd+6NA&@SD2)a`%S%k(Pm%qFrG(=DSU z02uP8WQ9R$!a)|lp~g?+xAA<9;v^mg94E40_#7Ld3_-9YPQxBAJSeUeFWemhEFLX+ zBC^ep>K6#V#ms#z+l;P^;~uAP(+rUy*VI+?fL2c!8UKh&kD|&u3L1b(?zxIDK17H{ zPwnFid(nOKxRieqRe|rS^sw~qZgatDxuDFJ2hK_kmK#A*ZUws<-I${c7mKOkJbQ

Nu>f>fxSi5Xy|^VwvBXd0AEF@XaAo%wT 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

;S$9Z$|C`I)3@O+Ab1s0FlF%<5#FO?HB+rnak-Y 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%0A62RBZmQ7ZsRoqgh{U9mJc&d$3@YUfNY2okE^!w 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π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:$-No`fX!p9pPf#gA^PHIR&uW|9M8iIC@ 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 z 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 DS${Mh delta 1099891 zcmV((K;XZukVKA;M39hwws$snH@Dz!N78i@OW|^zr z|4Dy7{6`esI!&j^a2C&R4I=y-o@}aL@%1trFVZ|4PV;e$zm)Lym3SMecGNbDX9>K$ z6(?n{zduZ}adA0c-0GNZaK{(WXltjZ9)Ikt)8B9&PbSG^m}c{TWuWu@{&wTe7fHD& z2ZP$l-t8Nc6~DcaEpN@^#X0s=E+%()s@<$m9o;JPWih6q?%atc`M4ZVw*zkaI=cgp z|C+u_vM7$`(>To*$@@hVmr)E)iXy&@^3&+#66V>7ie#}YvNBqnC($@Bilm(9*(A-* zBJM33r}OiqpdMO(kA8R*&GJdo?nX~=uOi$yY@3$RJSk4|VwOyzWr>fT|LxJsZ}vJ- znM2?4f(FQ!3;b%DWM_+W{Afg5-h~IPcJzJJ>g`4wk@@WZi+a25QTH`GI*CrR$UeCH z(_|4H4Wi{%|6%KOhMPkl13WGF??p#%I^y9w@uasaAH7X~F0E(nXyc*y3MNAHIHJ+t zL?8GI980WsC|2-5%$QrYaf_h`-FzmtNW#`2Fv5fA)n@gv=m>T-N?~2mX19AJCxbs` z&#zMKMgA(j{OELWgdJF8)OTmE*6tLSCyw($RCAqL<{uq6i4JakTXe=fyw0H0*V#9( zV5UiWmbL7E{@QO|XO*M32C?A4fdKpP?Q=H{9gdkMA#YTYP1JpQodM8CbgkuvEz2Y- zmjLsFfjzH#*c@AY^9nzBBaR@8#Cw2gW6yEkG+)@n*SFp#@22^?q%44nyuQ_q%OPFT zmfS7%#XD-g>HO4v0?S_e8+E*|`rF%`sE7aG--Z8w?Dg?Ky-u{f*@^m_`|#I3J>SCL zpjn@qZSKHtTllu$$9C{%?{4pnF-lyPfLeyhKb;eAIndG(b7^ZBg#X?84+9(D>TO<| z%A6%xQpAfyF)qVtdQ!x|$;^_)c|IxO#SEsA46_{ma~_xH!#JA^v*mP}o~B9R$Mri~ z&1uJfswq@w;2#rC?CvKTbj51-_DoV4ByD$Q+2Rh|qGDqbFXB7Q58a9XwMfPr^LYF= zK1<3wS)LXf^CJI8GG3J8WmfPncgkW6pN)%Lyt%XDZ~`P0Z}J#dKNw8&vopYV0A$8P z9%3-~fZf8sN6(HAUv{G9BAvotXUSp+Tb3?=hUsiR75nw^9%B-q!eVEEzFy>!+}=oR zZzRAf8pqQq5YAEcbVoq5D=*ZNMjfE`$2SGYwq;r}k-?Zl+~mCpb# zu76n-j;(a5Ca`wD#?%$@`6tfbBsAYvrV@Imx|4n34<7R`8Qx2Si3Gkf2M&`!#AY4g z`G`8h;~J(DK5hV#OfI^NQXr=EDQ#wdE6cNuGM(lKy4X0)U=Jd_D|UmjT+V19fIHbq zbdo^-X@(>vnegn)_vg`~NRsFx1;&kM2VIU6WG;O2PRdL5@cB8 z9}k}%9zE>X-RBo@UIW<;;Os>{&Zoc~O(p;s(9;3FIpDvXZ_7nqz@Wo&ngip;6S7;F zz~pbCc2^E~wW$=ah50O_4uTVZA-Ji&C(Q9|j-YbC4zo!lc#usLW_xH}R{Zhc4&wwn zyx$#b>pIppbt+rZF;>^^f`H!oU3LCDj&IKZe-KUarLz!UWoz;IU?8XLe$lGVM7=Ya zPIJ^{mi}{@tTU?nMN6Mmr?Lp&u>OerSf=tMVqV)uLpv@V=~xnO3&HBH+8 z-q{6DtB>}hk8S<;N0V!RovlN!eI&F>pwrWc*fOCsc<>HTG8Fj* z5WLwenWV7R>7_vzDwLXkzZIlMag38ZA#zEA=e$VYK|j0%pd z+DFY+6F_QqLsXFZT15&?a!2ngGz@>{ah8r-r>}1{h3D6|+72dvsUngnnU+cLhLgH+ zl1G!|6aYqCbl8B&a-1Odnx1aZ_v3Q_C=hxQ5O^GR6{ZSMJwC@7`~^@tbb+42Tze zWDQImq|_JQI<2{Xg>4-ziAf&`$uc@E@)_U6=O|O3OcM~HP+Y}9^OFT`0KUe%QA{rZ zsaZp*nRJLJ7q`ygs!h(kYYPq0Z%G8;l~3RCM{vVXs)Vhjsh1J$y{RFF*30Pvajn4c z@8an)K?ylSOjgdP>DXlM34K~ao=o%cTWAZ6w1IArl3&DsMJ9Ba!&zF=0RuS~Qa{`b zybxJ2cosya9%z<)z*!(z%lJ|4QiywL)qf@*qfVR&7 z`akqPcB7YX)A<~ij30Ji-!fUsd!8jMGX#N517D*>-1>z-t4yyt0h`s3itO~%0{0;; z81NU|TqJ*gCE)N9wT1uZm8s&hwATiWc2ETl0v*HW+z2jLE3L9T*v!3mBrtolFdmWs zUwAN`Ai+}M!vugvK+8#S8UwRW%+xV%+Q*t6a2_xrw~5PaGJlH~^`_^p(L8ktSYF=y z+Ifq~_~u=mxnC3VSq=cX+1iCv=hkdZ0NZ&nM5-`<1YYt1GL&hBjdTZtMlRD^Ax!Q! z^xpGfWmZjZTcdW}`LaA8p1>J<&cw@s%AarTow4uTgXr5T5e)T&KY*SONP(2R2WW}P z_%vBu0v%2O_<)?v;vp2u}0?4!#atinN!(bPZkG;0Zb z^wHk0pq%_E)za0`9A?*f?Gu;*qorqAyg;-@mJ(BfhLPazUJ7BOyn-Etxby0`xG>;< ztJ8(#oXMgC8$cq19KVzT0$|%2$VXE|zi0v~qtPTEmY3O>&xm%aI?4#p(HN#V6cQYt z@vJ->{ktg>K7%gdx~ha`nuO15(5lv zs{RG)R0A{ps$u=AVg0IM{ilbC%?R}Kq2I?!+csjQ5J?hRSOn64u9g`qD|JcSM?Fq^noNVjT#+kLf5 z^A9K}J;M?w#fY23AdodbPw<*D--^>-MD52XXZlcY1km;f@2*)eM34^}{HxBTj`TIl(zg}z}GPIC>;pFnBdP=E8M zRp0zOs;%9)yWVxiE3Ju$@G+)0k{-P z*a(-eBlvX2)KCmx4pj^8!T8?n3s{#qqFm$a`SN6%j)(G%(Kwl<3;8Qi zMo)5brJldN!z?-=@Wm&8DeTZZFBWA-$|3qIb1m*gs2tR@AAfxG)4`LY;fupZhfjVz z9R7GTJUaOKuv2~W{NTmG&*G)q?-1mVcsBI77F4=7JNK4$4029@T__YKm`M2C{`8P&?-gg8qiC05%8FF6o zUoVII;SnM7pZVQSOe{JPKYa-pPCUX+KI&Ume;ZBUy<%jl3MyuTvt&>r2@e_5SIoAL z-YCA5*j>fqlCBzrq7s?#qKt60MLIzt`1BM6&}>0sXDQ{*Npc!5r;A7;C~bQ>NznY8 zqYo0W={yAR>QbnGCh|%NM3DPOVh|x+I4|-n{TI!dgjkLsj^fF?I74H^X+k235U-2m zpUV^_Y-n@3obn)KWq}^qn@7x3&PM!=c^NKCV6IAY2fq0xI(#3aWx6z;jz%Ly#-a)H z^-}jB@ubU}wAx)iJJFh5%3s?Uw~2kKE&KUWn%ANaQMcQFMNUf0fK!_=4vUP@Bn#*t zZ6H}sAFxVBy~2?=Um3uRpOE;Bx@O-r2=EAJkwBYVL?ffsh}{Sz%&@tstG+b45SqOa z^gw1pJZET5z6Pi(e3!qKfxQkyD^CT&P6^!jlC>ckfW=MH!?lv`Srm|R$D;`Ip zS3(cmk-~Pqb0HLwWT@uUR^}4dFEwMNtH8S#7ZcT$NC*&TmwY<0!UEc6o3f!gHRkwg zB$F#B1PtOj5ga%M-~2}Ml%g3d2G1up+){8Dm^2!H>1fVMZyXrR)Mt3^4?rAEU+GN( z2OU5J|A}@!4fVAk`lfn%fll|ZaJTpNBrN{;7HAST6&C}ttY9A_hmutp}$KLGHkFfXNa1_KP9 zur8E|3sD{bYuf%~))C%eDc=}Cw|puB8w%)ulfCkQif8XAPc&vbwJ20ZO71QRHA_x5 z5;7CHi3l>gFf0{fTmmy3>m*NM>*muKT@6<8IX~y+!q@?%a>5mlSIr{@Xl%#uCP}j@ zTPTU)Ak0&(#SQ86lboSFb7ZzHf{p;53-CoNqT*svmu~Z_2Aj%b=xyzOewI)!ux2xV zzIpWy4x%_K-!PkKURa*nYyiiLat^=_v>QaPjOo1zB(uquvmv&|qzdqlWu0W_1Y-Tj zO0U~G#`@|uh>NRC@aCsI^HY5IYV(cN-pWKLeBLDd2;*f56M#F@!|#`*Jr({xa-fgO z`AwVqVJm-Bh6dr-p~ zwWQwiwB$!hWhFIM=EqGmTy}Rp6_zy}&-$hv zc#-~r3>l}9iV{G#mu%uS0jP1Z5_`ssQ2#RPYRGSQL3V2We)_xPjeA7yg~H{P5f&mI zI$Lj=xaxCbqfA#>aseX7hj;+Y^JR>?A+$rpl_n{=CK%BG3{{v#iySn6Gs#Pej~}CB zBzdT!-|$6p8=4o%ESH=XyCLD3BN4Y~xY5yR7nSrJwjiClR_?5nge~W&8%PEhB2m&8 zKvNqD8xp%YEJ043FGB#6*8tPdO#x%%v;j_{P%Q@5cd*RxVp#4*av$voL&=+j{leYv zYV%roRZ$gPg~A<_VpM8>p403kf6ual+Np|Xg*E%iOf)Yy7|4F1Ep|!0S2zPW3IA2} zL7*YV*g(e2imfJped`x80+9p#B)Y9XzAe=uf^q0Z&@!sGBf>;11{dELIw+r~^G9=& z%?>pTRp3w$xIPFP-+G|WIybqY68co8s4DdN?A12>=y8ci!QIt=gvz9*#%3BPS9eo= zW|s<(8jU=gEZ(-S25_!X<_civc2NaB)T_9@FB`7Qi{irBumIA25}hv=^Kx+K4(3Yk z3QJ|OxX6pQcaoyWi}KE12rw&mUs|1NPta{`B)i1UT4?3*8s(tdPK{v?M+MgSvTd<* z!R9s-=U5WWE}U0?tr;p&!c(kE-KiK-<5`6pHQxDHN8_~uK=YZ!;hBA1jngrDa5lnR zL(Szinyo%Nqw#8>vb9U~0hop;AjRxZdRPj?sg($*iOD=uNC?{~@%qEpGl2)JCWifT zIE^oJO37WdZ9>n{e?}f7D@B3K+8U{wLXFk$5LzxIaqtX(>ktFyW3h&s8H5=V8;^-x z|91bvq{7dh(j#)aD!p!3p1E~7WXNvZBsi|h>*)=Y*W$_>>D_>)UWD#4dDv?#sWKbG zHuBk<5hCYA7Rz2 zE+2aGxYT)n=c^IT)rM-crorG}Ns((-JUFQaV5R?P0;{1@x!Q@)7S)1=^=|daTy;Ip zsaY+*kh7V<#mn!*2E<(se)ovPzL!Qrnnvy#y2?bDAz(2Xdfvs#*m%aDf zroxc=ppjH0e*i)%zGP112K^HvR1VsxQ9@Xz*RMO;jIl3^HzCkqT~=S7Dalpr1~HDx4?{b+4&71Tx-+3G2No2 z&Vi19gaagu!QdC3$s_qUn@^tuA#xAtnKBotEH+P`FOV&_2*(1I9nF z7!Q8qDKm^zEVqqj1khxoDVHZ@ z^3NrC)tWvA#xVAnhnVd|U5qj+fNf(3M9vn19TOsDUf`Xq}?U z?=Q6>6IL6!AnPG63m;TMn9;N^Y|rKL>@1-qPH^O537M|FIIELn9HW_6*{?5R>Epdn zxukM5FjvMMW6hTN!o}%Tg9mNv>s!*lC;EV!_EEW1&f?-N=Xn#BY@fT2+7t1AL_7Id z1`PZOUJExOa_hPgk;3t!Tr5w9Cvh1HdE4A?URluXa)@3#Lvof2L_+TL)`+L$-em+f zjuHre+}dv*{#faiyp_V8Z};x*uH89X7Q&tGZ1%3+>52*O?Dv}oM2fxzWvl6RcXzva zq^zgcm7uY=xp{TaFf3Q01?=~K_t##4-0}w9-|epvh8pgE#o6{YxA(3!Op*ZuxoiOT zz25HKwGn|j@CF;!>+kLC-ON&gLu~E#K6{9*8~J*t8tFDcf{Bqv6gTe+b;h1q>E`b+eLV-Bc)NO67&XWo@E<8o8~95JwLv9 z_Ve(^Cx=fT4y<*rzNTY0;}$qs%yO{V}C zt>0&so8!#m^`g7eE`7>V9Dn32Cuq(m2R&VF_ZL?$rNEz|okIFR{*=zK_|z3%P>4;Z ziOc3Y%v0-hpuEZ-qq_~I4kl@^C9D!r=-=g5-}!@1Uoqh5NSVY1XLTK4VuUQ*=VgI` zM;MHVp(8N{BVFcy%iHfL@)$6|D@!F~%;f1Q+zmi5ICu1zUo0*SbWWdPYA5Y^FR`tK-w8+) zI7guLtsFg6P!mqQ-TI_nS((5l6VYXOil!KeIcP~l*M8pM= zFL?`7AXFTGourhL41Sqn(mhn&M#s5GAP1`#fRhO0rUD-VR5j+9qOWB1oCUiGxt@iN zNG5|mDEx=Kvkl4@7kCbfE_!rh8!2VV+30Nto*=@ay5dYwTdj#TX{BT^SVxUUe##lF zCr1#6nT~Lh@V0RM=WE2PmK5eYAl7SbWD6^GD4oiGuQ8CPjCOeB_B9gO8tE)Bf#Rq| zDojJq**3#0F(j^vovh$Ex*4Rgrxk0TKaCDKJhH0(Z%0Lf`yw&uhUTBJv-32=gnD>; z(bXkO5{lLrCCUTy3RLs1+f+fLGScQcwqST_s(@c9oQz}}g#6bxgsMf*grQ*;IYX_7 zTxwT;92wBA_8_t+^t&Q|-|}K8C*{Ysm3FT4(eZec3=NP%jC~qXazw#6EXB?9x0xn_ z0SYz1SpZqqRJVqQYFTRq5XT@QJ8&j2hXHOWY?k1;{-W$Dt#4P%8!Ld*$IhMzXh1zb zTSQ*JetqkMc={3lSYcL?9n{V4TVoXDMoun&aTnSmBlAb6JH>G^=#b}hg^z8CE;}~h z=*1a&FMm@4ywGtrfeFVZ5|+%THl)c>bHQ@EQ$>&9w!QnQ+Ir^e7+VoP+My> zA;I&y(Pa}iMgHnoT$bL;9LMdhT-#{;g*@IN)wvy^f zs-V#FuBQzWt&FL%g(n;^@F&Js7F4XzJA4`>CB5AKt?-kvs6RDoq7;(T(+x5ak%i3A z?;0f=V9#)^F9`tTZ;YNh(IFch_$3;mjR)LDX7=euzhr3op@F4Jxy0&0?-DkDNtD)X zN}YB{L?UrE8@6vNVzrJre!4>mmU#h#=p@g7r+)}~9LoQF*({oau>L4~MIOi4KNS&DKF3r#WWb^O z@HV7#CsTkQ1LlCgrU|;!CgY_DaUY+<0}MV)>N@P`3HfHro2Dkr*(4c|y9A&TWR-^k zTAPNd&k*Vj$9~nIT-B=&->TaXb`-@Qb3x=lAq)Dn>hSO?+++LT2sFZf5B&&42%-`t zgfW88mF^1?=Y|d&^yx7HT1=lkem01nEQCqCOfs~A=Fz0c=fZSOhI3a=k>rPpv?8`9 z3wDKeDXMm|T&OWQ?QAs3IVCn{14E0dZ{QM(x{6v#yb4+N)o{fglLv)-Z+@av<+_m) z;?RXVg-jvC70uAyrby3!&as4>tQ7n2fi{;J7Ekm=;a^$JgFh<}k!TV^MzjI-JYdZp zdH6v5X%kXynP_%(3F!cq60BVaS&>&pbBrYznrq;#FHsxy6@7h0UtcQvTCHEhpDz-L zA#V8;NKCmv*P}5Z?OAxNBK4AN#sj(nS|hCH2?_X;5L=D*W@w{-ylZIMuYXJbKtT*I z8wM`GXRj&=0i;LxaZbKM@E~Vj=$7j84FdN#UaTXond63qK-Gea?8-l{Ci}^+JNCeC zXCBFpf!!ADtUlHk?yS!}@9%u4#5fx2!FP8^GvjS~o=&K?D4a4@Bf_?vHajcM!e>eWlS~Y4pDbjrP%9 zZhKuK?Z)%(UN@dUlomJ?ZoAz)+E&$d8oo^~15xICyIakFqj!aS`ZB|CTGUiemy=MH z;QnUwj?)aw0*HPCao_vB=2eGJmg#gNr+J=C=b@6$z0J)vN-k4;Bhd2D(e!t=KX;h2 zgqA=QvL|GARmL1ooO6+!0pi6JdSsxm@3@SVt&g;&4-t`C-2G+F!{0J$8pH z!-pySm(q)V_{p=Q z;qgx|4qyKC3?rC1x@B7}*+}{pjT|&(6!@d!G8tDa(87pF_%oV0L1t#bK-Gop6^4?^ zUy3V7_JP7z72Ouuui`lX9I$GVQ==iZUhj!W`7>&ezg?N#I~3G7Epw5?vsBZPqjF%J zn!gx-V_4g{nv_+CF3-+N4Ee8YYlnjlX&TsVNhyp1m7WA7r~v=r{iBB?0W_$P6&1}w zK*#`xfsRR*FVD^^5PgqQf~^ER0m8&^k*`9L!f3o^mn{xw!`D^I8XQ`!tASZr%7?k! zjO)uRU5KXS=ry?CYCp7f<&W}ZwusL23k)=Wy{uk+zVMjzDY)HKfsz&0SX2^EpF@UK z3kp$ILtf;?;#}=5mD&R^leIA@1vfd4K(&VNi@yy?KnvSGEmgnbNkRhSl}}qrjz$;ot;3Z z;<{^Gs-#H}&PDb$QR)e^qg|lYhDEeV*SrG;(^L+48n1ZpH*#A4=hYkQ;^4FN)Px8T z*{XC39vS!dYk`*5YbdRb{KBu?QAiPBJ$Dp8in~zTg-J0*a>`_J0jn`E<82i_e4EUl zw?7!O`FOiYjyS?Z_8tj5q_t^ckSZj%Y&y)sI%yNy2DI9ZTJGL>k|NWj9P}7`ZJ{lv zm5ocBl0O!_{w8e2My2BmWLP6Riz)LiC86k5JOf9Vd7^g1%4CvJiP=G z540KH!XH>ebX@>!q{rftm?Z8=HyD;aDWS7c^Kg6Etp>7DAb)HlC5d%xc4e(* zj1i-;|HHsfTGFtLke1lD*BaR;%7l`5RWy z);UaMr$&K0?Ac69V_hfNUN8gDy!D;UAGBA0ENZa?N~Lf&Zp9+zE->G((5NWYlH?39 zWfO24Q!Jke6nch#C5Mx2f*O~qfRCj$$z=_@l8MC~qHrTw%6Vj`s+ZRw?P^e*3tHi# zX}79H_Z*0}(YG!PVcAvVEYC2DyHvguSgg5}6}UOyl;SZXG~eAWG0zdEnWU6^Lh6|$ zljR&1!JnZj02LCJ^0RdE?u9f3)hIrXcE~8Epq9uIE4`_IW?}LOB33O3`lH*s=f!1a zT6k-V4Xd>c{2h9y_W1|2XNa8==e7|SXrm?y$ePy*F_IOuDU;epncyTy(k#yCC@8im zF0tQ&)P6#{DPo+Imhy=$c-}4z)nS3EE)Y~lK27q7qqO8KDK}V2aZs#x0M^ddc3(lg z*^Qndio8gFMcOfCp~VW{%+jN62~Ki`+s1cS#8Sb;Hnh$XXEIOjiL3oCPhrRB@um1e z49C%CSWxJk!pSmIYsY@9l*JAmNl)O0pQfDoQx7VYt#F}Sg*Z%k8lAv@-)^9sVd5bY z53s_o&;p26K{x3%Ddrfo2IzgfG`m8K={e$$efj^oTjN# z+QeyMb%(Kk(WqtB4T^s0_4hl`b2OU8(_a8cupBx?57RKL97WwM$vHeK5Hw`u$X4(^ zoyDquemc$hPA?eg9v9=+#lHL zM@#uw`NUEIH2AVs#TZDyr-+zOrR=g(5{-U;>?pn{SV&qZVTaAt&m^)Elmt}IqPw8_ znTBL6@IdtR@PXG9S7Cr~r{GeNXpN_-^|Gvzm2HtAsM!N5oh0v31-#kqRyNN=+2jZ; z;KN@ZoW52`_4uQvi88AE-QYasvw&7ih9+8HS7>BqgCwmXrGVJvIwd0O+5@m`oucri?oOyefqQOOv>g!7k>Fi+m$X2PZDjdfLyQKqhIvR-#isd&vSfpLqdF&w^QjY?w7}8ojQY^OtI<7qCU}D5c z-4haoF~*y!H!mqIl(*bCpI^3mo$8k^DMFfpQ=(#}6>Xw$k>Lh|!3*&(+8^zIxhjoE z#WINBij1%Ul65t5bt9z8FUiq}ubi&lSn{2*D)`FyYkkcY&f#0R603+}Qt!QcenkqRL{K#FDMS2awTUpe%CYT$KsnaSZI3(W|k;`3N&k~mr{f%i9C zBibo(uJN=R{Y(|5gdAI0N=pdi1^auAEG5pUjV>X?`U89xm(d(Hn-h}A;vBhYc%9AD zsTLtk4Cf=q#FSHp>MLNpE7Qvrg!1axRB6nQNem`fi!7{%MHfrNr6mx5T-dqtZOY-K ztgn{pv972_FlX()0xc=(nF+1cp!uoFz#nZWr-qkG<0i7wu7EY}lHaL9OJCC@)e z&eAN?B`m*Ex;jc{3UQ5p8X`9PN<6=G;)y@{NQKN=S&>iVHO?14Gyd`zX)HDJmFc!_ zO-52f$o73=N!d-r8tfWrs0SoAZ6NR-sY5y4m!a~KcDriKo+SZMc%Gi4&phI1V$^Gc znK6G*d<)A~bt)*sf5C+V-*J2qTiE*6oVDM~bhUj{JsaX<&5jCxcG7k)W*^@B#}9e3 z$HqzHhA#%uF=~Fez88>_emY@f^ea00Kk@xDsS$Zn$8cxHtD| zvf2hgf32`s|AOIm`(Lz9yZl1CFFC!4?Xi0h51p?SAN<^Z$>~@E3Y}mXN8q5RIVH*k zY?_sr948iuGKFC5n3dbBm@Mir z(7hZ5yKF-K04!FLN=D3h6y+yKBRUFL@a(X%-_N#a24 zCNV_?0Zif|FG`%~yJVW9$`3UaMVbI@w8ljUJx|ZDUc0V>8i{ZxUY#sIXD>__=;X6#9eli8N+2Fh7wZ_hL@mTruZS|s5 zCx4Y}uA!s@1|;g<6b`d-m!T&qYf`v=Yu-N3*5fXUOaNpX=hOn|ks}{hOl{JGoQ`1N zq(rWt^g|d!wg+r2Mi^Mr=*U?JKLxoVKI5Xw>p?TAuuZ3O;L&xylGFwU+Zj{{056JU*XJTuBQiXDyPuuy#0w@EFMH* zEH!f@Lw$MQ8SbHd`RhN%wd%`QU5qL@WNXI#{|R#;hRCyn~HGC%E~P~~+TFL&!iQ1-2E4P}1(w7bGUgaKo(Zy^VNE)?d# zowPivI%{tvfn&PKDRk5`E2+&*?o^9=a+CuAc|%K1p0v%4wB+Z?ej56j)2!sQKUz@( z{j5~rc!YBNX=(*<9PU>tl-w=gmov^iArY#|#V*wot?#TPqBVvA>%`Zbo98G*VHTkz zG0(!B5CBR2K_JAK){7AI)HqOont1Jr9oj@gl*$<=&Bo{hgcZGw;_D7cY3i^QubCf!nJdj|3h2fFy+20J8oCMNJZF49(p{1NNLZ(n&Id zf>^?y{HpM|2pc24V_CJyvObdXeDT%>wUz$;TD2k?jALPk7%mGa3*;Ps?wGT6xOE#m z4Gk|f8+T>7HANFdZg?FIpTdWp{L>Ri9$2iumc)u>dp^QAbpa8i##0gLM$sKM)z3BH zbUA8+gQ2C}pJHyLBx-HZn zT%4cv@SZ0ETgGwMs#`@Hp>Va)LY?;YRm(fqPW9Z|Zz`%;{1NJG&yiTo{NbO0?ew>* z(V|&6x=iE@IC}90!Ef+ zNs|wR%(B)uFvzeV@_U7$kkGF68Emfkflse1G_Mw%7=Dc(yujPU**^@n9v>dM(=}81 z)?Qo1Ss#CJ!T8eM7Ast{SeKqq(PRGw(bOfziqW0rWNCU3t;Fejf>J> zX#ad^L6`X02q!)G;fcuw_|5IYJ2ddt%q{F>c?zZ|3CQ??6W4t&auf_PG}EW(cU%>L z!7Dk&n*kfG-!Zd%++-+PSYY+7->_gb@UZj7+p2``e9C;0_0ZHV885V6#q8h1WceV9 z;8;5M5>g|78!Q6v?~z3u+d&U=v_N}AVoKLIpT?+1i%%Dv)(jck0w79ppEM@&!oW!Z zHWJRO+G(|8f+oIT!|k6;Sji#rRX(QnYEPUYb((zN5j#v z7?F%8Azc8@bPC~7*4p4E@J&6I$FTm zzI0!ImJ8g?__>+xZF-C=`?;BsM=`}5s?@<|$dO1=!JaTUkC6~RxvCfl`eyOD5#W4u zXT3xjd+vsQ^Ge-E2DbC&RDs4B6aQP}Z# zgj71klrTJNxsSq+$nZjnp)WaE9VUw1b1aLVnXWo#1^~GWEEmZ}6grKTx$|`l)M~H&ipRcR?D5p2v0z!bD%1iP0eS=DJ$-ZkTO0nB zk4`-dyS3vRHCK)r^^G4^tH^vd&!iPMcMYGUt9ku29>1Y8%{uNgjmEAz&RoTBgnDMT zky?+Ds*i}Adwo$UT@`_XHA7s)3Fq#A64a6T2$M57q+Ia&Hc|12F(tQO5QjrdEn?|7E1jYVMy_+%6(Z6wS4_!&WhVfe zCfOP03O*XCOn)}>L$EQ57F6{%j>glRQePY4=I||#NoAab!@eA#OFIFSJIiNzF+T_9 zlZ!M^3^MZ|nB)cE0s5gMsbmv$Qvb@5A|g|mVdB6bJ<6Zvi37(>T36#@Rx&Oo-fqaK ztjnjYGAAST{A20keS&(5p%=k_WdBZt4*>0#j8d(MN@0Hw)qWj;FWduQ;FKy2(6|Lj}71=H;m{d}*deS{J zJ7Bp`M>>4{sByUZQB4|V*Js-q&kc!md%70q7p8g*G0Yzj!==p-E{45-auC*4!;;AN z-OOnLNYf2O3T6RzQf*Se3FiIPY5JvnMUEF@D7=1~)zAj$y)J6x*s1_=f$Hlsyuiyc zx-X3KL*^&|mm*;r_D}#WQX?**f>6(U&@2kSyCyyIxdiw{1``_Bo`cTO*U%j2b zdOLqIZ)eN1xz+xHeVe}&_hY)Wj&G@hh5XLP*Pm+G8(F(^`<#($)24)u_Rr*a>~}B@ zc_e>2$73ICT*>eFPv_FfE@W3h6ZI|}tGzG21pkV!ei7I5iwHV@K-iFS^NvKaXD4{S z>TDZy%2gY4WR{UK(#6Gvp(he07Ap0wZj-jk#C=M<`J9OpzAWD{D#|*oD(a|=?{bmP zB=@6=gK3>oC!(zVj4efhMWjapSHd}z%kjCcQ6@AJYG6aN%ep;P>{F!z>4>iJP6_=V zd7WPZRAMbGk=7o6-U7#lMF9$ycUe(LeI5Mzvl>x;*A1%GK1Csu)owf0Lw*H1~v&?kGNQljcq% zYj}#B==v;{qlonFV5^FZfv#A2D(0YI%WK+$M0Q#kux*-uLGFw!#{l@-2?NI`hJsr> z6*iRdIi>(oI^l|Gi3e8pCAq$vHZWCeOQPz?dIlz;4mWDJkpnV0A0DK*J{G`%soz%Lud3~vWbuq*Q6XiK@z5ufTu!}MvQtt0< zHx^e<6F^Kx&vT$qfoPD;{kx63g;N2-?wz!VzAV+>WYploAT`5p_qLnIy3`F%D^AMc zY&l(|b1`OMD|fc{_tzYBmXF^Kab%7*s6VQ`t?j+fC;hX9ue>u!rYVYpchu%I5b?#w zn2MNxza9*pWh8z+77suoO6~=c8B<}E!QgOql3*>1N6X?}@*JOqK9H^eAB=(l9qr4& z$k_N&T-s!Qp3JZ=42&gzJt&I!QV=@53>az*e*oCg@9#j=m4}5vX8hnK{Vl$g1m^?s zZ;}O(mzf=nDvvvn1qTe2HfTr#onE|2>?kIGPGJmHVtC+|KE%&h3;rC<$xy~a7ayT(ZKgeC^@@Yys!iKo%e2Y=Up zgS;F*KYTHKe(={r@&p9Bvej2(9C-Q#Tt8VB$Yzw6*;tl_LDzuWr3MhGV!-;7vS6ufbj621|T8_i!&Fp>SHyBpVYj>X<{oFeK>zRh^qIXqZ{GigUEBa zI))SUf!sVQ{#?$1h)|7MV-wWQl)xow#-!-4eH>str^eSG+6c=Q79^@^_8wF0&Cr4)9=Bs9z)KL2U>{BJLR?V)Q& z^?%!Bte>AfKD^pU`b*C^2tYqF8T12;a?aC`@B*0k5^H4PWnowxrqdifQRA~S zx^s-w=+2{RupLx!oaC$lco?4+ie%gF!Nz138KptyQpZ%l3?^U@^}0s+jAcXBuiyKj=Hz z|C8!49_-g}91ZyPf>5=9oZgU&lu25$dCzWw^7@QZv|-{Z@s_RZ>Yd}}H5Z;;e;!u4 zMF-z8N48V%AZY$Wm5n+}x`biFC4x1%dk`7zv0&~$T!oi7LrR9y(!3r&b{o?V^lkax|#d6c|`e>gscV)%?Yg1+;9^E2C#{G+o8?r;Vd@JLvtJa`&- zososM%2Cz)!?;{A1f|HV#_R;(#0nzx!Z?;wpQi~Da+~#Z?;GJeFK;1qx*QbnKJ9qe@71j`ogRc zrk(cprHDQ<4nnl50(Z97tC~@ifXmZ%LfC2!c2nA2Mk%mYVl!fk9n);+WwWF3i z;$`=|~HgrbV4xo3Em=T))>{BxLO@6sZt1ZN;R!IMM% zpxT2_&pz=LD;xl4+e$K~l6{Qf2;V(yzo*e-I9XvTYeC!nw z02)0{fr;XWL+e5-94)%PZs%^--1#@Ja9Khv*Nn4TsUoVDR7BbhhXYe|PNiyIB3y%X z0UE<6U13w0rf26s7sf=0Dj&Fn1HLsOifYbeNim2v-%pZwa*`yce@+@e97-YynZ_q( zd#u@UC;EL@iK!qiRC<>0_3GNT^qO zRzfpwfTW(*O{m6Ut<&d;?6bB5#<`;Uz;%`ny?W3Siq%to|3(e3*EeuXRaYBO7}f6-UydOcJ<5QyNCkng zc93dzqOGm1n(3SA9=hLyTP z%IqQ^yqUA0e?n}m^7iT{*=D+X-t78T0^)BFp=jyi=0WjG}9iR zQ53Zdq(5$SXJH>-(l)*nnl9tQdS~r-w&-8i*}@TTPftm{4JFCkYV0AR|Ocs5);fvwGTmo6aQKW+%{``i8I=z+%(ULQ4sNnLng$erzV zm-Zt-f1%&5=egquvVoCz_nTjHR;bFWCbh^zvb_N1O6mZ&f48^3@7E+57RcH!igaEM z7w7QD*|}ZyB1lG>11pcF;SbHbQ*9u+uGgitv!&jZ$le#Q9MS;85D;8 zjSkFXZ^xL&XLo%g51*A@Z-yaZg+p3LUa5~Af0>mTQ`sfOVDN(e)qYWwy-tPIl*{=% zFHpU*L|Lm8d45p=fKe+r&uOVWlgM=*LsQr!{WeMF=u}a}7v#xNq_Z@m_ad8^?bsl_ zluV_*VC;l~Ww|dMaRfrFwlw+!23T@O98tpAGd0^MvT2IWdsW+}-Iw1=;p=!ED@PaO ze{W^Yjuk^+Z{W3ut@2KkP{I-mlwZ5ipi4Vyv%%uXJWP}94F)6`2(xeI7^XL%<5a19IpR}pB>UAKM853ZZ<9F+(&)9l zNVId3%$WCTWUhAfM%^A66PPZr7m5nSe^^Kv-FfiClTteW6;#2Bhs`fCkulsv+|-hg zEdMEU*U9y6P{y8ec~T||a}keVjmsIP2Vl1;HvLC}IM|Md2hX2$qNFP}AsR^!nUFp1 zXWnA@bk!9YnVx_l=Re;_wMe4o16;&22@h(OqF9f0`bjn}E-9Grjs^tLh3;!)f2|8s zzhmOh6oZ6CE`tf<*SE>#MPA6@yep#_8-MjH_$$1=W{bNb60)bYRhbrgYB1B^Qb*?P zNWvF}i5h)c)+>=piYTV!^-=Nk`qnZll5u{PQ6dn_c@`vhqX&9Y-MHUGWU&a{PC1LK zhz+7)G%m4vm(f_Km=Z@!s0<;pe-;On@dASvq#gYpYH7FgVB7{$gX!mTBz@2BFZa>4 z#P}TZ-Q6<|(e(V_RJdAs#FIo7QUE}d;MejFRPDR%(khriRn{TZ*58zBi+CI^ug;9l z{l7hIFeU!5i~j(K!{h)!!^Es+M?V2gYa$^T!z-^L1%mvge_-iLF!%4N) z;~f>oYgcjNI?Q0DAHU_6bjl6H$f}Xnn)z^cWp5za-@3i|-G5f?mWhU{E3gbScxkIm znjVWe(8^&#gE(i_D$gQ5Ey)CN%%7v>*pzt?ZB_;UuTkHXyF@2wlzYOe*Ae>uY}UkvAQmX6`h z3^_0XV@?8E@!s~`{<>o>XR}KRZ(qWgFdXF^I1dc4wbj3Y0kY+EngVwdNQ~9n+TGv! z1GIP&Qc#VzT8mfb2yHZj(>kN5q7O7=R={mLS)So3cB0CoA*V9eZ!Y2@GhTeOJJ-I< z0&)5stplFat73PIe-P3&f?Ay^8ig2rPSf|C=se^GGs=>wj^kdX0cLK(YN-fJrRTM% z^@#cV7UI42!uU=+rv=Jv#rOPCz?IFW4VSZ2vA?pH%7fuJ1vn|31Q{U2=M&mmbnN;0 z@a4;cza9=BJv%x+JUSjeJv=hn;>{lnaQ58#=-Kh%@cF@`f4{*Q+AYl^b8PHFx${US zkddm^!Qh$r?MZf$zkdmc2-s%vNPP4gV7*7)93RzqIRFiQc1(|+BD@PdS26@(U$wS;8lDDD;BQ%^2XL6Gt2l-m@zh#v(@hql7Z4j5>m`egZ6akWG#xE;5x%#~iS- zoKlT}S0e!kf4uXA!YG%-X*`C%WoMYY$HAhbH(DbTsi(pLqjPiP$u-#AgBsmZc9Hf| zIAoM=%1bQCH=W`nl$uq=RlBXb(GyaDj*jvy8OgN5YA$-jah#z|;)ILbEHSvah1y7^ zNVUF;&QpXM3ZYI#0=jp=xngRcwy~WgOzNc%MA9zdf23kZHA`=(+hueSU&@r603|RE zZZCzilLE-j+^5n5ief5Rvbe~Lw>YoUBB6{lVo9Rr1a=04P{kC^)OrbGdJ>(ci)cd^ zQ_;DX7o;6ZjY3XIR-PA9lPx3Wk?HS7FLO))D@d4;&h$LLz)XD6BveOmD1wP^TTW$WF###wV9*zzlYMf0?C#l;|q!LFSN|fMt3r6ADC`)7q-3eDPk&`(ho{8S_w!13*r&yr(9G;;Xdi7yMSh$Dk`J^)-v6PQBKFJa5EIF?sf?1_I z-l@t=oX+jT;nHM;k1Sko^dffff1`q9X40%Emr2<8hngm zhb*f66w$=1k+X$ZSlUK@23sSH%DO+7o#}dMy~;|=B-A9gMD|4Xdi@wNf3O&2tPS9T zFe)ZwK3(b$E1ZPp1pqI`s0#>l0$h}UI040Q`Z)oY=>NIsn4g-cHIIlTkoEDX(q%L< zp?L%wLKuN+Zu2N!2%?JOW0f(04@kCODWJ4&M$&0VOh&tYgrQ|TKh|Ji)i@b0qrS;D zN{Jfc6xf09J~v9CG1o&We~*!ir<~pcVr@J}OjpTzuC^0i>U6~+Ol`{8_Ybpo4?TzQ z3ZB2YGXDOf_S&=6s$0Q<`;Nf3F(#5nP2Du%Dwg9V%zma+PmTkSnPCWpZN#;4F8y^>aytDla6t3StqD_D?{!QXvXq4Z3jjc+`wT zWF1)5*|~ThsOVcle`)N_i#(HlXySxS5c>^rdzo;G{YJ;F%@=|;sN~W>i;S20___EA z&<~m1AJg%RBQlC1yc$`?kV4_N`Qd;RE*+z-YGDpz~i{BN?OkR;`ewL1TNY+JB z&@!igNAoIsR-wW{wJ+NMYv|6`;Yv&$RM41JUIe#XooWRXe^I%5BXC#|C-Cqc1ng<4 zc^|vE!bkj#RAAe88NU&z%y+RQJ{Fo|pywy~d)g19)zx ztx9nVm7NLJ2W50J&1L598EZb-nRA|(B_??$(M~)Jp6gGpQhlW#XGk_BU9b)Dt zZIP@FB`QPXe~I=5>Vl^s`_~nLDA)D7l;;Bj&hipiT{5HVszX-7YeMMa(4=k%Cq-JF zcq~hJDio`fyL#$e^=Kh zla#M=B?q1hS!rnKu><#!^xobJIaqZa$!1c$kAvFVh#!R#3>toip7eoNibxLF){RW_ zl@82T&Yp+fWzL3%H`Qq1**fDbCxf%Pvo=J$!gVT(#IGE0;U#Q*8?dN(Y2@YO&a^cK ziC6+WM%)N!dhm*>7p3>x4_l7(i7sAZ;PNV9Q0j z(e;OB{w$Q) z*C&jyqrbihlxFuqRJHd9ll7_;sm|0@l2~Zde}y>=QEk@xeVBH9E)0?D!eC|jK}$yE zn=bu788sd}u=9$V+u`{2;HJC;luu!IbcJz-A|~m5^kMTOY)R{tXE;@)=sm&T8!J;n zrOJx;M2tB+S367NGZ!77)lC5ZpVNAHQk9?(iDYJmCIw=@;xi-CihGj@lyOAlIt`g$ ze<>`q?+jf`zQa_*t80%)u_qOW8>|iYNxgZjiKeb*+s<$A3c^bP27=L^zXZ4Q4jq#u+Dj|;+vTBB~lJ33l8=1|jNv0d@ z#<}e9Xi($bRLSP`Zvq45S+@}!SPicZe*hJaah4G?tbZqOIjU|XA`p&!QWORDG%kRy zu^)&k8L7(go}v~_`7tbu0<~)-IVSJYd|9e7llQ>)k^m_kh)fT{!GIGGqwksAO0xmk zPyig+)A{Ukutw(2TIGy?#BxqkT)%RrQ(g)jb;|O)kg4@9#U(9T%D!@ow7Q@pe>~8* zOfe~3)u^n`h%rSwN*2%met5f#P{(-^3x5cptwox=LnkfL7P5;T$m>X-*^I{;g=G;P zzr={ts0G~+{eI4Z{vl0Vx_GVQD%est{*z=cHr+ja{s#Xs5U|ye`lH7@UC$@ z`C?`pTELjXX?nIDr^5Eq2hp~hy_ciAsZOQ$O8Qf%5wsMK zuDzM+?9Cl@eRwUWAhSyfc=$aa z=W=1fGCUqG-iNY_u9H_*h9S?V=wh5yC`IVr^!D#={SkF^RT#2^JJ%_v`@zyZI2I|d z(dlDnmC~V79k(X5dCfTHN|9Q>hCvzTC}mw~%<`v$mp_SQfB46L7wx!2?S~3(XV~i~ zB^-Nx8w{v=<3ftmj#R7M>O71GGR9PSAQ`nV(~Ord{2t>-XciL@ZdD}zT&9Kae^EI; zSmV~EU^5o;7Q*}IJNWE7={T3zy_th`BDi~F%2=mTM8bpVa*~9?@sh>ZpXE`l2B-4` z#_(it)K}c*e^J~fRYuKdQ3>!=o2}fz%u<}%>$Wr;ibPaxnu#z(@hUDkq>znBvFT&f zjeesfm_>}9ezsef_O_RJStwrNh$vQ%Vin(`1HN!WbmJ7PT_%^XNqTyk6dZDglehJ- zJfd#n##JO`H~K+1l_^hJD=^9y+vsNs=uzn#k52;MnN5x9Uem8i`)5S)@3*@#|c zaDKwOPB_<5AxMndqd*eWkYi(1Z_q`9*;jXt?T0$JgoC1?Ifjd#rUiVfpl?Mf*E*iJ zB_$h|f9x=cs})5oye6d)nwr5diEhkm^eO!k8i^`lVJR#pg(RD>=yWxSjwB^-nH7oB zf+t|Q=jbcM%vtn+6V~~vumpS|wB=n1YOik{Ff4IQ7h-K4f)AJB!{$doM~F_8p$s3Z zz@HDjj~qf};+YTqkFRe@InfyGRR}1B2ZKy2e^)JWYE`u~kMvE&YDN0O`0~W`Qhrc{ zP-9wV%&LCMfs%%e%#4`Sk4cD z;m#`~(wta0{0mXggie~62th^QNY3CdIN%Ps2hKeZqE6X8X*z9dYdlf7sv@b`iBxx0 ze|$+~6snX#uv-Q!xUW3+3-!)cm9n3Sj84Hk29o@=v@7sGmPidUz~96K zXx4zj1~~ptp9ZyI!>7y#K(Y7Gfi-TGVBH4h0_gR4QFg7C$7W!@N(^w4h+xZ!c8npB zNcOC!B&KT8MlleZ0lLvooC%_1jXPnQe;i{dddYQIu$#9@ktHf@52rOlI~BT^FKNFx z*8NhMjHPe9IiX34o4mp4D~vI-1T7A6kqSzTIap~&DXtNVu1rellCAoK`6tAhU+A+W zXI3ok4pTC=lUz_mS!F-2_SIu!%8Z^MsSgD)J{Yh7Qc5dk-OXkGA{w%KWM2@6~nDbIwNRTXBuX9DfLpnu}1Cw|nk6$wj9V zq;X^EgCSV92i|_}RlA^+_=?|$I|ldCfNc;PWZ;1Xf{D0FlG!aK-^c}vIuWJgmfv}Y zWe!z&r^p_HhGsijR7tf+ry0|^zyG7m_Lo~pWa#@CuRP) zT$T9~;IPb}0JmlSG%y9?PlXFJf2w#9e-wA--B>@TX8s^ee)jm;0IualCIrTe?(T&q z&XQjvA0)wW>ts6$v&e)?f2omKAh1$&NW-8pp*mnbW16EQY);8t6tNV+xp47Yc8;Hm zL{}H6OdvQaV1s;|QZOc9nhnYF&~$a;EfH$+Ho0tjF01J3e6g69gFAO{!{VX~-3g`U zG(IWs5T9}9$Bq8(&K=sf4OtywgBI=YwjmR3{&*Q`72F7niz)Rhe}C5aQTGC z4uT6HqzFw~?BK)c`)QBk=nSY>rgo6?ddcY_Il{E{mmGL0T(9!rxXzxyl#!%qkwzqb zc7i7f`V}cQ_NJ{PN)h42!EwjPy%w1YWCfwZoQ7Bgt&dc4f0LAU5~Uq-;+@5B$(2+& zLBSdDcKNs|xmZIx>u==hV%U2pd@aLT?9h*?(l%N6244ldTFjq{uDgz|Nx{0N&yVZi z4=+<^Fsmseh$(Q7aATc7>6XwNqq@AUs@E7gaDsQK0cVmbG6#CcRf=`0o2#UA?8)Ti z7?K^;xd374(@KiAkDrpcoRaUgshWLmXSvt{i zhqzP}q@Nzj0<%0}Y-{OOk2|uR)<)vcRRDF3_BWmS4`NeAga$_iMjBW1B&260d5)Lu4B7M+?T>K3)vboot z4f!Gu2|8p`IxTGdv&@iXe;|_GRW%~G(N=yg<3n>)nUa^Ujr`YWAZrMY0j^XaU@v`Sg01gowH)%kPu0RU9_(YqE=uB6U@bkB;O zF|W5t`%eUOgK-5YtP@(G;#HKpEsj9QCd7rvNl58wjNh%)vwrtpHbWf7h$`)~k2cyD4A2tGVg{{%V;spoEU% zmgr25?dU(FR#k-$ZSTv*cv2Ghum)5G6PkH2)c`UJ<~n&V%}#G9=cPh2Ug^f?&Pc5t za$65@K2^(VKhjSLmn*zTZwfH4=tTM_hfEt7{h0(MXu4o#>_IdRc4f2~mU<@BuX?|*^AN04jf7^Rp02+9L$e)IG8ZR(7ZB|85G>V;Y!N_?{ zpy50-kK1{r&)9iU#TZTlztY-QLkRFSI6 zCEh^;i0q>xc8xf`_RZc=qX^JJHhGNK#kg+F*L&0wrUux{nESy-TgE9=j*?Yrt<%@H9+5r{?Pyh#wD$45$T)xF2O9sQneq&OtZOR5LyUbj zEK8Mx>Qwf{6+-K|6eCXSD<|@m6ZtojEt3+oO0?zgw0e2V1iqj6M&EHA z;*FLohYxgH@rM5)7k*Bq4ou^aH0jmT5@pPU6PXAyP-Xpy;I+xlOrE5|Y4XI$x`usP z1CMP#Z4D@%P3|&T^KAgVs#nj2Iu!Tz-;A92;jZJ|1s`c?G)Mrte*#DJm4bay6wJ6C z*P&T`Z?XDH>o~h?{q8)iq!z28S7;9k-C#kt?7r~lKLb6ocv91$W5TKFuOd?Tdv)oU z?)zi=^KD=db6$A|!#!SW3%%X0+C%znZIPvtz~ZY6<0Cp2(LR>`ztaD6Vfn$*3a=>k zMBhifucFTvO*p=ae?ET#(dP=ubNs1H|18)@#L23X@mx196S1-6a;9>bB=6HwMe;7* zuf+B%!rs5H$Y?h~4jeqIDtcpVKo-TtNxHy_&|-lbl!XGukkP>KNxoG1o9Se3mmr(L zk(CW`bN?$M{)&jdBI0IN-*TP1R9|QmmWou@gC0 zwmtyGjBrVSo=qt0W1wQO(Ut?B%w59FlnHc@1VBqvt|2G-=Lav2pBy|D&h#&y{CZ%g zqcmOe%_11~EfYmUcpS9o>wskEKAM%ptdn(t(fJM|f7NCAlj)F?+myJ{r}^0n`TT`= zETZ3@{ngwub15oHNc`&rLw%kkoPh!#96ME>$Nin%p$t~nbw55lPE;v`PNb`V=;WA0 zyr;Pm)i7XMUI(o2Q&4a^XIhA(k$FExDEW*Yb56`;A`3Pv zJ$wNmfAjqC=<$=IzuI8MH4)(m{(Ah=@X^8Zm%ltceCar^JL?tH?e(pL|2{r^G(37S z7+iUf*SETHIXt;sAnOOGt1BHJShbLJ*2;<80E+R#D62(k6j0KT+NA>Vl);80vvlTB zmDNS%%A(+F92RRr=;WCypJ>XtE2miL8Z$}pf224$mXS#^rqbDBf^Zz)yyDDOt(O`s z3>ZNc*^^*2e8iqiqv3EGqfsc@#Z5%0`!uqEZT zRRQ&I-XJxG@24SJ;6}+XCL^g%2*lk~BsDX9A~4E+^tfq#DD&5*Lo|7llD$RHp1HP6-!Pl?IuX&a%H2k0ka7<|3$UTCZe}V8h|429b5zAU~ zR;3tZGc{j0Y_Sue`;^ShH$@N zlikQ!#HbtnH7CfyuBUOiU@-*Kt-no@xs+E}bqinzgKbU2CY4p%8(Va#c52BuU`m z>+K<1&g8W+r>WLzEbY{2e_T_U+=nTDB%U_QD_03`zs&%vis4i++#Z5RzHf2e088hl z!Sj|^G&T3PIYlD_w8UV(o2+v!OU_(a2RN^is&|lP%cL?Q^X3}+Va_RC!u*1;tFCY_ z*(06CU0|5gjvW_gZDuDr!zA;vt4b`(D)4$_ch3^kD$sgWg{^f! z%YiJ*5f^{N#dq(O$1*C;26bDE#Yj!$CqA&E%V{1@WR69<=E`Z#)+i*!hR}yAs0=4F zs?lI>0y1(dH-g!Ce-&8ZekdlO7vg@$gEmrDIBLvjBkCdQ(+N5-S69m!*<0ok(--q% zc|DZD*hpS1a`n!q@t6UVZ^A?i;U4dGd70q|PSUKpg`DJ)Wf)|O#CD6m#6((YH|dI# zqZ!#swi0XqD`-OT~E3Q??x1e_rrnvnj#d#Dj0WccPg9 zth%T|#7ew;ecuu41wdzwZ06Y9pS-==wn^R5#uY~!q&W7TLn!(3ip0y_zH0L)hcRO~ zce4-Rn$TlRsoeUehZW-51A*uYswA)=n#m#yW$hK(uSqVFh2yPYX^6Dj3zfjpE#p)f zltp!-9RJ&Xf0>?E{aaKW}MCSe@^bvLN$hYA9?kL}CM5sS3s1JW;kERmRtuAXoX)<4=t>FmT`v zvzM=Rz450(ZuRxAxo3w=_pHzgSKjm5zH8Fku5!%se}9E&Tqp*c+ygHXk~Ps5GN~&0 z=BUbL%w`rUDKqK8$>kJeh3d5pz@OxX6pQ%(P==w=)pE zr>J%TCISQnV)#=w?djSSN($#-afcc3ONT54*aD&s`}R1A?A@4?h~Odsfn|%ZcgW86 zA6iV)f0|`;XANpT81UMRB&?D(kliYy=0xlRG?=A}ndX(0p+2B}uXFHN?Q|i0EyQ%C zb<92);as7+HQgp8X5_YBM~RQZ|6nbj0jE|b8&w)vFI}+u0?n2yjFZ0YzX_`(S@^hD zWwtXdeJ(IIvfH^}8$EC>T#X^V<-W70XU*Iwe|ligsSY65Grrk7)zHXTS%R<6$|aXS zRr2*otZ_mDrOA9!Gn`92_HUYa5GN6&9sT~@=GC|@8FNMD`K{ev|4X1s>v<4f$LH(M z>qqGL4_bg@`VG2et5*=buw$V7ay5}#U6Q&&2Rmlb=;wmn#LU|AQje}zaBh& z^7!ER$+M&3i^Ko>%i+u8m%^g_!@*1Tf9W1Y@6wn*do`*7j8#*v`Lx|7-vM&;i6(_` z%u9u*0h;6mtHU@I|A4^#Xjv4$*e(@ZmFniffYt0G`+I% z&IF8~#bVfsBCFT%Me9UVbZP}az>{;shr)ycng{|cNIqCX0SDwlG;u^|iv|EJe}&(p zh=o>JK%pR)O)uN5RW0(#a-7)Zgs6BlKt$P%9y2+_i7yMWbR?4tE)gxZxQvpb$cs{x z7Lq4O6?=e20!EFcT}T()D?!*w;2WHVs`bUy!O(7Qmk2v4((zl_F^{UD!`$$1zKMQ; z4Sj^=wT;KeR&i{K5qy`URybZRe{%FXu0cK|k zn{Y)y*h63o6M4xVQ5ykxKXD7+?J_8f?~}Hu<;tEFvTBeXz_YQ{@audzj=|Yne=5c2sb8t z*)EeS${ARtmRHJRe)e@eiN~)!YiLPnVnMl)KrEknv_>sj?+;q*>FKC6Kcy^YVVO_o z5h;qqmu7MJQ|Xw`I!)78e>pzM$)HkdE2eM+v#M$Voe(ZP99ys~g)4vx5MVn2(9$u} zR$qCkS_uA%32R~&!qq=QAq*z$J8=kCDpO+P)GHfs8=#t1Xr>OutVAz0_|e5W0gU6t zHUUgi#WFTIX=Z-ps2?91G0N3bFmslhQ8&W3lqxJ@)^F*bP-WMNf7wNbePWG@f@1@D zPE^<9YEyP~YD6?_uF#yboP3LF-Nu5Gwg%>+o5*UN1$f(aTtv8c3n-0Jl0&#qN}!DTxnc&(RUVIznWFX z-nCaLFU1wDxXrD%e=GQ-o8mkg+gih>)utxZ^-QTX`e*#bqtU&4QyN_XYQu3lKgR?& z?-zk+@w@%z(c*6B%9$#lFW%qX|6|p<)^t}Zb}Q;wQx&TZv7u7dCn3Gi zOKob}PK{4p6I~~=6x!96QY>~ftXdf?)w^1wD`meY&wo06e{p>HcVX|8&!0a%cyc5k z8~qiRq7cT1I4OJm{lVbi@Fo1)k+^VZHWGVvs2(XjIf#fz@U3I``N`4n(JwELpZz@i z`Q=}S$N%;GaQNhLC-Mew+AYMx!(UO3^}eEy%{LWgv{E;US!19tT!qeh(c$Zdg?p9X zULCf@xS)rZe^5uu_$wzI3-!|PL>*nF3_Bt^rk$ubBbXL<*p*87StqC@O!I>EmK3k0 zGQFUlFh#W>)(4*^lQYF3nW7J(OCDGWL0XqefoA9zLN&XE=o7Vcp0Vyh$a3`ZU0 zECm*N(uVDy=I9=hF2uOh3iFsbW$Oj!2ECQBUC~>~e{iD;vpk}ABR``&;sGU=FT2q* zb8nML$I&B8?KANYn&_Ix_1p@RG5z(t?)U7)&Syv(ZV@tTWCW1sN51&1H$PD-ZK>6T z^L8R-t4?{^Dc79v;X4+C3)9=@Gtc9LwG8TFqmX?tUrZgmQ+gN0k#D$U2igY9%H0>Y}`|td~Yq`d~CU zh$?6kTNMe6k&+U!F7C0yfDCh51r|vp`a;e(NJLuIxp(v^Ro>YW8AHSPRgyvOXg#j@ zMwEK~!*&`4mlr5)?;N4ao~up0o{G;_>fsqGe?q3uFr?FKw_Z83ls=4aT>V`W@2AjF z{ySV|wWhkeZ1HtBewD3w9X4Ge=a36qsyKd$q9qihCG!{1WX1*~j6^|OT7IgH=M;oy z*!`m4bdV_3V%XCB5qt|rXzD6l?ubqNk~>lz{gz0@vpGSSU4BB0mi1Iv`yy%i5QN5z ze>Cx$P?XigJ-9WkC6b9IV@cQqv&u4pcv1I+`m+$vyfU^CZ~Jq@1ZXLX$}?X8+X@Sx zjVM?8j0bQURA+a&mdHY|7gNo$u0*!khV1>xFHY9ixT&#eI`aC=KuC0cQ ztL_)QZ46dEqS<`cLt^YzFP`vVYMM2t<;1LPn!~?`DPe{~%IBVO1c7q7#d-1fXf~UDEZ83e=9mf2ZkNOq9X~28SG4 zy8qbq{6Kj(%|sOe48MRwr^EoUnr&s=Cy%>Ae`Qn2Xa*0-v*XEQ%B6ssN$85)f0`sS zqBnTd^#kGx69WFczV)-S+o)Dg^>)jR=6x4=*fNUv8s}#j%7mIT>_#sWkl`1Lc{#Xq zXOfT0t~i`zfuSLH*eU7GRwd}m8$EBrkV-?+2>Seto1bdqPoTY|%vZmA;fTYVyqVWS zdDUBZ-~(>xF-hNvWPDjJU7a{@e|>hEo-HvE9^a+PHBxpMR0)-$`^vb=r3;4upv6dg zVDpOP3^R-2rIUlwO(2H%5sf_<*he=M4X<@IUdR=@yFm_T%xKbmsoRnDZ%6+V-Hz)D ziO7H}momv6Ut2_UY%|-N*R{=%eqHhNew)d5Z)>-)J;oLg0s&t;cefjNf4Inp$@_VX z!k|I{{%&`7dwY$$rM$`wJKpPU^_tHYJx|f$m-azy2YNBqXi$(n) z``g>s9OM)j`uZ{MZrf2%?=>iYmfB{)2Tj=lYY_Ch^au zh?ZOZ=t0c{CAir)0flDK@w>Q4F+u~gZ%p$Gm2d+%I5-E+e@#NOy(D8Gn{guae8s}= zUGDrGTgDSie5KetSYtn;}+w4Y5G78;zPyd_jWh1E%qOs0PpseHwTX8 z`QIMB{ASOazWk@dgU5$2%oV?U^52J88{>!nIzD_Ucc-^|kEV%zb8jFaU&NPibQ4Ub zgpS1WMIH$wZ&`^h5B#ws9|%~l-tJ#`T^l=4QYtY2b(1kn>I0bx5t zbQj`Uf5U9gbWj`#pTtmR;}=IlLjpbq>UvJ1s8;i1)c{!-+qf>0!oAPH`y? z8_C?ebV7H33!n@@ExHpiVD`N@(K3d~Q(19%)TMhb1Z@EDKm)3q(7?g>YWIvsi9el-k6`OZKzBg z-8_=%DU;YmQUC~2&O{21B|kID@B%=j_68@soa43Lm6x|je3m-%155~Lf8blbwW0R< ze|?L_-LTZr@bkN^e~ZLM1b*&sY-~hoTJXoi-|3P0#JiEG|H6}Wm;%c*=^QFBNOQ{d z$NE>g-tPBe=gc}@l=_FpO?7}Ok#!6drhpjV3_2M6G6a-5MD_qVR=BE&(9z7Jee2nH zib0V7K*jVq9sDFcJxwstG7X!NLs-uIe>jCsGILuExRwhQ$%u$`Q(9#~Na-$g%}OdD z4W_f@OfVc4OM6=d`oMB9fni2PSH{!jMEMvlgKQelr zgFr>$+(NR$;OgX*+(&@p7}2ho{={m=-O57bfeT+j0||~4W)j0_p2h&%j))7FSDLSB zDekG*b3Hx{Oli2}CFCo~SJ9aff9+S9z@3XlMgz`7ZA~&Q&ASp~P^om`EEia-hOPwN z9wytZ$ubcx9H`a6_n1Lfof7*x65No3rUb<~muy63s}>edVOZWCIVf@Z7&nKZ)2NXb zk_X9k<8y+u^YjemO2T!?DF_%T40tK-+-Vlss@nVLKf#ynVaxGIc4BB(f5z6nqCL15 z9laq>n2m?(N$V*3zW&Cx-$?CvxtI(FB_>!M4@C-Ltu{Bt6R{%qAA~T7p_YGr>q$nA zjxItR;L*+)zmoWFpgNJ9IMBPY7g!0=pPbe&len65H0xn-OUxW1rBtSsvQ`3RNMz># zg4nH-H5UojFX9vqQa}>pf4X=}^g=5;L8f353+CY>nNGV6cDjBUl*`%N-({A_tj

WxRr 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�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

@{JAUM_)_6xq=a1QZiE|IUT1yf6@SFc6ns5 zHY%Hn>7Ols_r1H+VSb);gvV-X-&HtV)4;22L50tXRr)z_uz||n#3JBGBbhr1{abuN zBdT0H5yv~QOy|SIiEd$c-ek!@<>5}yylgrXzu`<9&TOLJR#JESt6d;iCHGINs0)LUGZ`Le?m*Xq%K}Af*UCe8_DAHLXu5e83mRbp9X_ozSuOEdL8zoHzF2N} zXt2#!R;HZPpNv8!5up1FrWGs`n95348c0^r%C<;cm6heLVvetFX zubOp)(*zvP!cNVp&_qr<)+F|uy}wj_^AfvkY-5hKj7Yaxq@6&%bSBIL(CYJ4xc8BT z7cXNYAw$qvO;4mCri?XFXyWT$lx~ova>_b7>`;)3vX((STXfq@$^%ayzS+ejjjaH! z^DIC}PYjr6Ymy}Ee@D3rMEPwN8#U4yT%(@_zR7x8u;x(b6HUE~P@$^|ZqDT?>}37+ z^TMF%8n}EbU#d1{wHHI6)?;yDg5!dPz+B`7r>Ult6kpmZ<1))iB{h;$vp!`f2M3v=|6&8Ny8Abmj4n-z^zEEA?CiE>RK;r11c-xTV`=@kO zJd$Q+WCeW0WJgOgkp`cVLLL_i%yEq6qweL@zKwg-fA_Db(>)eX$H|Zr+{MgKR=dZe z$i%LUyFW=L7jsinhjz|tYMnBp>I7;8uX#Ns3a8x4$(nws7ZW(kXrC93tbo)Lu?X`x z2uLxy(>$OGX{Q3?+INkM+xqL!QdHX=_DV;9QBk+ih@e?Q$~wJaiLkF|KmVGbSmLr! zwEW&*f3keL-EA&Gz(6mF-C<4pU06Q?aaU`NusGw-G5y9|Zxttu4noeF?@WMkO&qeZ zOctv>{-zZE!ogzD>yJ-r0>Vgy-v0P@P4vX;cQ$fP(N*X2MfeW$I18c?iH}6-0s%o% zrV!j#!D=+Z94WyZ{i%q<35WX_BGHK-J7cEtcCGmM>UrMj`c9jJYZaS8_TkyHcLpsyeY065U?$Qh8pd{9%;S zOR2SjzRK53x1f-^D@I) zopx2Wk>*ieiBqf79o%tqiEhfR*PwOh-NpSC<8Ro%t3abqt+2Zg+TBJ|#OWMq$5u*Apx?x#BK|!@HefVToPVbK7?lIKuLKtk>?|e^uTH zOYN{;*SnXF%C1ze-@lta6qb<wFE|o!@G(hhG`b}>w2BL zi6bYgX)vD$^Jj}({mKRyb8vLI=?>ky zT1MjD%3q7P6;g+rNGs{GsHgVuZf2(R4mA<}f4Jt6JDUg=>UGL==am=~mr*Wk_PhkB=Vj*iyv+Qb z=gyCvp$yJA**qrje}!TFDrPq|Ri`MQ7gBy%Dkr3DY|P5_A#u?%1^wJP0c5IkPDhJh zX{l(%NMiprqw~-)D{*vqSIImXYV)JRx9nkC#>x^!D|JLNjC4U3J+F{flI4SCuN(%( z^~vzCPy6I!?vrCy;nNC3Z-$62e!r@iuV<*(yb;?r)qFA2;mR#vo{l-eqp?0cU!OtlSDYM&gx1fO=w z-FHgi4hhXne=K9y{cJMeXHVBMta$kvut+H zFR8lJr=4csX_@j*j`9bgoQD_LnPeyNp?Hzakx}VoR-Neb7Fua%TIx@`_^4f+%pUt6 zi8aEkgXnswr3HIfl86`-7Z5uunJ52)6%z_|rP)RtqIDmf<168&_la|qIittu(ZvN> z<1DS}e?Y^9qrWt98j&`2d|1z}g4sKyu~MAJ09Qb$znB|UjLx55V=a;KX0eEZea*1a zg-k5VxU7VBEbmGY+b7<26z>8eQ-lyE$qb?K+QCGT3{9(H=TG$_niIVnX)d+o>D0h- zSe)Y2N|D01`1IM+7f;`ePeFW@gvI3!%f)iyxDB+aKz}XE`jRg+_IFO(dAVuuzP<`C z{$TY1#$w=`%KNLZlty7eW?57oy|MXsXSo@P5-aDei-vO*#=p833aR{VJ5CvvCjRr# zbdA7F$v?b){_5-qLZ+w)BkB`~cR0V9fNuo--loa-BNFOOKAqlHC)28^x+{_1Xf%5J z=OEFW41a~*77%EKvc?(2e$qtlM-w>=#{Ldx{^%TQ7sosGxZ+z86(g21xF|`?T^R0O zAKC2_Wmo=_(vV?zG*UkrQzhtP`Ccx_*IzrYHv3?N|8k8{E?f{s&NP@&`O0wr1=l@@ z4%_W!C(7etm3CQ_G}*oztb_3Ovt6(Ppl?5ub$geDpRI%IfT|&5X6_g!RuL{^ z+eioX-lLV{leTcLmJXQgSczL5WtI-3zT!vOy@znN{_S!DD#tQd$GCarJW$pN{{Shy z;9^few$XmGOG@%B{bs&=J+;CTkI>=U9#lOSfRD1>6D~F$&%?i^Kk~3xApx z2{=*wHKyA7#5m22b6kOQrajgE^oR3lrK9=CdnP)TOY@9RGGc*@C=RJ|CgA_5lU1{; z1LlMQi)tG2S!$4up8<~c$bl)tOI*o|O40}_qzWih3^EWE8&^J-a|SKQnJj8yeIg1* zPQnS!2?5LwJ1m_CgPjLAdXcLnpMT7wll3*$YpHQZqPEKd6#w-(yt=62kdd&tNX_}# zh02?e4tUUyoxh!5h^eU(f*8L_A)-C~mqdW^)Stbp;Vcy7#7z@CJ(uMwl^sm$oIXH& zET=gQ_d9=gD@teKxu)a5mIbFaUX7fWoB3fGG#mvhhT>i@rpZ|g3nibq^nb56NpM5i zNw}u-V+G*?(GBOf@Hc1i_Or8J!w+viYjQ!&F;;fN396N{uopfrs4M=_O@356Lu&1 zjwB&EuKN|g`ORDs^U>#Vi+@bFikzwJcWtg;ndh1n8O3Z(FFeBwiURT zpS9Fu7$`^o)l+{}W|r(kpu-63RpCC*n;Da!Won-%Z*{34cP@shXnBEfGWr8gf1pfA zS)h+FCEW&5VN$1iIBS@R!adrCET6tf3-paI76Haku(zz2JeI8ys)Y}`ehCn{op``Y0aVhn(mevnt z(Q6`f9%Gc6rS(KG7K?xMxqi5$b%0vxeO-t?pPToa0hLK1c*6;zY4iA}x}dN2r3(CV zk;Lz#tO8(ekyQxfpMOeaeGU+HE#{^r6bNxG5WUClt zjfl2OYK@cu7k`FmGh}#JCpYJPyWoAN;C;8?eGlJb1z_T8a?(mt)|9Yn%fb3Eo+?%b z2AGF+d>{iqgXOU1u1&5I@ahG=78fV!DRp02Ve*2 z_T+AEDIe+HVX(CGEM*8Qq@K^f-zX-O2;s4lB7Y7k5v^Zc2!k)9l5gzNzK;?@j3o&R zI|PA=)S?`hThV2Ux{G^iWt@NoICgR-X_xhzYkzqNMk3rdqtzgE_R?m^7+pqRq!l%O z?R>>~*R4I%O>4Gyy0lC8%|oRYrhsG<@LtCRyw|x8;1uYRg^rK!13c|yO*P5(B?;>v z7k}2^(tj93zGxXk=PSpwl)7d6gLPs5kvo3g8`3AlK8LfUphJLn*R?av!jPI;f=nSC zB?1b;tLGzC<&yf)_~&P0m`R7pfRkqu`)3cGXBQ21aC!3(4XrEn%(znOxNCBG6qK3c z=(MS)JmZulQ20<5%gI9XPZq=qg*;;#(tnLYi3p~^ZY0DgrNOu2ba3Y3oIICk{tkI8 zL9@4?Wh_GUSkbF>0j_&j@lE(i1;1D%qE^-7Stq|}#jtIF2i>aWjRas(8r=qWSV0KT z;Zhw`8(6pHRjrXD;ZikRD_qyDS_du0LoXNZuxh~~2{#YBfcqnd8|H#-_m0GFn17Fj zPWRa1=C4|}aye!RH=oLSl`DV?xKz;03buNwY5^7x`&_`oBi9YjmRA>fpof)!D>kXgDXieYA(i?sTn>hVxx+H{ITm=Xa)? zhV%E_p8B0TuDRM%!}&h9vti|ejQO24oacG{b=>Z~_t$X#Z*G_E{{7;UyKFfB$nCXy z?b4FHHk=o^9S@F`0ABAY1rIYCD+7jmb9sWAmP7tQ^CyXv_q0f+g3hZS~13UEFy2A+2;F2elv8+7_rs};wP z^J#8SW!LGDNr<-t9`=t#hJO&_t)PdkepP8if{q1wJMeDjc;NYvhn@0-rwH7@i# zx7BrzMYNE)ts_Qt{|>NO?9PGiRhEl1=tA<&>7YHRsx+iK5W;s(AIH;6R{qZErtjWQ zH$nu@>1j||g|qe~q;Pv@UaPW7p4XWW#B=&Ho$#;Jpe0k`=ra37w92)aYlM-7c8zm$&09e?14KWPDhYCNbu~Idn|fZ*~?{#qIPe zDCSDH%it!QVc`DuDu0~ekx42C`Op<~I5@7u;FmGR`P(e6?%=4!A>*3Og~IJtIWTpo z;d&oj239O|J6?IEMu$v7iVZF(=;Z}hm5Nr|JoNTk6`V6tU~}->2kvz&*a8Iit60!d zpmQ-i@G4l#Q-Jf_Q-)pz<9-Tm{*D`VdJ2~oKV>~hqW%190Dorj_fVW)SHa$ge)rLy ztqf12XZut7`Qh7jrk$`HT!;Qcjvx5idA384zHOxj( zsMp^)@bPsu@ToiSJlN=0bTsIs*oXDB9WWi{0S@m1I2Re= zU62vxE`MQomn95y2`{WlcslST(jtcs*XqVDkjdEwt+q9cnjPh;4_o?eNk>WT#yp)> z=;W6qNXjq<{>V5AJtaSek?%AwN7Z#pNfnb~@8awKdK?#ZfFV%l@beL=_meyP$}=rF zO=T`}4ft1Ou$1zf+NV#mQb?(Um=to#;K@K8?0=k)Lyg?PiXv>w*)t`Il5Co(2sZ*4 zw`Bwx8>=uMtDosp%4Gl1ydr9ATZ$XGvO>C9y!}kXB}zm$TlKe};n1Wc8;>qtMi)Rg zn_5Od0S^Du^tW3$?Z=B10;oX`AR|yGzlI-@Zs3=C;cgF!YoWJLf8}05@hK}t^kG_9DqknHW-xp2-?fDhwfuEF~%HUq7(r})anGxO? zRG$=nReD~-k1?-?^M6ZD4{s-qnjwBzdXjGIBhIpcfe2+MiTYx185$@2Z^f$R>8VM9SV$I57#flzsnpk27fksQs0XAR?!YVI0eF=E&FxwnTD} zKC~8TPQl=cSiO)>!*an7NWQ zO}A7NS8{67H6`3_H5|7==_@_L){A|E$QYmeeNWk6riW0jAZAwPEXo0mHe3d~hDZYA z%&z?PWgs%iAU-!BvHMF{&ck-@Bl=??>i15#N6PsNzZ8);jBuo~^hEGa@_#JGfHf#k zEK>zgt_@VYv=xAP*_=Cx%^cHHZ>AW?iB#dQY0EU=+x=m;MmV4r<0DL397cqc2SD!Y z2G8oje$!xpuyA5<^q%lbzy$cF*$ltg&9ioRc$hWB<1KT-7G|rh#S||wkTu6EU@i7| zXkj$S!}HP>d6AaRXg9_=sDGw%i}fBSmv6pLL*+HEV9z&MA09t8!;Kk@#T@h4QSJts zG`ayAqTf7-Aw2mGNyQ?VNFiL{h7 z<7~R02g`7Zd^T9#a+-K#W1(b|NX#lfHQD4dJ0Uj8oA`sMVdy*(n}0L4qUrNSSvtON zk>5Wl`ab4V84%V_#0qA~C9#Dnp18Rv5GLIJEDWS^pc%-sI1py6|7;v+_Ya1x(EDG2 zgM4oApU4YR7zlGQ5dLq#K>j`m|2OP|FrOcW{~P#Wn13#Y{~OLl?E=;+N{buVJRK_4 zud%b#t!xJ4@wIFo%70VyhQ~$}7U0B=$U^)pDAiZ=I8wONI;JnA_0W&>JuSRVE^4W& z6zFZ?E&@GlvwlGR#g#%f3s?@c-Ed0Sc>q{gg==|3D2xKq_cX45^ZshH4EUp_eW8`R zZ_`p|w3s}_rQE%*rnnXAYWPRHmBveAoW(ue5}&Cn^=DqD{C_o~TVyT?mtfv_CC!b@ zH~O^N;aap2+nj!Tq9@_;8%DX#N%#a zmeQ2Jff##c=6?cK)-k0VJhK}Ejk=U4gT4gl*HA=Jzoy2C4iL#m(F5Y4^WnqW&lCsB zltV|^p{WnUFFvp1_XM}WfXd7wDl_PJku`fsI@#Z*mlo&5vb>@sa<=0U#^w_bZ^yqWE zJ1UHxZff&qk@E5=o=EKGQF<;pz8*)+g|3|o=ah2#C^fCv>!b9{a$G;|Ff+PQFEhiG z6G+)f#(!QQrRSOB3UUwgB-eqG^G$h$RG4z?7E*fFdA=d{IBjy7C_nv_pGY+f#Ev56 zk&xpp@)3|gjw6+jk#ZfWjE~rNq&!Lt0)%p%9g))jUtV+V&y{}@t_~}zB^rl^v0DUx z`9^6R1t6ATU6{)QX`$> zi}rK6!F;GRNV0m;)g}zRhFRL{`1hf;iI-|Z-3WI9cn^ws?b@Zpu-D#5R4+Zt)z4wt z*RJyf+NQqL<0i97`vcYpR?B%5PSOqjRyQGV}Aq_UwFzFw&pyk+FxWR81W!K&*q^{PpUY7 zfN9ZEripV86R2wgB=z~+9aBzg^*>sxlqntmJbo(>``= zY|1wqRLm$B85E3og~7q{LFZ+lQ0jLRl!XtR4FS;)brZEDZ7`s$Zf=9G6flN1vVR2w zDKTc5E zBZ%>H7&#In{|EZbcymX*TAr;|VX{l_@@|KrZ}u{hF+3hAWI-z#OHpoCDc z1#-Z^7|dWYJ0kt(o<)fyOMlk?0$E~=oBa;rg!TL5Bnm6I5<-Rb+fQ;u_K&*p7$eLG zShlFJi}L_^6_`pIj%OWEEz2gcnqZFi7g=FxAMY(5k{LTqL!6k1c-LQ zFsjKGMpM<-Uppt{Ajjsp$TXV2WoGoZBhd1<%%m((jPy`Ansx?Gf`4Fby5EM2MX*DQ zf0-%gjx=uxZAhy+*A|;!C5U0g?}z&5ZmY@+@Z;o51XE@DE#>QB=3^7>e#n%ByK_n3 zr-%L3o8U5x_Pbjwg}xvA@MN>Ys=}6vKkZie^r2bsy8r`H$NtiiN7UsREYd;r$R>Y40Oi7 zKV4dI)9v?-F5<&A-Og10?gP$Fczx z;9dFQIwu_~b&Pk)v)v{djp)~h@;>*eBSCStgO$I=;mLdl*ncbV>yS4+hTgA%^T7KW zzJXt(I_Pb5d;1jOI_m(GkKH@0`vib$5(!Ig*U`#zL)^kw_A7}IXKCQzF8-nF+p&k zoq`*}+^v`{`Zw%1D_E%|U~3m#Z{Ep-2|ONuDZmRz6MuD$&~ING+XR%N+43;w3;3jW ze?H$qvxdXid;TqtPL_$rF-0(GTx&r3nlfV`-9-=h18B@WiieW;cENV(-!`2Se|8lQ z7_kovwZz4dLzv^r1p?>Pfbu{DYuvWZBw<4ntRM`p0~q#Yu$~D-y$hF1Cj!cVe)b!f zCG-={eSc9sb#vI$j>BOmX!G~nse&*J_U0XfE-?Y-P*}q#ZnhyO*KkO^4c0&~Ga56Y zQBcM_CXH~-)EMKzkHiBQ`4ma$Dh#e^b8x@BDm1)xx;q&8YRe##)torB)WX8bge&;9 zPAhliU(4(z84?pKMOjXKf(!E{&koA^K%C@)oqr(W38>6f^+^z1NEQ8ghXO}}AK;CU zU}lFMiil$*5J#zj!#csoIE>w{YKSbB>Vd{ zPT>MS2R9%Gt^H+#sBFwmPS;`Z{zHSdEWm~{ntxD%Npi=s@3bFABVut+#qLO2QpOjU z#(xgGd+Bc*f=RtR?2%w4P}Sc;^d~e3k)Gw0A3l19_N<%z6J3$`+W7%a8!;AVvGgx# zts0o+V@*5;aEIJ2A}WtrfP+YmM5qm{t%Lv@1Gn#P4?GnJHk^~gkKSXvubj7^tzhkl z=kPi4_A_S{V9u5>S~Z<-W%`480IE4`ihmm*4t;|?;BX17XpF^_(HMbaAd_xG?-o{1 zGJ@oL;N6>*Bw%6${v{rY$)^cl7&)*EkF@2|*W?je#T$;qwDMCH<#+-CuY;ciDLRsI z^R~q0KSWJuB6t2+?EG{5^5R@2;EM@z5u87!!NIiHxarj%((fb^EHMBRynk3S zS!D~RMrFbcKH(%lWzm#ISgab8z`R)AaXTnL8O5Xi@l7?WZp4*vH*uYy^mi z6FRX75A!hMpT#~xQbp>))J?EmV}Ef8(W0Tm`5E^&pM5wl>)sBMepLV<(7`9X)lm`x zK@&Ag>^Ou&5H>#AC*plpVF{A`R^uOwP@Q~WK{Df%n;8-Mj3*AVsSqh6^ZtnN;7je( z4W71F{&Im+pMajrzl}EwNq2Pe$6Wz9-e(4}tQIsco6Z^Zw65dsV=)bg9Dlbwr4vi& zlSVRQDe?_1LxikQ6=RZK1$W3$fnk8s*>aLO6G0wm-E{hMe>U&8NqCPAvl%XW2*-Tj z&pBZjE>_^fsLoItS!|Ze&3hIFPoDqq!1emB1L_V^!6@m~2aX*gVqkm&%(KeXD%Fm$pOZZoSCD{g7Y)4|%E?9;D^VU)Nz;781i^I|pA|Vn6^(*I)*JX%VxfVG0U=1f5`a(ne#e;DD zU>wt#|>QGWz9kBX8rY-PPfpKd;prAYllmh^xF@a+>6%1G?-{6|2X&l48oppW!tP z!}}Q@X-(2%#^F4_m4DEJGK~_1r5y6~xhVYMaq)qqqbze4F%Gpp^xJdgJe(t{59{Rj zG^X!57-r&pRj&cg@F@d>{}FTjk+`5(Ctz`zBZ|?$p>~Lv8>Gw)1~v&wB<^=9Zp?g4 zFG%{_?dIUT_t%&*auwjsG&y6F!icytj{!bvI^SW58um(WAb&4^3aymmx26nKYJbrT zj__T$sZ*Dc^UY@Z|7Y*r``b2-{?Y&YDp2+OYAT^9k-9Un&ri1HSdC*lmYhp%e@Ku7 zCB!5_1Egd%&3Wx-ZhHe3Bq+&F+D6aQSR#SF%+Aiv&gDCHR}d=Xi1pnnu+Qo3*q^h}>@zeVEkH6A;rr%+_m(6o3X6w7$#l^)#G0yRt-Hfw6` zc}cRenzr<^*lvHl{h(&=%DPf_(>%O4E9JCl@zh=sKMDqn#|8HXa^``$RK~$P%8+!IcNe^&JcSLnk~v`dux7JDwy=z z-%MLq3YCJ*bah11>O>9ai;HcC!uxnNilOPj5X-TuFF1(HA#{F&!C4*^mp+4f_8ZT}BdL!bfpTFPHk?cF+*cYL!sB{@|rr-6@PaGJA zfNUZmlO39@CxO?+@!v?vq8D@fwqDF=92<#6FJXnVWH@9^Fd7bF%4Iby_YbO9SzLOe zm6dXAt>6}vPK+K}sf+!ct?D%gm(HWZ8@{Y=;(y_8bx+=s=`8N)aFv4di|!L0yd=^@ zOZ?8w-PQ{AE2Sr%lBea#IWsUD`tx(!@0g=i){;l2WWnQbr z5FBh*A91Cyft?*YEa5KQzWn7RCx zd4D}{K0l2{6se@#5~4XnyXRrnZhsSIFQ({HeaXt;Bc)igVOaiDFVor4rVSFN=gKLf z-OzTwxj*Gm_Q8^yMqI71$@&-Y$tVdyAIu5icAI2%?o%8MdRHu>8SjlEUoVCc>C+(- zDzw{Azq7)e*CH)6h43c`q{IS zCnw(TUc5d#e&y11nq*NtNG2^7KX^5RK~F=No*pBiUE?55qcjGg_%B%NvxH7^4@p#* zK}V(*!JDUNN6#N0y?RU|>AX7r=H&G3)z6)y$B$nfpPrfs0&j>wa1o8Bpfrx+9)I3v zEYE4~`5)!^81MBNtnQfgMmzEVZ}Z|XO>{5;g8y4SV7Qgwy(k^PUW1Jni5*sX<$1-) z+RoUA^e)+F^|e`i*E!=g0|hmnHG-3wMoH(MClS}P zKp(h0v=a;tK~pk*F}V)j#}l$xqZJ}a5cx|FN_pgB-Blwv;z9@kJ#1QfKYvNCsE7nj z8kaz|n??OJf9Yp+_4@cd)=|r2VbJl8JJ+158QQE7buRTEDXCYjugpPHLoBTO+}h#=`)8uY45LaqWn(@GmS5wvS7xRs*L&GYQ#Q z;rJEpjpqc&4Usmp@P9p$oNUnS_+<_Woe{w=lWYjXB)OBh9nc9z5p;DAGZHDdN3LA~ zESI&dT@&0FNkh&ebOos1P}tK~vjiwG#vaz!9sZ9};eUR)D-OS2R7v{G(ra35dwv&@ z%#lxw?kwq==&>#jqRXudj*ND8>sI^`TUQa+g<>>XGi34>YkvoN+7%+|zj-UllnQgu z@{`@|*rnOV$_vM9YY&n4xJ|4sxsJQ02e#{ydvs*>FurOJC`1L-=0kJB`sr#B$DB_& z6+wsb1Q^wc;g}M^Ke{%~2#Ek>e}Y^YK+`#ys1IrHr;&ISLfNM1DrK>VV-+oI;EnC9 zOXV))Vbof?5`Uga(Jiorv-fgnk&C@XC8LCT>&O%;b`Cw#T>FYf$D`+VDL^S9VTfg6 zK*N!ptOrJhcLbCAFh>Ol`mudO>!dcN5p)qrld4yCt5Xmhc``XTj>R?Fz9L(|WiF2@ zo0!eXN21?p?M|~#m{&;j`G#gzj9Gv$$fb?LR?)UpcYjO7UnBT2Vzy$Jbuyok*V>YC z&?a{{N|N`)1!|R%50HH<)}Wv+d+?{>wdhK`SY7f>b;a{V#|m6;Vv*A#<#>d_t<+VW0IvJDx|?K?*Tq5MR(0EBD2IuCUzZ?wL2GzESkG~%H0S< z13%)(x__2SMvh2zwa{ZwF%JAbdVVlGYmVfePX-yUjZX+Pf>Yv2Pj5zm>VESrnu9^J z1=S+rRgd!i|iv#OBXp*fSZ%TT`A7QqdF_S_@J{sqFC57UzcK4 z@`Z^BwPc}{jN{NJiyc8eWWpiA5!0dToT?I{qkokR4}~pRDywSATGBXd2(q%i`dmSc zhNO8Gal{emTfA7eJcE+y1O^KY4UU_>$?=U( zYVqZ#BK!+Ya<@8sI-c2Wsh}d&N`6sIGeVCQ=4{j0jbcyO)oCKLgDj-`v`>u?wH*69=E>qfw&&uudWkL5HUmPJN7HMaVt<^GJ=*`SE|MKbE$bS@e&? zJLY2|MNs^~m6wKse;2>5_7Qz-TEV)04Sx~8HR`w?G`F_4)>mm|BmeW@Mq}~3vSeh{ zS}6>#xG&6h$=-9u$mgIsI=owcubLolx4r8H{U-hq5hgDm-o3Sis!9VCe zs@959GH=z&AL^vM>sEZ~#qT|)LMsJRs4|(5W^2W~<}5X$-BUnfaH8Ll%Qe|s3O+BL z?yGDs#*SXy0CT3z>~KBMM!v$OFMphfA)=VL#kvDeLJg@-W5V$7!W}I$7Y=Trp)c3y zR)pzMeoLqli6vdaZ3SBIa=J0aRa zWn~J4;ocr5y<);~;ij){$Fe|g*D|c|Bep%A72Lbl`iIGOO5CB*HQ4qWTz_dI%7WHa z!0ViBKvYPc@Ar~s!WTKRT$<~#NE{03B=^QRAs*G1#r#0TJC#Lv^X5c-3jFT+6Z#z@ z-TY=&>9$twvZj-H?Vr25!TCR2E_Kwf8o7w#Mx#-u?8)^Tw_Q=ex!JfquPmIw?b`Mp zZFe>9itXI0?aWPwQJJxS_i%)Z{Yl#{o)VGfHxJwzWOHBK^?k7G%0L6Xw$L5HI z&lMk{5QCf>J0FdrtSxD@5n(O|nL99$jL;?~Xp9(16hy3Hyi8QNJ0GmxH6q}%~iu9mv(G<>3_kaFH6iz9AQ6i#@iQM8g zYE}`(vH{uzJVHy^hj|R@;rS?>pupBy`TUv;?n}FmEI8Z?h~4W!Z_d#1_R|bX*lZn; zaZAPKakmSHUuOn3!NXUetLoUkaCC)5?|ZZlqDJskffB+?#C48^OCnd)!l8+4O2#E< z8sArYg6yBUuz#j#LN-u|4CD-NnBs>yZVZZ%lX=!C4}2I;pu^cmAp!>YaktPF2njKX zJw94zbJzrxPmXtFN_aPbP(TNX%Y1Z@w+THq20Glh_VS)BY9P)^+wg54D|nbD&6+dr zZ;>V{@LIyoVMAOd*sTo-p$V>9)8X9|NJ4o{nTaQ%rhhQpf&uabHL`$nA=$OT{lLKT ze1%}iJ6u1WSXJV^gDO(nAbSdQ98n>Srm%Y{NH(;khy<`vC|=(JC!kb|dl}*^B>k8y zqa?TWE;^4UQ5w!HXu?bqjToGeay&S=Q)1_+4~n(}Y71XUR1$oumW~3DMsA2L4O2q7 zf#n2ONPis#cB&4+656R`@7_*?42ap}B)h3RW&{0_%YqgFK9vm?lx2gZ=a~akV3o^U zun34-gef}6Y>Mc_a457j5|WBsC$A!+VM=yez}ammqtyCsUSU+Qj)9-RAqR7!%r0n8 z0fnG+wtApq@&5LPgWPL6|80E%FT9e)_%*-g-tZ)h z?SJ46z5G@1{2fR_Oz*5Y18C^^Ds&DTCyA$}Hq`y4%j+(&+tGQHCzpECL36U_?L~ER z31I(agOXZ|;10ulV?FLLhWmWxvPX_ZN@!_;kK(_+^x2x1#tkLwBdkG{O!^400?AioX=a=1D9gkYfJ`@pvA?chx0M*4}Y_?)Q(3Is#!>RVcmL`1Cp$xJC>=%;jdjy zkgkat9;U{FI2*sEz%>K2dvy#pnPT=+&Xs)ghD>uM+MjF1o40p#QA0JP!p42 z1!u?tDzUWBD2@n<9dcfJ-HuB}{hqRA=4me(B1m8|jVQ&M4oy-SuNThIUg!Ud>DgmP z5O79;g4{*QN?L4m9u3f)U%o?h<$vj=Xd8}bSNZ(G-?27QK8t@5!cb0N+Y+D9_89k$ zgs1x20-Y-e>)^hTQy#_45sa$wad_Q}IyO*WV?Mb`!zm&J8o8(*x5Ty?vX*ts;#THc zIqXI)FKM;tQ)kg8rnL;C*>yX3;ch>^O@hWWh~T0{8{LKHA=Q|*GTiMm#ea_z6~`?M zsq81nl$6jU{i@7T;OC4|(NSXHZ)yN_wr&g)1$>W5<}g@F^wh}Aqnfj}&Y7EO&AsX*YwL28ms!i0U}Y)g1tk4dZMxTDp8_NFhGXz@ekk~BJHVCsm0NsLP_m`$gnU z4n%hXqtFt!=K@wgwR&5yWmJWhGbe}xOjTLKt*RJWg?}q3sf}6E8KR7J3<*Vbb@6jK z6T>(OqFL5w%XH)dD>B+z z`OdoevI0lF`hWDd#aL?2HeW@PQy~4KyVdRl7nxf6*?gKwuWJSp8^P%r$AyxDqpTLn>zD@TTS5CcNjSs>ORx~5^9WjJZ> z6;a{F(>6jBCsOv%_deMu+z<>dQ!rp8ZmW8n1(Jl@*neuvdS9+pmLNlIG9v%1dQ9C4 zO)V~iDG+^(XN;y1oZ;Wknj%qqX*>YhK2+{*jRV0M`48o8Y9Yv+xsXU6i6GS`Y*|o- z{G$^|Ef1$SmU$@HfRb}o;^MeQk9BAH30Jv?8T$l46Munl=#U;e8B>3SSe z%v4^%ZJ_RaUuxVs+drkT=j;zFdEIPZ6&(=yk|&OhR4}zjWn&k~4GfTPcqq&(XTCRXDw{2QxP4V;;Y@5}rFgGZqw0Qk*uIw$qA{M2ulzsd)`<4oTJ3Fzf zpTd>^xcyPQ$|>y3cmZQog(t0ajMnbQvx$NrdxQ>*NhoxHs$y?=aZckT`Xm%q(3;rY{}St zgALmh9cl`HiMO26W@3sZHjhbN(UKc_E`7Dk_O?< zUf5c2vm3U#U2i#;Tn~S9Ap@sm=$$cfp`cNbTcvx&aZcq@o0oo}=+Cs1EM^?x_MzqQ}GZR6wcW2d}>-DdSVO=U~KMXdZC95kEN ziyD=5fEB+c12&O_X&PRabhWp4>n&k-bxA_a-`C;J_N`gh?yJX-V4o#5o3^%BsHj!a z<1z|1Tl@RBp4K#(mbAXT+qyL`gp;zd?`-Yenn2^QZ0tLS`_-#8mA4+3G=IN)2hGDZ zw1cHB%c`XvZr^%)s4mK;vA@4_Yk5UXiYZQ6S)DXEH}0;JWv55;@Nla-Uww`6t_H&DmE0jQ8Dxg;PN~mUX#lWBU97Co z9j|Vw;?ipEZdX4{JpE?aFKLgQ6xty?H0U+EEWvvNuHN2R zLDE(k2YfKA%GKL@E7Xr%NPE5JoM1o~v9jWZySJZkS)a?8Z3hmWJL#OVAk$0WGrIlj zRWGf-xO1z$4BAq=&Dr}|hpY~rc!+}-P!YAxB$;(GAVD^aORGxm93I|Ejyq#OyaRU# z%evoft)LlIBLQ6dqkr*qcCEDT@?EyOdplW5ox^|FD2%3)QS{MFzHHfd_xEl;XWcDT z1q??E?=!8v=Ju_&7wERo<#alVfw#4FrJtlJ^ja!S_jXsX095W39S9w)-g6#d9dTUx z&g^>ZckX5b-{7Fw-ag!^ z?vPlq?-lpePV3IdaKnwYvv)T##$mE*TWfb~=T>Tow|{Hv+`>Q}Eah6({q_nz1Yh^s znveD0VYX%ctm4C4*3XAI>XxOexd%taUG*i7tIl~EVJXE9dg}SRMFY5{UBov4EPq$E z`@7hfUI??8MmLzTJ*OYxayhVj#k)(q~ym z`?pi}xPPPQgY29R@pW9fg$`P`yCPcME$L`y1s~?Zj^fF(uJ#Xar&wqg%5tC0_Tl#S ztq4d7y3=GTzlD}>6|Ze_i(`h+PGX_p^nJ6o%` zsg}SY5sxSg?X=>SND?1$5^UwSz0?C#vo9Gx2kD>CBRS{M+uv$xf} zm4Eck^~^G+V%M$1yWITt6V>{^rS&e?Kk1FkZU`$K^%ot~dj|)%+ISL#rhh?Ocot_c zkbW7D?eE-im*EhvDW&mGJNt(Rw-T_rLt(0TJf6=Gq^_jDgKgU&Ex)}}&#q0w*#-8L z%?6v+0&QA7HzwwITw?$xd;_7l`iPav0 zcn}PMR)g1I+}CxLv}}Jlh%+g#?$pBOiua)vc0+>?(QQqc+6w5L1RKNM(oimv1PF|z zQW-;56AG>v6+DJ2COBJm7zN^r*0ZJZZqaZU_hbBcgIZ(yFqE{;m+m2cPd~-#x(Y7* z8X=_Y89m_~sSF7fW=NylVn2si;8#(!$FlXj2T!M zn-ln|!+5nVo z29LX zG+Hb$f^_KK%T!&E96ysRYni`)^K=Kq?1f0nBFT=^6q)eMB@OLSdmZIzN_rZ zG0hU_Q=DbZ0&!j}e9Cd=@QRCRDdhby5KsN%F4M+VZy{So!LbiMOFA1_yT_Sh~6VE)uZt#^!|jIz)gSa+}XMKcQz}u!Q7?G zR0IxtcsX9}i3dT;w||^1W^tN#vt<#+za5s#rkAOdnaolO|u@f-YvR7JdLOV;Jq{=tbMqKNrFqjxl6p%43mgK zN_3xq&boz`=u@h?b|Da+#8bhWofZzFI9!(x^SiRp{*QkVS%e5CRfbB6&rDy@$$mhv zscMjoLMw1@jr*q5qpF-CqpeJCf|mYlCb3q~7*1yhp8-dMIRmlokOB1)Cu1B_l93aSGg~+CYZG zuJRfNHvi@Qpy}hoSDe}v*g)zwOT@|>^C_2mr=ofE(r*(ja>Lfv;Xs|ELd zy0d?*ryXxkNR1AuwbNwk%(VQQV%x1nJcv)xbt!*gwb^0`L--8FnjuV~EiO@On$VXW z!hceRM8bNCSeocY1T>u7286AMoAQ&2mSyUjhv1GsXxGC9O+OQqzn5Pu^&|zBw1dBU z9X`H=rW9nuIh z^}+fdakt3WtPP?<1m2ug+#Gf&zzueX3IVCMJ)F3MRrUwJ_$fCC!F`l$5OQK`9(NTC z=RI`8L_^dVIK$5y`|9rfa}*(iSrU9MgF zZ{%u|HFG+QwC+)1)EliuZ&XlyN(Nefz~#jlDCex1=k{_qokolT#Ji)gfy+-r{pJm} zyETW!<^#lO&c&4$x4d(5nhE8esv;cnPHvkLIa%==>@?U~xlT4YQiVfk)pnME#8EPF zJgb8!gFA`TRD{Pa<30nihhKjc8cn0~Fda~M*i~f8V+9mIg)r9`Kc-yzcv~goCmEsX z5fx`)HA&Z+izLO1uCbOW``YX(X`tzxS2P+JF!-=P!&@`q4Ws0XXIZ__cu!TIl<qGrGWjAtztCkxZPvqq>4+H$K_17G8gUeJmdh^E`)PP7LJzIKK#6~`Dz$;syP$8A zV1V(&!}#NTioPF=9F+Q(n7|_1UU5Vc<^hZ;@ly|it);9ck8T9bcR7agauNRcqJ(nq z7N(9HAxrzR6_9qGhV_;CD&lMMjB@L^dMDp?rEsjfbbQ0EdmGHLvsqYYb2r%M9M0~E z84ni3-yVhlGYdPbsEdD>NB3Zbc8n+ z9v}ryQQ!B65Pi2Q}*p=%jEYl~c}o5re}%6%jqZR?}{s z2yGqXF-@lP5le}f>kEtf61IH`cfx_xoipLr)A`Kug`F*n>W#4_kVIob#qVK?fePJs zV|ef4qGzce)uMl(y}D$%x>jm}DA*l5v7%1a3?6l^8pU*8W=tr%&RS9VP{H#E-|K(-N@)nI7FiGQj`VhI*+7ax zOC)EFOHqGba7lXDSi2^y3Nvf~)5wnEOps@&nAhZ5vAt<&xfkR1d`KSu<#wtvGj2WD z^ILN1nm8JDFop#h|LbJ~rdazoyNaRHf75h>{}Z$@c+TfwQg1Kf2Wa!_LCQ|qD{3P;YRQhFcgib>+)EIZUnv!2<{j2j%iT1JT%yYBP6T|!p4Oi4f@F-xv zZHBdn;3!b}Lt)S#B^1#Nii4Y@b?4j98*o>M4)A}d4LOI2RdiV_5aV!K`#0%U|CZ>q zFM{&(A^JF_T0;vumd#xc4m_qQ3^e2J>$}>uj>KrREcpO=C|nUeCE{aLMoum z^t@pg=_2q%!?i!vZfPYl?Ud|qi>GlT)_fTd>nrc`YMZyvJxCMOTx^x;Go@k0=XDhx$hp2e8qz|J)Ot*;n?m{l03}?=V(qlKQ~sHuzF# zw*DXH^jG8kdg1wBTX&f9j`!r}J&SLB^xl6&A-=`V_zyYvZn$!b7CcsGO8%71A}$yQg?)5=_JWbtC*`qU3LXZhBdP~x!!fI zBd0cU;d;u=F%UJFx!5(UX(i^788hGomQa{)+`6AHt38Rerkr}*c)h2Eu zIGIp#po+@I;QTC`W65E39|N%kO-p|wn7TG=M<1-gD$JgEB5>?-AY^cfL@&3>++s?Q z5!0nGQTO-QmzIpX%?>q>(k+;CE`er$EsU;t`{6b7!;_|4w{N=jZo#~I33?o(e#S0e z*?HSRmS8ZzKsFFE+*q~)?bNyiqS!Da$lzfNI+fag#SJITV{`;(M5;7TIP8C-4<&2U zq^K*nsOug)LiBHM2GJC_6r|Ol_I9o7rw^vXs&JtcCK9KTf%g$K0Qe%A)`OB)bHGuB zb_Q?P*58!~blXe)JBszi5MzsKZoZvdF;X11bk>Gv>u)DANQ|QUAl?NEwk+|BdYuax zE1|vT_xXLFcc7B8#!Nx-bq0SlmM|O@d=yhCl3OHRYP%Pkk&~oEqsmtfwP#=90$*wq z(C&&4u*1>u<D z0sT!uUgkZCB+d-`F-9awEJi4#tf4k*4s^9z1Tv>#2*{*7@_m;Fny;uY_&Q2Ax9Pk z;g`*Sd&&IW;g=LmzT-iY6?L~TbU#{0bNOQ}TZu1!YzH3OU73FzxeCjldi@H+cEG!; zki&uG$`R%!GuE}Je$T1n+U2*hGa;0X*kRc%sa05rohAFmZFOh6O0)Rj&Z^Ds>{J}`Z{_vsQ@**BQUpMrT}iZ-l~KR#pvzXt4UjE- z(<tvrOK5a2HRCR zX!&DJcx=fzs1?Gh^u3wl=qv^*A84NZO9$EHa$fO#jO7Ro^q! zDTOuD?txL1!yEYoAkf~y?v@h+fm zh02PhuOJ9N3H7ZQPndf^ms(!~iVBq=DL*&0m(_z`fyjmIwVdIpxf*%nq3}1J4Z*L$ zuJ+%_=f5o?_JX18s-fJ3puQ(PM$pynP%v$E+D}xax6UXzk1MJ? z`$vCdcC!p0Z@dIe;_PiZuKAAn8cAxdr7OEa?p9#XaVlbZ2`fp6(4~qNTFQGG{j)Cp z$)77zODoxnG@hGlJIg7vmp<}*(Scetq&?q8tjy#NiSe*fsVcwUfd%3iZ339s6s2Pdc2k3L7G8bW!KC!FdcZlU zrLkt}hoFfT$DQd;3aRbZ1J#mS)pDYtCz;Qn>wLzOd9PgU;Wt5;58>^;Z?ZjTSo^qMPzm{=yR$uJ}`vt#d@&R z81<)Z={98j)5>(G>Q*_S|A&+=O@x2XaOcNEpbyW@O3n-V&OR~dgN4$%Lz3FONJWQ= z%VWq!kKUL_q@8B*AnHWJAtw6W6}K)5sbz3ALd$UU4QaKU-uRMDPW*czH9^f#@34~b zae>hZpDfs77Ac~?qv?b-(b%hs#@?llI|PsNskKoXWaU3eCDnJLqFRcd{||p?rmI@S zZmpU+<`-8zjX@{4sfudNqwwMuwA&26g#Y11_e=QS7s2*IUH0HVT$kl-FWNvwtK*+G z#M=}2Pjlj@({CM;|4&*L4JG~)wOqCbe_l=3F~q_F+S9KVVG>GzN^qD zR#kcBJ)6Ap(bAI@2yDGAFhqareiLzpU4Z-3uDxAcAn9$1oN-lYQ-JJNy7XcupdI30 zY~DO77nOwWSHTwI*}ciqkaOjsTg9g>x~)zz8C*vyKX85 zjG{vZ)0U6@swokRN;1$8tJRWpS68iStoGv)DDxGFL|VZh9u6a{+f6r#5*rxC+jlg% zIGeyqE%5KyWK`I$9JhbJNS`o0En;|Xy3)>*N7c5&;Z}Scw;fG#nN19B8Z(0KzjLEl zKbc&@*xGGGnpk?)X9!zSavOA{?460&&m~+}5P!E7uH`EnefZ>xT8C7QxJ+ZS+V&Q7 zTv%wLq#kQErrZhm!*t91H!1GqC1aE*O%)|1?8tmJ)rQEY+}@_RX42I8b7+ULwo*Z{k2x;u(gzy zK7&!^%P>-U$u*eRah7zjH0{k2N*C6rE3EsHgi`M}+nj$s%Tr|JlN%6Yd5O0iWnh1j zNLp^7zg@De4O7NUv(jum>xo0}U-!%IQKiGJsNKNmh_hx1RW!camA>)mi3=O%N8`Rv z)LnW;%Tr54fjqUs_Vp7nJO@>#gd9uoI98L!d4wMM$DDp#zwZyE^5yE&vvuXOXS@5$ z8g4Ii5>$V)>{Pt&SG1w7VmmD-@~0DX)u}9FU@|wtOb_b6gyhSwGB!1=&E~z=oSA~& zgJ=}@P@_Z*pV1~R;`56r)iu}ah1V4*FV%n%$Y?w#XX&+60uQNnIO-7_$#8@9h(;-Q zc&-mCxvKq_g~Mtm(}Mf*OO{o*{sNx&5C^4yaQQa&9pO$ z$FV20jp_(7Yf<$J0u;yVYyTq2;M$rcx$^3&_ysc+L7lC{OO>?E#k^GU?o^$ZJ`uxI zS>PKp%#9g=E(&;mE%D0#aXI1>azpcfl^d``%TjFb|}_^SmimC8^I zxl@024p*aB!C1Ds*eh+~ri`BZ>W^`R+Q5=`ws33#!154Yd1qJf*y0L#J#3eP8j zm%#lLgE1%fFecK;IhA&_T$K2gAR8q!W#$cr@yGd;r6nW9#*J+glf7ez11xw%m{a2xh>iTs!@lZ{X>z*Hfh#?mQp?(8)ktQ`tWQrjO7|+1%(`vuj6BV4Ny8-7WjkVcoabjAhGD?cQjN7JoQw zLbWzTUAvX#d@`RF$8bUk9sK$ier`=CHI5Py1n}*fzo>S8{fp^#Z4!$3;# zb~szB+YeHx7(ChB*+0;q|5jhIRUl?bvwJ(un>ULxvZUR^?cJNV3+v!-wza==3o4}1 zIJu1cEpKlfY~Q?Pl{4pWd*^>}?-p&N`K43F7Q4+>_4Px^({5WiTqSMp9PZz|O)9ci z((vK_s)Lmzlu|z1+uqq*u}K`C&O0t?^zv`T30iXW*7_+xPgO2|N2luJ^^|#;Xi5QT?ZL_IgkvOUPv{;d)L9spN{Wgt?kLiCDJnaOT5%+~pv`=wBT=iU!`i@dax*xl4u08Ya14u>r?|e9EhrQUSRxQF$Vz_&Ci>atiCJQWy=$HTUQe!& z!+aQTrNO(f6%vK7>KUbO}Skz-O~7MDJ3v zMqVag18je;WDIf=Hn$#C!x}C+uCio;S0&tb@Ywk^GKmTza)yJ^M|-vyCiH7RWs%sfu5b(kcV|G}y0#WM@1 zMaH6u;w=juhcr;QQQG6ATo5D~8)2-YVGs>N*Z_aLSV{)KD7Gx`kdjGo`AEV6b20$VDh7^OSTDA<2F1l+E3&RlpqbC!srKQ!H%3k#0C>mVI5fy)H4i z7OsDMLX5}JAm&&*BgD=0oj!>aAj&V|{)IVPuHgSe*qG4ubcB18SSz}6wu!r>#AP|C zH~$KIo{;xx8Nxatq7YMdatA@K~FjKQ$xdr?(Xnu9) z^Ed47erX0$b=vrEUO12@#B9Pl!XpuImvn!L#kvh3SDIX92z+E14|v0I)GXRQXf)y7 zL+=s{Ac>Q+vQ1n#&+7$R)+7G?sOraH_3) z7U41Jx1Vzf_zLG)g_Xop$qKkH6;^?@`PJ6}2z3HlJzfH_84SI{^PJWdXJhFjm~(&M zi($U$b)eyau24qt5VDJSsKov(P9qcTS0)3^aJe(1btV%L%Xs~{3ey2=GcblLw8Ene z9);_C$_jB9oQG3VNfl5=p~Jia)d+r!=*pA5kEif7%i#$VQfX6;+4>^6f<2vDatkr{ zX?gxy5Lp{Rb8&b!4t4-{=6J#vt2BQ)C*>E&kdDGBs3E|1UEuQTE~stOX@VKJILut= zhuKK@Y)%+zv9&}X8u4cDHI%#g^T7Y4@2LVoxJ@8TX_GnGia(_me4wT*;3T|a>3 z8XvM4{vO4s4FiWqs7+5}bGs;<;JpYgD;QISu0J@HGpAePaA_a7aU991En|NW@xsah zo#gAZ*ozK8vxwZt-Ja=4^ZW`eJj~o7eUekQIKmsBwvR##jtT>1_y^$;P;Ch4lmhOs8saGZO;6 z?i<`G88qf88HUg^rG*m@hT4CRCy4t@pW?t#Xa+Sh%ybIoqYn{1;zL zlGztuDCrUn+NRfdMq8^NqPw;@W!Y4Pl{jL;7afxoe{uP4Y6F5QOP9#xPnG4N!lWrrMoeHH~hs zxqIKS&lcdlX}H&Z%-k6a-~@sNi;2ZB*?%t5hr}JuGRKwDsjRjoo!pH~kh@=sG*?il zwsY?7gdk?nJ1^6*jHYZRzKBL>lawsLXmS~+$pm|Cx6j~{WAnjRrUl^BC~dcGZAPmy z=cA+-j)K!?FV4ge0Ly>dY;AApCmfG&VQDPSNv)u-q5B-h2rcFYSByC!pDq~ymqr|MumSRCg<3H|2p4#Nd@Rm z?I&JW_Vrg-)Ut&z&cr{LVEL{hniH{h7lnm5du~A(hP{UQXrte8b2{GOKiT4zY@y<_ z%wjihzhNz>`kxErU7*EFRQyitMIJne+nlA9RuKaj{#?b?R&js9COla1-C^bRT@YpG z%I)G%JP%@|U2%V0o(D13&NoP#Nj)e>C6ibX+;_uC9Nrn*!`=8#uK)eGzQ9m7{Pr_R z%sRBd*v|UZ8>dG3Ca@kf%!;S-tRR zYW5SDul3s^uC!lYF7557mAI^JVLoB?cTjTHnyBMfe+Pe0f*Mx)UBAt~Sr`O(H(R9> zR^2S-mEIp>f0gVon$T){tP_^*SDNdJt@TRwY$ufToFc-t{dKG4>z*73%e5eAsiF!2 zPwI?=1-RSxvy^tQ{M>-yR=h*QlWGiyr3y+hRpH>asR}QdF&{C1(H1F*{oiWtw?Ad!wZN?X4AJ_VexcFF+)9;*z-ICJeoL z7DK-6OAM(^%F;P@n!D9Q?DI{ZhZzukhJKzhvh3_{Rga9%x1U8L$^j~Adv|}QdZ2k> z>=8(p^gQceuwQAe%iiIQJ0M8QNdl62K@SJb6=Hwo{XNV_Bg{)nJM&2v4oialn}^%2 zt-I<7RgWbTYc-qAo3kvf&7^;US@0lm-ghpduykj)T06~~vlw<|_feWS)7shDubwYa zybm$tmSeRy+D#=*l*A4XAU8eW&K!@<@qmORFCxma)`?v0=u zAX0w`C$|n-TQ~0p)2m@R^J!U9*X}L03DPP0IE^_vyfcf(pe2Umvc9(W4{pv-a>mm( zj6TNMtV95B?=}x^J|oqO-uer>+COOC{D@7X4|8;}PA=YK&Bu~14i8sI^eO8ixy%;y z0Vm?_&G(AxV_^^5ty`=KFja<`)EEg7mZX1R?dplQeeG=R+?>^@FMW&Yk633G>Z*Oa-d2_|y+Yu}tscj`4Hg{S#=fy=6T+)AU z>oz;u-yz%Z7Hg<`+pr^U+3&nJiu=nJavzlKyP<2P?hbZZH&=vw{VZ9&!<}2~^##*g z-0l9>_Rej$N3K6&8vF+HEf+8jtmpR4MGh)D((^0|(?N1IS+b)0J6pFnR2TJEeagGr z+c)2%6Zmh33~*)o@4?poc6Fxx8gqY5f@7-WfDvwPe-9)>zO1LiEsI^{w@;Rc%tPAD z*%_DTB#Zg6uSoc7Jekfh$=IFi34K}*p2Mkp{E<bLd4 zFN4+tqy?2L9$t6Ypgr(tM%I5DsGgZu)ZJr1YMcF-;*4VR`YY>kSt}%mzSq#eJJvTH zuG=67}#!q6K1FK zhsz8d-lNZwbKJPOWtT5e6y(2EOA6omR#yopoR(%#C1~KoR|Uq@uf%D89_s@pFQoX} zm-MBGs$v^3FIWM21*TRH%qBTnf1zcf@6)5n;8ckv zn+=I~6dc5_ZnE<6>_UHjS5Mk<(v0oVi|1#rjvk$L9z8ocJ?%Vu@lEIS*L4tk@cnN3ZFt*{KL_+lgCGACoi6N zULC_rr)T-Lp0zq>FFMbfo$pQy{XBnhcHDV-bovxtK6>nF!R>!gKYmZz% z%B;cB(neP$av~7#$9h`7@&NbCJ2fMy? zmON{I=Nx;O57K{$hC`4iz*>(;#Zt-fgLa!B83t-38mELbr+RRfkhffY4bpj(2~G_@ z^=K5v<7n`V!aR>SnR%8{VuC4~4PSLG;6PNOnNdLgmQ%^-Q~nCGaK88g&-;MR(IJTI zFTOAc1(V=!Zxj+p?d_Tf35+Q<$vc>ngAu5-?O0-y6R3Y-^>c*nI)*AhIG#Z^47Rv(dE-d=_&e8H^L&NGUxdM@T(G1nn4I!MYI|#sD)4X_DQ#BrsV|VDjf>7>_6e z)I!YYC4+x!J<}zV(MtjE;^2Y|6=WN4Lyz+TA)Cyw5(MUV&}84PU51l*Gz#CYf$AEk zbsXUsJ@q)cUx2$LJO3iQj5Pd90&VGu(a16ND2pO|I1C06>?t-MbI)Dnw8z!H9~5sT zSG7i?vEGGdJ!GJ1sd-}7F!DJ zZJ{Lu8N?e=m|GAa&Sf-0@D*Jclwii;S5QO=Q!@f`4l@5G>f-_=A@nQ?$-JR97EJPYpEHx1^d9J@iRPo^3T}%d z932lf88w0vS~2c)7z3@;Rt^RUXZXc1>*;?e!pyD*2#-TDFwU}hgc*+C#IvXK9_O8A z{WOM!BgQ117L{vf=TPeO1H?9v9)++}PT2y80nJ4qYh)p8+WhTra680I$1Lu}@M0VZ zw$ny%{Ba6woGA*-f#(!q!h&pUtG7^z10ESkPGf>8)-2cZuV50cgkUw)+a@?cePVwH z6u_S~wI(*Al;Yz;4?U6=d>e@d>#EJu2sWXm$#-cV`v(EkE+q9oSu7H$?`_VdsUGcR+$RwOW^k(MKQxeGI zwRM(~bo#)R@f?axT}8%T#0s7 zHV4&A0N9>2Hy%7|iB1@0no;!Qp;U{|;uGH@wDX+wH$3sOxWv$iX&L1BoY)gu5~4Ye z8c|<6jd8ZQhd75-@iu`;2y7fWbnA$37Yb3RParNzl#~!AvhbQA>adNsYY~rT0L!80 z{v%dF$sB2H)IUAT=g}1#LY#jOw87y*z8dqBV<)rnf3u*3{4od|p%MWREDZM42>Xv0QbGam5wrUQQLZaBi>f_- z7ruwq;l>=8D{~-sW_#9dubD12NZ4)yC<0q!9A?NQS=5K&lX1}q27-SAk@|#l&OIBW zJ|>KUIxvbF0*~X4->!wz=|&ch667AcRfQwc$GeS&O}=J{9`QLQV-e1Vx1=-F)na7*GGc*N1?&-?|0mC^mg%KJXK`gHsus|)?qOn>C4-ATc*Z7d^ zlgvqrR}O{`+&da=yq|!YD`#VzP2fCCwXnjH-PX{7BT(Gna`t}`1bgHOp_&cjHUxx4 z(3ca{)Wd6NO`d{w1hoW3Fl-*uWzb%*!S;fTu^fJpEd_5nk^|nCg(`IO9q9Dx%PiRt z42|MEaCg3srn5ks(D^pX7hh0$->ap;Yc?WVTqP-D`>CC;4g>D^UUntSe^1HB1)D~| zT}VA6e5cHU;h29!GwAAlBX}_xaZ3hXkqqG0B$ydbC(TDRgO<7WAiBjmo!6p}7qYHpG09;*MD+>;uTny22 zJ_nr)uKMS|PH;25gj*z>M%Fz9R7^32fy8Heq8Ku^liVd&nYi>6MsW`zxpFwMUCM*e zHW51LBiMhyi0pxgU!;1E!U>G;9C5s^#pWQifL@fw&Nm2!uyGltG1-S|*&GEa0`HVi zY@L;S3z$b)W~Q*G=K4fXU*8kHMx#1h(P4XlK8>=J4MA2rB-~*u0>8(2$)1K;rf$}p zb}l6x%y97lpRfvSOmw~LoQ@9aI4Q4Vv=%Jj7#DvjjqCu3)M#s;E>Y?%vdqieF{)a~ zfO@>c*Wti1DRJD~2CPDd(-hRr&L!>4=Iz->$9^c3k{F@K%f4}Bd-zh$2 znU%=~Mp9&@#<7gn2pE3In$!>$l2DeYl4ERi2Aa3l?%+(H0cGm65O7;f)5Nl~A>80Z zomkIKUlQ0D>X8h`trmdfW8Q%Jw>O}Bz>t4y#~%<>!GgZd?M87cA>en?&)VcRZ41pe zl<1j=3r&vbcCHb}Lq}a1?}7^7AS9!@O0U6(#;!ki!8^KlD;&BFT23-@8q{H1F2po` zWkrFTFU{A!_+jXLZ^wSBMy}v>b7~VzjPVZIRbSYD^0oL?1VZOQHD}m^da+9#3VeUV zE|<8?RG0p^f{czy6J+6ZyUh1lujE2};4Fuw7dd^YxhYR|o}kBGBHA$v-qzIDd193f z&*%1boA$WCE4m%+aeI8${uvbf*bf%EcRhXR058Wu9+WxA@lE4r%+CG8a{P`D7I}%) zh?EqHCWE33(vPqqj1O`)30{$th^>EgSh*-OMFy1GY%GB_vIr;xP|*&H=XrlL9}pC* z!rUYIQcRA4c{_m~MJAz09Pgqzu?i0s_?zwZD!PHQMLR_TJ{~L&2rw*;kcoVe%nV?r z-wHujctSqJ?@>cA>aKFxQCyR0NWDoOs>>uE=uSbi=wB$Mk5Ks4vl_;qgmZsGJeY_t zXG1qyNQ>4jgNGH=wu~642Tk26EOi10(Rn>+;YIB{q2ITISxDhQ_VQCj?h*;v4&J;V z`>R(TKKROwX?vGHeBjKZP^(oBMEz>D*L1;x5+wke98OSGtt~w03nwih6#Co5pYm_; zC(g(B~&H9xLnUhDh zH1t!ob(mRs%nANfP)a0SKL6r!)x!Vc>bgS70Q`sjlF?Rp)+?^d$(?(9=^^j$blI7` z@U5z+u*4}BnkhY!OL{FiqWn)+J9+%?RuY{UP&&clhDBj%x3!YE^z47ZY68=Kaanzj zf(x140~{hm0C={|l`g%0lwm$Mvv?fi1sG1SF05mNUD#c`AfF~cJ#@&|F0{uG!*;yD zz$atMRfAhTs>^M$T(I?9)hXpD8Js{L&8?_WO@ia(D5xEaGiP+Y0SpO~IAS0S@rxSY zdJtQ+X5Oyh624t?;bVVuHb)&3Wocb}rk6Y&iXnCszeiMCF|N?prfWIy#R4g?9eQb` z+6^@FVIHUN`HnqibM!1CbEf6i%D-*h^L>>5o8kuZ(HB8i^Z`4<^FcS*po!*U4RTfm zVjnS%yS!8DA?i3TQaGLJ7fiPlz*9nk^@e6z@7Q?zb(bw2+r@tyz*JVZWH-~s`ka$k zA)dn`8s~Tzbh$gjNepSPB7*acaHvX+TvvL{(T>K#kyQ&@T^piX%LS=0HFSIgDB#ZI z-d2Fna)j8i+zs=Th4c{*J#E}y8X}t4k6h_!iKQR{&7|yULh#FXzkUm$rlKDt;GxX% zwm`Chz>mf7h{AtOq23^iuP>2r!Rt&S8WFM@%Xo41S~DIs-g|brG!=Oe1`p-jxW+?>3kR~i(hxL=)X=su;{ zMUk2e^+Up07H~N~N2pjZ!wm)8c$*Do9}N@eD6)l%&-#OMpQ>0h6%c{@vyA4bA*PMs zu>${6?`D4}BjN)nHc{0-x0h1xwNJz?P zc2WI*#pIMyVtIn!ke>?cR+X>h`PJD<2O}=zs&jvg;gc9ey}gxOvDL(~C7!A%sd&QK zTQs>IIuo(&5%NeT1%To{vZLz7YQ65rCs1CiYjMLV z0AxB=4bUN`{&fxIFc#p||Z;BuXbudne_NwS-9V$5< zsieIY@@1C@3{_@U#ourR9SjjM6~FT8xQ`$|pb2B-5gM4D!xLDWmSka z<#=!&mg#s*5wz~`CsBx!&ZK9l7-xSwCn?VpH&7y;TEsJ~rG`;)$9@qU>477&lNC|w zL=5JAQd21A>|b0(%jP9=0ohHdp!P^tE>^>#HRYOH&@e11hE^2<*iB1kia8{{O*ybs z-Et1*!(dRXHEw9H6C7UtbX>yf4(#DFB}zZ&VPs69qB6P@JA6>Bc0R2U1ciTuWuXa> z7w;^EL%bG>vvdZ3d98;>R_mAnNLT21rb?25z>Fi#U{hR04SwQ-bsSFSBz>&ibYxP( zI0-{{tb)5TG8+ZmMq`tn=)f1*W_O*K50pkYG`V@YqF`{^K;mp*BNDg)YmO?6i$eR^ z^zGk5M}-Z6n@AH>9evIkmb8CV*gQ{=+fd`IFAHQP>S1^h$3Br5nIHlK+f~f+n&U~g zg@#<4l+0zoEN|Da;yXS55HrtSVW{3zb-LaN9!hOQ>WP$U=l+6&vg*iT6!U33N+`H7 za%iN(r2RG%%PdNvYS*-v!l291`vxkr%PwjA807>E*#a=CQOp-nl}mqYZiKmXn1(&_ zV?Iq;k+MTJi$kChD#OB)5ae03@lAr`Ws3sE{Nt12{x;nd+ftbbc9C?K0{l&<_-0MT zo$BSly7M|=&F@B-Al+k@y?ijK^h0X_boisbi0RNoQ{WXDessMdcpTG+XJ-zR00>Pp`@$xAK zf>Utnf(uvZ(bt%+6fvyMeA-~=I2>3AP6MGxl^~n}=Q@AePK&490SG&X^Na8q z|E|I0ml(YQoCQwWDJ;0=w>Mpxx;eJm?NfMk6oEQUFbmyxC7afS($@K|hTDPSqFHR= z0cyPIf!dUmXJ;gCO0ohDW7rK0wzQ$l6@$8}xorBKPdFcn&0%o2z|GGQz>L{Ih3v_y zK8bX|HCG}H9n*iI9vWVz>1x9TPQ#Q#XN#vi-s3D-hIPr&c+*`4SGoJn+DCIq-3;8b z&`_-|87Z`^FryN_EF9uCXGTF9UV)@jjZ%a*>O5EEM9$lTaO_m~f#v%-|cjup{aa(ZhS^WHzZY%`6gHXvcpcM&2iL>(JH9FSrL5>yiF! zj@jDF1`hYf4O`w>OUfQ>9gfF01{x+F zo&2jVkZgZ#b<7D6K_p5h#Q{1tTFj($)dY0|VFg$e-+S4IIV{ILd?FJy35IN!Zy$4_ z9LkNM%D=$vOmNGXc0mXga3h81{Z6G}ROWVw^p@s(tF4Bq!-jGTqijB!S!aZ4MDI;} zwcQq!9SaW#w))ss@K}`Dy}~Nu!c8SRnNpkCpwNHaVoyI>Sx5H$f}T;CqmsvuMV*P7 zC|3X1&R(WI&@}2_6H*|kYoG;Qvo`8Ie%aN6xrl5Elyo|zclGTTPN#@}f+r?$C}xA! zwRsKq7@t#)SdVr3iyZRhJeZ4>l`V+?$}?qoj58~IhSmjlt1(O%zeM?VwZg6mmJg>w z$~J%9-xGIH8X&l7_;pU-alW+duKoksb1qjVwr>%igz;$395_fsil9CGoD(2r z6TI}03L1KSRXA5&xX7A)F8W7MFZOkJ2XKE$pZZuf{m>Nh1F<6i{HL{TO%5%%4nZa% zpqWzK63bQY!+60UT=G>9mK1+K ziDxZ_Jhpa%3$#_hI$bA{F09`wkbm|OR;!N*HWTkC`Gk+e3_mkT^7rr_L#CjF@D!a#hqhxPh)#HCv-i6o zI+Vz>C6O@5IUBt&V~42~^Q0_R5vv#!AcM-xIc64FNj(-NrU~2=S2C(I{U`Hr&+J?t zJb&gmaB51`{QAB-QGRy)HsZppF01tv+zvF!uX9Baa^}SS&JjB;oQUa@pqqa%S<2lI zWX#liO2jPsq=Lthx&c6282?16%EnJ*x@Ci?^E$<`^w2DhfR^(qZReS6%~;u3al$dK zZU7SpiDNs(?Bsg3U7%bbzy#GVY(;vS5dc6yzrPb6=vxEjrjtfX01&u$FbtW=zyO4n zcZWakdhaO5VV+*_dZv7jlt+$}8gMv&z$glbN~g8lB1dWe0-cEHM57RkAt}fBRJ<{} z$gQx`k!pQro|aCmJT|xehtWkW;yLT1he0Ub^+1w$i)LXy8sS>tGz-EueGiH!$XsCg z>>{2D22Y4vFR1;0+wTc}!voG~Au%Y2j~!i-knul~>$3%)>QG&X>de%$T%5CiKnPA~ zJscz?G%=Tu67({4EtFLH!5qOJNC1-OTt#=$+3JUlqc90Khd>j|YR=HcH_S)A%O%5C zG8znA#BiE5)6T|KoJH#_anCu%sZ^7!IWCdHx&x={onk@XI8DJ?@rno5inD_~&g`TI z+L`w<&F;l?E7)qDB8grx(|O9JbzcX6I<=VZCKa1sFgKVxW>8-Sby0Sh21I;= z1dqyzd^5Th+AGP+uHLk_fof^oD|F&{f3>7Qtn-oBH_~Ce14l`c_pE%zH!ssdbgj- zefTm~A4i<>5M{2zO8J>EV}*_=U%rpmurRL78TUdobWAt{J|F;HGA3BB5yUjkHtc289~l5> z>>LU=&?OI?EBgf+W8uAxU*<7q+>T*+Fq(v)Uq%&E`7NTaVj+a#VyPLgTDGxUVzIB!dZK z9mz?hY!GK3Rob}HD+zJ%3h!89|HAQ1VD)NoVVWfP^4o}AxZ7MooXbU7-Lb!dN-L>S z!LM7tAxShjK*z1Uq3z?O{;oGbg3~Rjw*Ibg0kJhTxPhP{Eq`T@k$VcP*@Fk=88P?r zHzaY%W|4LK?CjJTfR4t`9)Ni$T&9`a+@|c=dAP$6qVRclrRaTBX#vq zLj)3-iNOHb?;HFYEUPb9%S~=Q_|2IFW&k^F=dq23L2VUrhxhuwwP^Y0)(lHlu= zLnc3e?v>wPH16M=wX_$~d)APs%EZhy zFbKVtbWrHmn73OH5RO>XcU=;TA026!>%nT@Yb%ZWRyt0byATX!8=(|)7{Y78diUj9 z)WY{+@Px(u*onmxKWpLmAY9kE5{fRgcww9pw>Y07Fb$q4vx^ivBdKb<$CMh|=1JEH z=!D#VN%cUf!JI)wuVrj)W^)BcfugiDeX`WUNE1qgV8Nfp*?US|k<%=H{?^G~sg4Q6 zU>`+;b0d=CG*A?(QP~!dSC>}8BJ}qjJ#4C!koKscBNOZ32syKPzaL>BZ5o}!)JBp+ z0LM1@O30L}rtiGL6cEOHyJk(7X(@UGLon-qv2xz|81za9Dcw2TI=XZV?u1S|2<2Bh zeO4T;uAkU$<%%M7Oo$A|y-!GHYrsY~yo@{tu&_s1g~`SmX9v*C;5oVh#}ZToTjqQY zH(c1>8hzP~n^o3r6EzF$9(^R(BZ`BQ_%?}u`@0iOWV^)s6y@)CF@5UJM@D>?Y+Jvd{mJDl?hB@9D{NjyEVm?6d6%BXm?S2S?WWy2^A?iawF1 zS_@eo&xH;Ws}HKzK!-Aj!ONHmCvj0YzIx~*k*Za(0-H#xfB%{xEK)z3QJJ&WA4|9q zyq?4#t%1P?>0|i#x?ywdnP!-2NJk&ttTWhBDrBiU5~bM5g(Yh1O?A}(7Fq|HnN5L~ zE5q^r*=BWHin|%r_QR2JC$OPAZ^qzP^B9TtwmJwfFu>Ik9$+#RwFCiVO@bj1a`lzo_RA*;{cDoPlw?W?4N}u!(%B!v&+41zD#`oZ;S4l`L zJ+a+zOJh~B7X$-#!*~?TCnE+1vm=B#^9s#anYom+kicqBseP!8qdr`L;%qE=eH4PH z0}u&yu&zsgfF;V*Nb^Ebk`>bdOY-?%$}`Wo8fxJYs;VZ*gDPjxO5KEQlQ_;EP!q`h zXm{l?^|~%!N=QlLDP>oH z7%NECcqYuHoLq{^_JLieLsaKHa?tvc`kFn$K`D>kaqt0+InL?xk|%nCrN8I>~g#PuP9Awls@QoX;~1UH?G;mm?^H2 zV-+}+vVazaD(G52a))fmqI1fnHQGuCr_RvSr>A5Tf5OvK_xZaVp(aOl$vJA(bX{_P zm>L*`n##wna-#ZQvjo0ZS6tT@?`p@Y=_Plzsy=gPt7S7UJ!DrnTNhDr@d4|y$?Z?s zobl^+r>sug)<><5E49yC>rh{K@bZm0xXhGe!$+-&O0FU^79PnQ6oILFv?`QXugQiE z1e4jr49RslL)rfttxrQMIJenpl4UA?id^A=S@METXNQx>Z|GDB(Ex3Qd>OT0we`u; z7|B}dsVJ|OHlMY`g@|q0gstDB$L{6m0E^wB@xtgkx!XHU4nvsa*2czyg%U2#(?wQ) z5xR@2X4fa*;w10F(;Cwt5eQtTn(-{2I%!&*Y%OI~8RuYx@Jd#&8q-TTsS8_wiz3l* zP)_cWX8OK?V&D*2^|w>V!`c&~^DM+_xV5sWr|_q;>61U17iPk%cB(HI>YfhR1ZrL7 zO`1^fO6uE!hVD#u(08;_me~e+B~UZ}L|OiiNP5gqdszW|$?EV>mg5q8t2ch2NG3(WL_3A1TUK|Ym@2w&Un4<%~JMkUXA9Mi*1rBE-@YW z_cVwr4wlkZ(X`1101#xG_A%y9;?z0wxJyxVQT(ppHZ#JF16YP2^E0O^jCBf+RI z^O)rc200jmxh*Gb=-l9;1Y(FSyY3iwCF_#OPVPi&&5+7#N?LIkG*^3nCS}faXhDoB z(iaxaTJ-`1E0&dFrnIUZsQ3{BJ-~52j?o52lUa~u6*{k}c6Aak+N@RNkh5eLAlR{# zmql6)K_>_!n1&8_0XhjJQyDG3s9?w-vZ$X%ROpnk6W|*RzA8z9mTSg13TTXk_%It^+R z;3402WTSW2wO*?tax+)Ik+GV2VEGJHwMm-RW4?@(a~8MPC<@<~klv4Z!^y!euuqVI znmVR%Dl`pD$nzEYY3D`Yx1O!*SVoTuhiwfa7$>^-&<7;8jmaQ?8E=e|1QXC3x!bIP zLjf8NL71!r6pd0+BSjxM*}n_qtm91Lipa?IP7$7^F`8byi?a$RL=N&#E0`>>>^YT0 zP30KS(Kz(WcD-3Ydb(;R<5tY8^}tj?KY9N6_$Ob+b=je)N&|yZ8(nc!i(=WJmRx3) z4oB69=}xs~Eh4mkw%Q?yu>ghL%NTzyExH=$nGj*hfa_wyY_^ofw`+RfYdFMd7^kx9 zv=|LI7{DeA)mT#n9AyfcjCk+4jAyoPfMAju%uSn=IBJ&RG3k&^rW^{wq9peqNWln8 zK{4&6Z5Ggr z!*N_BgC{6;4iHlVPI5V$li`r>fT;a$nAm56jDW6A*j6y*Gm_329YJnKE?ZOOpyzzJ zc#$a-Z<&C9QuqU55S7H2IB<$G;k&!oWOO8RXcvc2?GbdCx+CZhwX$TRL8wMlA`%5{ z5!nszudi#~)@$;2)2p7&mm z;YAf>6rQJbh5J8qLLH=CMuA2z046MQjTpl7r9bt5xQ*IpNvc&&G?r=lNVBVm6h>{y zLYA8=o>GciHnd%Df$&~@6e+=OpGDSGRz8fZck986*Jt0nIC=g}`C+7seS8bFFh%9n zA?2!ZzU3&|ygU~i1W(E<2+?g7!UygVeN^Ey9oU zyOd&ojIj=*kSha(YCIO#aff||E3=5DbX$`GuVaF!11hl~Xh9*23i-==R$j+C6oq0K z`7p3rE*`!E)9>U-+K*DKqUNEfH+MjoS9QW7Kf^4AuC;Y)%GigP;RKc@r<)9sl<~Zx zPS5d)*ab!$ck5ET1eANJI3;czpaGp6jo?Rr4*e-(yg7!{*~e&&IlLZN3=V%Q6UMqX zMw16k=4WxkNcLxfq;!rgbITyHWF-kk%rE#2A{*Hj;y!0@2Rt@yBNkRS+t{-l{DZR^ z!}f-s2Owa+k>Bu5`IQ`JV#$QHt&!@MZwAx%D*pVt`0i!pchQZiPD15gHTO>27ZY56 z(A08kw6JX^;)bT0Lv|x1;F;S@-)u5+FG+TgG9Jj*!l5^AL#W)l!XI!jE&aceoonOP zV8P-62pA>%L8Mqtq_=Ab2gPD0jmELXlS-2<*>vKkv(9keZpzCR>ohB#W%-k=PCzAu zNVo88gU-L>a&Lm=$QJd!a+pfspc2V{m_6Q~ap9&Z+MXvfjTb#i?A!;k>S8;C4t}F@ z7ZA*|Q-W{uMh_Wvw)uAJUEWHJ?R73%}Yvx*6$6@E>n zx@@6GZrr|rS_LhT@G}KrM+P*1cQ9OVfFce89VI-og}EZQhqhu@6oZ9D;G9uLWzpk< zbe$ZQEDSX%nu3a#wR-G27M;S^Zf<|ZMf|SKIQ{w;vYN@G=)tw}3iVF=Wg}OH%HW&h zF*QSrnY1BNEChpw`=;yG(eMB$tNn7PW+^&a0x>#(-LAOPq7TXy)3DxuvwnTM_M(UC zBHQwPgrOv%G{Fm!dhP9+D}nH51t=(X5xKA951c>d_>t4+XfileFZz%K@W+o!q<(Nr z7|GS)GD2n??ZD_yg)cqg-P8VWc~q;fJVaUT5CJZDLHF)6r6HB&PUuPII-j6M_3S>%+H#2e}*31BP42wfK$n6V>*VGpEVn_@cIn0$H9sACQ1G}h{vEj z#@Z*SW~Fn1Fed>78?S^(hd8tEdu|sd4Z#%81X9jXN!1o+o;3WLQgTCRYLaUPvnJhE zrcF0A+o^PG6nG8d#V2B#6LuQ$hP2xsz-AOq`i>EG= zi&B-}m6|fjfz^qoN&liFNV)3xuHd>|ny;G@ ze*{lK;b;^zqLDf2IVZ9N$w}*J?$bcZhzLm3i*3|pG-6MGqEOI~XOeBN2C#|^4@5;g zMc5^@;Ayr{c0m&XrbLRh6iz!*6cStcP8LT#3ToReDQr%rcfNN-BTA4{P{-=o3wi{r z8(52?EPkW#8kDn!o#rBOMjaVahuP6F`?+7)7bQLSHqQJ=RqK|ql$BFaymueO)miea zsiym@X-~I*;b;y;Ts}Ul6=$znU5qye(n}4A?qIb2of9NbNEz@~%WJ1974Hmr(o5sP zIU#i068;oLkKr?pNu!K2upYko2(_eKJG1a2V`K*C|WZ_V=^;|m>Dg5C-2D8W&Le9%r^ntG$ z*uaTh{Xz9FjG5o2Tz}h3uR`+s4?1Q?z3jwpmo`u0SqZKzFG;1^r)8GsB4!p-y3wSv z)Od>FS=LgguYI<jAmCWGq1)T{ao{NL?`DI3Y>Zrm}A24G+3WuZfT)C$#o}8FFs*^^k#+C?JaVbvM)T9xQ>BH2hyq2Bpkr0Jrlzj zXmJ;KjD19OXsMT4SI+fFoaq!0Z$5L239Az67{j6N9u%CR>R91eB+yWSPIPo*ow@^w zOoP^Ap*2R){QFw z>v|S|EEK8%=WdKpy|eq%MOY|*YD7=LWUz6^re-F4OjXfY;#u=rc`;J~4beHEgSb!1 z)Ro(S3d(eAbheAOD-$zBDgi|Z*%m7yUa@5g5kMT|1}jk%1jBcbObQteha2$J1}wv9 zXtywmduf=)DrU?8Us{^4gJS_>uPdz!c5)oijp2*{i%erk4!V5kpqgNRI>K@^s8H3| z13Q@a$%>)n#k!?#)07CZ4-Qz&=VN}*&#FL)?kqf)$i8Tb#7MDZnl^ItzKFsMWwtuC z^{&x*k)~h1J_8*l6rDB2*eY!O%9zQn(wJl&?KU%I+UIb$recsjrg>n;H60zFHd_b5 zqlb^|)ev77+Iw{x<`Vv6=lnd*@)B#X^(~00i1}Y^@afj}GY9DbnFJMW3Bm6pctfzsG5tVYedC$nl|UDWU;^txL$~S>T1<#;w4g&aY6D|wB@i=; zCET2k5F3VV+31WDcvHK$p_Wc0X5!wQ!-%vit#8|kB8@w_04wYZ1qk0ol6KPYiu3Rh z_f8Vhq$nHeBq|$!FIGCowJ}LK$Nuum4sCS|{)S&robKomT6;28@phU?K z5UAFD`Re3{qqF1AvlriV9-X{=di?6__@}eZv*YL8bpec$4M4NSmMlsUR1cznIma0; zfAU_a3j=F7r=}-_Osh^HMo{2$Hi2jvL1^^|+YM9tC;&Aa&IA@1Mg^^os4hj_f!3s% zDQq-#ye z9B5ZyU2`0>WxrrFCm)zoc#gMHJpKh8$yBW>Nd#R`i9V8jWwaCaH*P4q%z&}5NL1>K zRke)mHigQxCI5zG05R8`63nVwmd^ z;^5DJN$l9Qz+4jp$z|&jq%M?}g#lX8<^*`69Xw>A@I%!9T0Slp3J=x`QN3kHK@B>p z^Rd3=HN^Ywv2ts~h;NKLLET25A8;~V!QD+scnb!EU0#>bwHy7_263TIBikH0;`A-K zq0>?1b>5PS2zQ$IWQNKRvQF+$@r13_bY5bAz&IB*RjApu!93#IDJ~b;phtw*s~|{8 zpv*q5t0b{2`wpyxAvdRl4LX6YqLDYU8E=Pgx+QDheOGeQ@+n}qBD9YXD0!LcVKpG-hDmNOib^~OsEU{sK zX8gFUXkA%=J>*c2`AIYiv0uiz6=A7ccg}^}G3TP+*3Oke(ufKc%QSQ0{$h_w&*)Gt z4nOfZ^CY^o9HR{bT(A}6P8cy(iJK@CMSZulWRulj?iyQk_?=2p%bRY+5q00S*?zF( z#PmpGpJ+59)CgwtnI)kuJMPM&+IqQvz_3&fR30dpi*s1nu2VG^Pdc2BMmRHg_zjHv z9hUwAR;!`@jUG3&EU)KZvgix%$r3zE&L87${FSF_K4sJZ)e#*j4N%5v>%o^nbG=@i zT+w@Mn+4feWlbm~t&KSuu0EMKzefsbFd077k}`!}(stry`edoT(X}t|)CVv@kd!NC|UU z1Nz|2*4$qWj4~z!@bG)lb&@NHpe|ML1`gW7QNW{+a1PMvE2bX7$D#v&RR?Wjg>qQ_ zG}PCsnnMVzFJp(ss_@_|G@#9b+_T0n3>VQ{EWQlZiin-1!rirci?y=`RB&J za-jKz(&(fxI1X7|VswpRmFLS*6^I3f7UK&z)}vHYj4_Eweqi3EL^1P2POlh3)K3Oc zeloBp1SwEm;fi~jfdZ|6?UUnX#Wpj|Hf;K3e{Z5D{+87zZC#z$}3;;xdZZ_@;!g$ zYiL`qgX*WPR`|Cn=h7ppNaHCiLpWV-#C=c`za8B^)Tdr=QAu5Y>Q&sQ8*k< zDu)6WXTJ)SdSt$T0l7Y6kAzwrF&m5Xg#6#rBnuhFj%&TC^5c$6*TIU(xPB&qBEXhJ zfhVNlFrdY?Ds*nHQ?NpLymXvtVLwpmCW#S~5Ff$Lht4IkeCE%#v~B7V(@8cd>EliF zoynP$d!TVw3bV4|+0BN7fMf!sD6@~1 z-q$!-Hi8uahuWrcR$fwb6YgCv9XN(ZsYq?hbsLRF>n_R=q5ON0n2DNQnz-5qF zAFm_HU}l%prPN;L>c#qgil`wF@Y7_8bJ>ytnS})l>eB)>#yPb(*sTT!^8JRCY(8Su%>YEl@i% z#sk~rhhSWzK*M}kfdRNE83oG5GZjrVz^RoK%9~xN@Ov8Wxe7k-MVVbGP$aoM_2;B) z4s=ARQ+bdeO1MfK!^E1h5`#KuUNNpdIhC9geAmT;w*%CU?RqG9;0~O=Si-5g4#w7^ zq?et40~QicOx&L%-b*+}Rf$Vk(lktk32w#XW6=&3dr}TrUJ6NMAad5UeUF%How1l% zwG%l)EAzeSh#xwL9UoX-Oaled3&qg@j3E=&s4ix+Y1ZD{#K44x1P}1Zx@k83CY(a- zaoJQ>JoaC03WIdqkNx_er`XV$XgYM((-p^m_B_wzOPGnE)hZc>k~Yse%Fkzq0iouB zVb=x7lbm`*d^b)8=;Xz=5DU?Q?{gpr?WRsmF*fT;m~Wh;;!KoAJ|D_YkqIbQv4CoM zYCPPNtd5T}qKqloog=;qDup(+!BUNkY%!phX9T<{Hkrjn$GpDY4s7^O>%oE|-VUCB z$VaF0iS;z<+Q#OhhxAU{9ycBYmbRQX4&m$Sno1@<{Gf*av9DpKXf(x3CW*U)bh%RHG>*chCl1lT{X1wd>m=)Z{H!UeHY3<@1{4to2sfx#21}E zh1nlVn9b6;SC*BUojCA@B;6!2yt_ztg?2otX^8?&MH%;0tD}%rvJWfZ3rcQ(qUd7u z#f=f7RKjp9xdo2`A4>V}GD(A|8rcY=88NgHMGj~JaX*&V2>lDSYdE z|413)-vN_^x7lYG7>lIA9q-t!yHY!(WOMcX3wn5us@meBA+YB-&NSSde}AbJ=^Dh) zjNAwggj#peiQo-<_;ZW>zQ^=`|H@7)I}@L2cZpXaU33KEa$sObI=V*ILljpEJK~)* z&x{3Bt<*ZsOQ8k4DpzTSC;WkZ4+{`VgZyX#o^h&+6#C7f7nh_YPAMjeVJmC zCd0-%v$ihwzWE_Wn%Mx@(vKS9H_mKJRZiM|hE2c9k(gur-%XWv!1m04S1y^`K`%*0 z6*X-4RZz2YAN-r;0jY@@iv_W@G~6e1;U)x{;j4GA0#H0(<?5z-QiN)_qxyJLXyY2GGW#-S{inV^!tce6}r60F{85QFR&nfs&4``b$ z4cc_Wm7vfvgg4`MYF9{e*WE0qKmJr%gQfH%!mYS?Hrw5DZOd5OebOFaA@|VqFQ2g~|!LVgt+W?)YBcXS~mSXuLk{9ua&7JJ1mDV(-6-PTw&ZFQ>6^fx0 z@z3NP8EzRPvyMT3Q;911WCe`rbSFYBvBqt=F2vDb)Dh{IhL>5%ROli0H=*a;$n8Y` z!C1C7Uj|KQnXU7jLwy~|=h3u}C$Nc0c-wc`oU@j}0kmIlbNC?Ljt zIq%RsCTCtR&hI7l;zoIT3|_sk2}kTcCn8S+iMYRD?m8Sia5$ zQ|WP2)f}aaTb}#R>9GG#yuDX*ise?%Y2^aXBBQingFdG|F(;P+dAo+O8*kU-_JuBq zuH8U9q{Ml=E1*@VyXX?msJ{PkJ}vyo5iWNl&!=<1Y$-$Le(%>*;AiMcO405vVzeF7U zkrb-m&--{|k+5htFP0Vmd5Q~P>h3J0z`ypZL=^nFBR|v8{^!R0yho@NhTzeJ?=%X* zXBYZxK?o}AK=B&i>hfzPP>j2bm9Xwl zT;hwo_KM2%F4Cap5TiIGE0OO$u4Zobc}FZ(u5$@5Vui9zzKAGH2be+S1Zi{9(?_fwLcTHcoaMf8&Irk3RQ2OA zuh1t6pA*ik5$`X!qzPpOT2h|8J>j)f?DP2tYT^4ZcoIb$_!v1sRbK0QNf`%!yE40z zc;-Ec$kCI{r)Z`^%FZrQ?Cb)8EKCf}I2j-$9Y`nyO~K?_Dd4WiB`}#6R7i#(G}y&U zd5>W*w4u>pCLC!(H&k&*rg8S3vmdY7b7SYo!|QcYicuf3pxSgpvJ&EYtIM@OIwAaiO5Xfd4nnNc8zFc`$~nD}2=AJqxqTY}c$&uJFpWpo1_pkXw2^=N6tV>i z1cZgJHK?a1MskJuQo4Q*Ch%D$Ayi#U;3z{tOD~#S3u3c(OAvZcEa|F$0>8{he@2O~ z+^#zKX*jjG5jBFxNAwKq3Ll+(+jT*1jz0Dy@j7xd)~G16wh=r@QfKMlwlxgnbVPPz zVpDRxMudlse-|f@l}w{F4o8XxlC=w)Y)-EDk)4(7>2N+-(t)(A;i!%MSd61g7J@d7 zF|GL`8d@lEMpz;I74B$%!UYFb8C|cdjN;8FFCT5b)KaIYbfSEVCj-pt78&xHl)ZwG z{^Z7JtMY^ZJ>`tiMdA55^*?n*#b|gwPZf#&G(Z2L&CiQg>=PTeo)w^vxJKyAcCHk5 z+RZQ5$jS=M!mnwuWlh66sIVl7`yx~i%hok>!6!;?V7?8t(j`^^ z8yu?JHPXlk>?6gu_^IrakFY^@zoKLh(WW zk1!mqEiH9_teo-~oGox=^2)j&K}9H&7cfADn7wXAN?`Dp)RScA5S{Lx0xw+UJ4pu$ z49+d|h(wHkqPx1d2A;jrlj8{a?j9v!cenSt zjo=|8##!tqjbYg)j6Fg795%$OcP?esBcUQeZ6=pgTzY1bWZ=xicj35=CLJtkrj~bm zk1F8ej+xmwj@Qx50c_J#!L9H<=*8!PTBg7o3#f1&Ttr@QG73Y}Xp})qvgtGhqNiD; zkQbSMfijkajQmV@91K3>;=-)qmQ2PQTqxVhd$3(0+ufTf&t2P|{}pNHq?2Q(bkq^W z30OLwIOMmlT%Z(C#WkG&I$Yt2eHtkhF`!>bSk)JN+%g}x_~YQ6Y5$FuIdDqppFREi zw)vIBb@2%#+dF4lJCoKt*TJpQ;nkpW6msc*kklp|H7=7?->e_v%SbO2GO+*86DkQh zQSaDzrD)C*UZ;&YD;tN-YSQ#417|p3z99;k%1C`-m0si$-@2?WBX`N-tg;FYwM%~A zw;HrYNBJR?;syE>*GL?A`L|6q+^>rY=NP1q=z)I5r(_tDze?e11!b1yGZzKOSolzX zm@e-Yx5AF2Yw9;ikC8kaHk~6I9s}`mOh4PdRb@7ud(iMAN{ZJvA5_r9a|Drj!7G_c*)L zJ~~aO7A0EF;i|Ei`O9X5Gn?p;u?`+4EzV{>RolQ$eUljdT(+8F1jPh(jg*UCB^OOF z3uT$in9QStZJV~5XM*Y6N@^+Z#`&4S2BLXe{-XJofL^s&< zR1Fl<*#sIG4tT1Hx;%3w1cakN);k)n;ouFlQ6y3lPnxWa5r`WjkFnx`*zVvU&gJY7S_QT zHPIVUq1SNIzev&!0T*;GVEvH!9^zk5`Hzxr?D}lWdnvE6v;19nW7a8Q6}ULs#RJeP z`~3BHoo|nS?wtMn^7!;!aVNl5j0T-aQemH#y}Zhczu5wRZtXAhd!7DS+dEuq2fzM> zpIg%|JD@#hg2T6O{-WCX^)F^1Ym;ys!MAH)v%LJk!jd_JCE5d6w-0M|`z2C~;jQiM z-EIB(Z}r7JIE~W!lr(y{eQ?u8xqu^czp1$B?`P-WVE@L0*8+~KUHN<1J!m#>+5_x5 z+ zaN~*Cu5Ewwt*!0-8#g}=uY0z8zNCxh&fe~g7hWQNv`U(8wYG08w-6OptA1teAMWqn znD{2_2sO}>9(K0(Zoc_0LePujL0Qv>yEi6|-1SOY-rZ~6xMfy}7%s7-`Muq}8#k{t z@shUp_x5irxbYT3cL~_DAhyrLvQ2exxOekSWpy$L7j$yCbMrHsN8cGm!&zDD2M0Ia zv^?y81+8yy?QY#z8*sy9$~rjQyYa@wI@JZz1Hs9L2n;DSjrc7nM z#Tizm{hh59gxlA7D@9)M#&60xY93n3xBT`_J-apyXBXJT=6EvO#Gv;LjH}v2GhIB{ zWaE-pma@%B5~mx}H2DQh;+x9y#J_B2X@66Hg5WmQeNzAYN-f7GBmV*waqzPkv6X@N+56P*IKzS&v2!^Je;NeHXbE-fz$8F z1xx;AoZfajyd1+P7>j0242U&L`pHO-JnY3VwPL_`yCmRS1x2=hb)q8CqAI_uaS+0P zPB=lU(y!kg{nUBA-Rk^s^z8L%l2yX2k!3 zU(XWyR=qx-#Upr|*dAu|BmFBhc{|~lIfr%WL;eOmAYXhzbs5RuGYtFD7heRuXm*88 zwQv&r?TxYt*WRu%gS}l_f9IC`GoX5ZbeNJF(6G8WnotNaC*QIq)fo|o%wf^U5tU90 z=d%R;jD7MOD_`?`hEcL;f@deIn2tRg7n8H_c)4C4_c%vb<_rM+Zu zt!KJ;HYTWX!q$1$*zXMVdWs|s=C~uJNM9Lt9}lw^sRR?{^^q)c?=sqbbzZ`iBA%Rg z0!nh=%qlkK=rT!W@yAI<8C&p}70;kV-92`7=@=GTyBSXg`GY6H{rYA?fH8V`L&EUB zrl@{vLdp?kPvUQg1)ohZx{@k?>BflW&d$qY^117RaC0ClP1Fam(N-@##wXHf6wbu5 z&%t6C4wVPx(7_%0Wjj{azDJcdKC{4O&Aw!}nQm39r}e;AgzJIQD&>kW3qkHhH{=CH1RUV22u<;e;X zi3ssli>*LSuto9c+f&zSF#|DfJ@<(I}=Osh}58KlOS#V3hjA!R5qY+nBmn4?d5s z)Du+6vL+5BIJvAT;!{+AU#_X=V>jTTX6+bbC8oUDRS#7E4TeO|Z;T<9J~?rb{~nq{?XGmU!q!~#_2NIL_zO);$L2s05abAk@}q5AbSOZ)U6Vf55u z@+gTP{OkP>-vzZ9B^w|8@Ex!NOMCIAUekhzWxhj&&@&8cqNqenLZcKzts^un zqEql`+6Zbd3rwPap_#FRHg_4tv~zXxG^N(_P`G@zk{VoZbUk;3ykMjxWOhC-b(&#j zvu&m#0ASi&5r`AX3WQVjAq3eLOTkmR6ud(;3ovIC!|#ESVk^50n|^fiDqu);qETV` zH7;R0La+c8BfPG=nI#tHxylw#6AWrb`DW%>#4u3IiV47fAw@9Y(VdGlUetmjDrQ4v zvvdwZ)72qG)yMBG2P(Ubz9xe4Zb_$HDF$FD}9(%45M03Jf&Q zsp6u^`oh|OipiI49fBgEsIKZRSml*8af!#VbTv0Vg4uJH1+>VvdlQ(Dy_~ zA0~>@D&^9qcCG_Y-Jqid6wb9FX?_G7vV=MP0TJ$M7dL_Ooz{!YW4SNQ=#R%#<2g_c z4pbbhL|0goOW3P;b4ezwTB6j#8w+%^$`Z`Nb4m|?4d53pMKi!lUzc;%-)z0>YV>pg za)*&Lg69dUnK5X@A6cg%ZUa^%EfN9dN68hP2dc0BC{~cHx^5(}5?o7CHt~!x`VYmA zuJ(8 z^G5Kakc)>D$dKr2KD$bS`GhVfyn1+ji?U$mWWHR$X%cZh_XP^PkW!(MDfnK{gHw$V z=?5`E*Uw{k4*0Kub;B^`s!Q?}nWRQ@S?>maM$N6WMrU`2x6KSYIH%RMMOOf2K$^e9 z*_3|Q_19+)YG_LuvdFJvODaPaCket)wJm!Ne{5}J7}}4FaTD?_AmtQy z%{v!VjoyetlL!L?0KUIWVhStdpv^Q4UeqRdh)=I&`y%r={b7LKNR>pAj<5yJcoGv2 z)^mE$Vu+HVf87ke48A_YP$)g+2krLr2f=-LLZU&ekTGt7L;P#d ziT#~!1P#7$jEy^*Fg4n8e>Y>W-`g~0zEDLVPf>$ppCGikQZ;}uD|FW z>QB^u3cEiZ=Gqk^sW3|{0WpjzSQkc8a=7L~L)`7Fzcrg!PqQ7&_jbHW-Q96kE@BJW zf2=TI{ee9=J4t*ArwN(*XttOo8^&;vXj@A7T?vEW?8W03wQzJ9rpbDnN<+gqM=j{t+GMc#Knex(DIa~6B#3Xee`NiHN=U3sf-Vdp=dtTr1)xN4hj|x~VanjtSXoi++D1pJ=$_ccl2rjM zvh3+4Ay)%f`G&wtE=3b^8h$R|6R)Kzm645tv zcbdk{K`_4|U&y$k&;}+}MCm2De_22mOws`ZUcmipgNj*&;u_;zCb6EWDj?XP={I*L zlIHZ?FV|#-Be{yOPLehNTtwkiRrQ-^mN{5V{E{OPW^Q&AkcwpSBpSvuB__?vNeMHg zF?q>o=NB{7S1)Xopr#iDpz9adv^J$5*_vXe2Rgq%!2Of7HMjbv-x< zaayKRHXC1r&dpgB`!3-JF$-R1%CPNu>;#TRpivr*>ICH}LZ5QT_yFTe92}q4fZ@i! zVH_v%MA3~Bzs+5qa}YI%hz(~6Co?<0u8V6UDJsqukGY_o4REP$kF;GW4qXJb@*R_2 zkU6>j^gtsh8fcY8lV@t?f9BuCI<~=01ZlSg6(}EM+qE)^adh{nn|nDrf*9+lUEi^2 zf_^hzf6f^+nV2>?V3~$tJd*R)^k?YGJ$doA)NWJauTSuplY*644djb22FVv+NH!Yz z;*>?)aw%BeK`w^prbS_z7wo-jp}E;Vxe;SNJ`QYEyT*?fXk2E9e;qo8UYTbM2#FQzkI**_)njjTwqm`p6F_dMuB7RCehvfZl!BOykh4XaB#*14Dy z!VIQdC6D`nU7W90f5^T}(}wcj_*VRh$?2}=a=H;7Nr~R>QCE!@dZyHNiz?lpy2ktv zDTw5}bD{fl*FqDR8NeoMO*q`abo;QITPA2km%bcaTLnOo^4B`A8b`#uwP<^)r@#0D zCD=PuTAasb5$`Mcf3Yw$A)0~2L8E#+CXmBI zxvrd$Vy_z$k&gg!{{%@76^ro9;J^1WG( zQ%eNPqa>S^tpzg_cHe#U^!U-Y7?gGLI#+(8-mPx>@bYHm`=~un-1J#y+cJy~PQ5fWpp{ zm4}9$3I4o2ZcDd|7(D|~rN{A%#ggDNew8Fx2a^b`|3P- zcfMWEe|5Mkq-hvS14jhH;$BST_H|Cs_FM{CYXa0y8IYeECMno_;p|bMV3e|+jG_ET2Xg`27%7D$Hqh^S!J=UiE&munou^-&SujvZ%ZMGg|5Vx zDs%#l?H)SF(AjfpttYOSM(f80uEH2E?z4DgfAfH2z!BSe0~~~m@1N3dqFK&W-5AxPT)E+>9nv(T!FsM81qQ37gvdi4L>9Rl zd4V` z1zEF?T45}GzB2n*e=^Fgi4%8y2x2(QpSC6t-acr}r#1dPkN$0k-ditvL-T9yVJU&6 z`46!!mc)G)^0PO;NTYr{Mf=eGFE%}If4aD}zP2Tj)SEUA%@$tqA+q!E*OXxGLKUhK83wZ^-A1oVCK(ad zRnN&MFl;R6c5cvkKd>HBURVx-wAhp}lQf{I8LdNROIy;u$>O@x1tPC3f4b4@RE`G& zjiYJOzv#%VR$aVJpV_>p^!;xH?vxE%=st!2jbTw^w6j}TK$(G<45)cBlyU7Bs*OaI za>%Eki&fEcmhqW}!|SPsKvyjyU?|{F+Js4`{Ui$c>cRMM$xshq6~$7Yb>%AE6{{dD zQp!|2OF{iEr<~TdTNJ9Bf3a7Gbb}z`P_gygP(?>^;S*ddfF7}{ez+RT`lpFp;LA74 z*p7`$Q`2M8<0uP;A;V%ZY?ub|Zr_+suF`PYNz$5=x|&zd^=q6*U-h+uVKDc# zDmLU-;l(sYNf%kxf8ppw+uvgst)pEd`5Do`rKhw22QM&lmY2GGEgV9wXZeCh;RsQlru z7#L$KBQgUT3lr=it~!;{Q6UhCn9jVFO(H}#N7JDsv?C*;t&<{81gn|Mg|dKRs*D6E zKvt2>e;qn4esm2@Oq1!HbEk;7#0+kELrR`5a&p~7&*1whw5y{jpk22$ZlsuZTbOC( zoD#cSrJ5XwULAtAiu20NQBjsniQ(13xO(R)Q%z4-nx-5$zg@)zSX`VH@<~l7lvZR0 zqJJwhn>dNQZ?r}JT}|R2jg8)`!BXH|F0k5De_#8CQO8civFTMpk5`R2ZsgKAD7{l^ z@}UZEO@m~YX}%T_gl1Mb-YKwR|Az>dBi5s=rw1ki`=v ziz?y}L!aXafPyJ+9L(!OSvMOwH7J1idTw-!@>V2qLl#N%1xit$a?qi|Vi8eIpUxMv zf33K%*c8j<7LrdjRDHkK?@;3rhv%D_skH&}VF<|skb%2KYTykabI&OHY5-fZFSyAnoOP{tA^9cI3E ztyBsL`Mr_=bl0I{G$y`9bGAcl61AOte}~?+=XR&WWu?SnPd0?EzhyFst#t}0w_2)< z*oT&IfI{`jZDEsStncFukKE2XCSCEJi;4RT;#>Qajr8@4ZtAe$rLWXLPWvV=ZTGr3q?Wu!2tKaExVSbTk^q#&Xs9YwvjOe`N*U zsf&6ux|RqT)_nNFLGLBR2psWv6h zdH3sfB&G8IkzJ`PI5RdkJYc{LE5B{o^m13NdLAxNItxqtLsh;T)Z#|ea6+_`$p*?I zzFT=0!oRnCy{J8w+giD34Joce_O)D`M~`wnP%X5|qM2^#wj^*|Skq~4e@UH^p_jzE z@ilVFfOO7Qlj_~PDebpTCSq=8E3+)P)PFVM3amcWbrw#N#^*8GFr8~Bb>bH(d8G1! zSn*N*Zp8~lkmZIE-1oS2VRYvF!XJ#cE4+ArDc)&blDVifmL&6*MpsWGi`VkquOJ6a z42GC7b7#ZodPA~htPQ%7e<+O49XVK+ZL4BpSQpz7*S~abMirk=LU_C++1$5D^X6c+ zL3cK=3rooGc^(&dvV0RAf23_^2hZ^EB}{?t9%3}L-+P_0YD$<-BgWRz;~2!*l&b7W zm=D6dc{hn#p~B|K&p5X+$YP|va%wkQ!&Y*b3?Elql#-=#(IKWHe}&Y@8@JzwIp7om z$kqmaWxsE}D{M$LWNr6tx_dKEnsyskPVDq{FK@QqtuNUsw)Mt%deF@iX%kLfqw=xs z4`})--g>#Z??P-aJO?t7!J3;I!D$)rmt|1YdDAZZtIC1Ah%*a7C$r{9$U_c_**F|n zQB*5zOeA_90K(WWe+nivhxwgq5H+WC8%GNL>Ime&y3leB1f@qwxt^D!c?ddJuyTlL z0UvDL^(6dOh!8a$izfzViOJT{ptg+5-mck)<}gwwQ=7Z2CrrXQZ)-YrKN1?PgG~k} z{#;8g*U+rXuieAc9QbSFmwDXBetY4FP@HQbn$!gt9(;(oe=V<)(P*xVB(I=IX;wJX zkOg%ad_T#wK(gkEXi}U)G-0+yMX1etks%MzLrS)y0l{9n{)h|)F=d3&>2!l@22L+n ziB(>TVf+z|dt*|ul*^UNL{r|KIAo3ZqA*CcHmZP`>66+Al^L~9oecG?^(2a3Mk&Gu ze-VsY@GqSXe_xtM9v|6{3_^LN?96ra?yasheOOJJH>@Pi@$H(PJKE4`_C)EARzhse zE|}}E6PsL2=j4xIJQVy-Oc!P|B0-5|4INePe?=g`*qh-DQ4>za#8pLQJavQbVtFa- zVUa=A)YR4)6h3Br6`ez0BT>_(e0VO~OhY$XgH%K0e*u==LrCpM#8)*wYs68+Q)mB; z+n!zbSip8Ho1M*$WWB~12q;89BsGZbT^;GAMh5Y zHBT))e=NuW>6`e{64chAfJQB?llygyr_pGdY0IM>aGyrgQHWIpW?}z*)==R;aAs;? zMr@Wsm^Vzm5os1AJ8mfDHL1yaGPI+6{Y<7aZ+>6yG6_J{*@}(N>a^5_c_m8RO(Jkt z6Kg`I4UOY4!Xw$9(5^ZmSP?IiY$#t z{5s4V1K>?($3QvcYqeL=6i|h;p+>cw%Bz?|?Ev1lua( zl(DvHAJ|8gk01p@nj4}gQBNhsoSr)TBcV|t=}^%}E+BqRID&d)4ZHEvQ8LrvCF2;c zozC|!72nRMuV3Tm1O}br0TQFN~K9S7>85DBSyBd{MRYo zEFwczx4}Bcu9A8t4i!}crlE^%)C8Fpfmb#JUWZ%T;H0k=51#pUOCLKPPV?_xyWU4( z3+Kv%f6@)?3}l5xDB7`?SIL zM6*ZLp~0vCHii_QoYox_1B-^E=wobx&iWTgLTD0(2pohF3*D&tbI>8F(P;-SdY4j* z$+P0I%16X72GcKvfTuB;b|{2Gf5{!vM^u6ysEXJ!x4@TTiiS{O7$b3#O^Q9!h%qeB z^cgALfd@p_bVFA=VUnsSJejBX0`C913LZCIh_fGL66P)TM@X?~!c3C5S3|J{XhR9K zQ5Sz7BMQ;=Qc7wkX=YL}F$OKu^)X7fOo_nR+d+ZzdJ=!M$Bi~ykOzYjf18$(e+6-~ zxAXa~Peuw?mo<2yMRY^B(GUwgYmvD`XD-@Xv=+V(<*qM}!D)^5rFFWL_A$C>V&6!; zwHElzKEiY;4=x*ujPhJWh9ZE)$$;$G4m6lmTnxyy!a_G&2b3=0oxi74jQPrbhjy|yEYN{(ARePpIL&PD2z{>_yqBrIXvq=h+sslZaGu~& zp$%f)hUQ63YizKh5Z5d-22dmg!iIx*Ku9z*ck*|l9fw2#afIcEe@EAnwl;oj{iITcDQ22Y5TbHZc;8l|+1lRO-P=Dnv}n$Ti5M<%Fe@sP#P5I- zXLvf31m>$)aMBfMf97!huYW1)nTM-O>`KJ~zD3Ch8}PGnQZFlLvy44CWk)tf z8y4Bw!fd+*H>p?ok>X;N;fb5t)xYaC${xp!7G=SHy}?59o{jb52-Kklh~h#ylt!ZR zRtUDk_O&WB5(>czb&M93p@DJaKvCvg46#91G!>R)D?$30R@RfLAVkQ?MG2&emt+D0 zRAwAT1Snx5f4qxI7~Sc5(Ro}FBwmg0r27SYXH_--UHQ%)N99Ts_I2IRHa4IkRu-?q z|5CoONs_~h0ahTE2sw&9xhj?qQ#n{QRV2z}JEw$2BVk`o_+Peyhc{nJA)a_=Fbpxa ziLUCPLzL72b1TXh7WcDOAjyqosbC3VD`W6Fn~w#Sf8R>TP-yTCdGVG=(?Gb4VN~A=}Ogup6_hc^LZS z6QMEw1}|9mgEw3Fy%h|D2V#udeXG%U?n$h@<<`U>==n`tj0LmjTC?XAdOxYG9?x>O0NZWoHkh{At;?I^%bXMetsR{r6-&;7@#a|hChs?&@sQ`=e_ zf3(1hmOHG7u`>Iel5OHS7U&Jv)i+knw5bAfq;YvU8O<>ijKe}?G4{~c_t+x@Klg?_KoKWqD2Ywh6Izwqm8 z8qP+64rTD|o4=^$f7QRivzWdH->%6K{*;nop~tnl{S=8dcx-QXSAYCleT5b=3CKs=7D(+da78sFPHe>9ED zZ|~HjYtwLcfz57?C$mj-5Nx3FX>&|R(I)w6H;_*e6L@oy#OcN~O{j1Aa+2~dn_1f5 zl)L;U-&Q2-eUj>tt#L(U?2vGQIhXoZPNAk+o)|5UL2F@u1m9@$2i&mx7ZHkT>phc$ zO*NylcKfl>6$vYd0~<`bh6xTTe?T6P_Lr-o)Swo)8H`qW(=BDn?mLt~2oJ`=odZMx zz{9-I5RT`4lun|N%JzqONalqOV7Et+QH?rP+>0GCI3bMg)0Jot*CnyA+3=JQWEAd} zNtzir5H)g@Xq83MYC!009L6lLyYThcGCi^n4u&CE3HJ0}+U1aVez1a4f1Q~!MA0-A zXQ05x%J+tcI|V-5lo-xOIXXZ$D9ahFD6p172|v3sr7cZ8k6I<=9RL%LICb6*N^8PD ziKzZVe*K-QT#Otvk;SMRMTh-km~}iO{E8@>VyuAjcBU3Y8|^7)5;h;IgKhEc!rCX^ zBHKza`!T{mMox5>OA=3ne+MLGD@RE<=$gPw9td((mtY?1w3OHGWaAmtM}gDa=@=U6 z*4Dd{yxi5hONX9dh@8@QN73XQn0YIxDOO?x2yEeAW?dZF2hNWxyQOs4)l#RctDck0 z=58{?iNX4s$PPdc*LFq$ve_n5j$Z;sd72An| zxr{hXV$150la%c?E=o-|;i|b(;V=4N9;gSJ5H;04LFB(wosD77VuoKH2H)bPcH6qF zn`T`7W}JW!!|)nmIr|_mt>%ve%l6_w8>}bzi2U^;8exzHoDT4JCz@QwX)-}Yx7|L2 zPmaw8Smv$&9-jOTfBrco@$#Frr^vSO*g3Th9rbWFpJD-bOL*8{&IUZJcKZcQ2RqhO z{o5P-O3E!3U>1vNORZ2g111a1k(*_)nmjz#P{09lbl3jf`FH-NHqy0U?gxfK+}ut* z*teTh&s#Q|`*H>v&Ttt>y&_3>h7U~}`5p?~PQ`7l7nq%kfBhKF&nv8S46HY7Sz22c zP2EZGE0lDox?HX*_&FD?wseKwy!$U)k{VyLJ6KY*Lqhm|i9jn~yrP<2T)3)xW5s=; zjO*CB^P2g?YTSM5&DOi%%lkpI(BP64bsz3v4y=|>?KVou+S@hK_kkXl9atJ%Ek#m{ zQ4!U@=8mUWf3fAJ3+}zXHg9`|r&H2=bF2ETJKww{)|9op ze{-U!9J7+9Te~-JI`1kd>0;*=bg9t%?xD4VK9fCSf6l{H=jC#fgiA9V#C)NVVN*MZVBmEG|-F>gqX$$M~B7O;4_WXlzq zuiwLjV9Vhu$x%Q-o*FY#vfjC2yNjz%J!kNNJ$U|pDSWrNm-{>Lf{T+D0NyF-USM0TD~MXvDuZV(MatlyLe6SH7uuaswFE>OA(<-lr2hbcSA z*qfV$c5`<^>0Xfl4sI`DoFks+mRrzVLk;`eV$s}!CB#Xf;K9ev?c1utkAw$tG1!><^(l8= zr&?6JNb0v!3V`FkPXveP!2m11?K$0$a_4&pQ^h zf76$YWpDTJ^N!^*F7+Gk9Bh47rICa%?nL)5!J#bCA2&DuO5Po^+;%O50=E4psdDd| zs9rf`@icc-#$SytMSAtG#w%sA<$;i-;_FwRYOzBNXO1Nf+UZJ ztJchN;zg9bMR~G|Xlyy*jFyZDqYkKP=VSvn_m6J+$s|O(KxD@*{K&6kJya$51*gHOhTv*Vzm`c9_4P39uU#e`!!~ zeKW(RD$2wr&)@zQoMCi@9fG01+z7g|x4UfzQutnGB1D+9HP9yM2&JLFQ9&g|LgcSe z>jYeaj+`JKatx+TV5(2@Z05aJM zg;sf|-JtCS?JDtCrB%fuc2m}Mf9(!ru+m7BpV|Skjk6piE%se@$#dKBa0vRd5l{{> zK&fm3V+~PairkPANhfu(x>sQ$K}w`T=hG=ccYuI^`?6KNO#=_RtYtdP6b)x8=15UP z;pripmO?7z=S!YJF40Qn+&rFNL2d;#-tQt(RO50<%rtCc;!J}mZ3mH+e^q68tg?~0 zCQI=du`paB&}AB5Mwm34Ql>A;6Rr_w&?6niV0UjT6?k%=6e@ObUVJ>E~Y1ZD{#J?JJq%{QYYtv+i)3=-06=*JmBi+$4 z9-B@O9SZ`UfFeU-AC{esRy=`HIb2o3Y3Ze6JzSd&azHcgcjkyIM`DypSsz;-e+6r*1)_Zn5>QIU~3(R)um? zXTp0d?-9Th6WO z(b8qdFTM6#v3ch0fA_}lu0>+rW~7HzFO0Bmc7rc6te{Dim7Jgq-y2t(uq({kg(p-5 zqVM!Sne>x$IA#+rGwyjv@u?t)Va8@5t=B07l}v!irNRV92{Ohdmc7WlMa|y0n}OSb zyA&0nKuI8DG$*!mDQ~x{y}oXvZMX%qR54mk!&Vqlu@txne{;vAM?KOY+8jeB@sv^- zV@{!?xv1rx9cj{g z=j~UOS-{ry-+bNpLEp^-Losn=7ajKJ)$BIc?ITBX1ujv|9fOIQ!6$!nCgq*|qa@2? zUFP{AP_`wuI$U7f6NQLsWCIZ$HYf?Er#FHl;0vmTe>Duc&%bPTIW^5;Fbj}|lie|S zRxyqz(o@M=8k)7a3dVhG|7)^xJ*fR%!O4putR2u7{zQ;t>j`Zj3%)dlt)iXZXLGCB zJ6HNGgf!u_Ri$#FqCP~*4vEiKh8s(nOIl9Sqf()TTYaH&1YWEzllLoB4WQJYAK|2= zy03zge^Hzh-r!Y$@=bTL*1KzGFvJN4@6_b1UT+Zl!iCOSLQt6EX-u)CjIXk8Z?EE> z@-ia!M{cq2$Sqb6jEk%uXs;7KrPVHc}JKIe(SO0D*dTsY^>$Uxw0%|A~ z_=RNp;3e{SdJ&DIG#tr?587=w96KD|R1%=I*Qy>cSiM`SN4c=y{k`g8kSp|?Oc!^1 ze{fjc{ad|TjJ{daZEI`0^$EJomUY`asP2BR-fbF&^D1F<;Fmug6KI|bf7p*` z41)hp8dQ%eJspSr3(H-q^iUoQ#%5+zeieNMah7lyaDr9HrXd5QM!8Wof=3teXn^W7 zruCBHO;qAc@H(dN1|RL{whWTh7L(^xP+{)9uLs}#MkK>p51lKC$8hj z;f6ZvH`ci_t5BR7kEU2x$fNoGe<>j{9zqvbN>XTY5rtDl%6>S_=A%f>*NsQO{Od<( zPg}N-u%)3N@vLG+K8>iTsuAEi)-b-|w4cV)897$1)alxD*r)4?sSLU6+$lC2vARoD zP9p^&&i8;1^C;ts0GmXdFEOh(i!!l$vA!+N&v1$;=qc4u#V#}kB=;(~f9KiURJ!Oz zn)L=Yv7Xp(8w5#tHXvtbX0uV<-7py~Fqth?1j{2{8QP(i6_!5*$zXrKu2R*@$E1>Z zsRY14jYw|~Q#cp*iXK}{8TD|vB(iy3fg&aov@A{qZv|G^+H*Ch^sJsYu8}lD&#hCQ zJyKbd)gi(ewt`oZ92sWnfAe1l~IugbCXAh=)kxFV5g1$yKk2!1so^-Fao zopzhQG?{xrEg#RCi?J@8H}<8X=8LH=jEro>g3@q~wf2{JFId_k8QY{`s zv5~6uu`eJlqb%;R@Ln!W9%YW!%*Z#>bwx-Q9VMtk@MuE?Qy@oiv1~G(0;r(n4rY>1 zqBAIz5fH%1G(>cGRS%1x-WuXdKYMVqn~9={;iSM$QYCg%$*?*TL2=S4`TATwf5VX< zFt&HOg`%K+_Yy=5fBdbLaiBHWfXx1^#(w?n1842{k%quHsqXTqO-MXTtF}}lcJ*+n zQqLl?!w^Gcqfi_9EL^@I6b}a~ho)MfwGubH1T9|+8_a>-G3~-)EON5*Zs0dDAvy0G zH%nyoRUx9_ZlrS?$9-Ay=BT zq<2)iT{v%lL+70Vy(rrL4sL7vQ#FYdDge8exXKM0nM>1atJ~Z1U6{=7s=Xa-Rqu_F zF~;G?4qp3K@2s`EzqMj#`Gz~_C58=%^+C#vC(WJDXBoiZZRSGrDSeD~eS*>~`(7|9vduX5kTljUSmms{-pmQ1Z zRfdB$Y#7gLaF&p$Quzv^isOTMhphqCLmi2UjAtUHf3~5lame?TCGn5kK!bZ(U^s~H z$1KAM3j>RiNflLHFJ>-xxjf1e-yJb}o#p!Xd~n+uC6jY9W0;Qc0+kLpLREoFW??+AZm$h1ae}*&UZk*Wrpm|$dVUzkhxf8` zP~)(^fAn+|&N&7|-l$<2qTt@q2yGI|sY+_f!=wkNC3k5`3^ljzVe+2B4ZAiKyAT;l zA(Nq)&j^e}T%UUbLI6h`u+b@4B?#_G}0XANw7; zw&0lJIoLoZ>sFB7GMTV$Z74@~;n;Ov`ZwKW^z6P<=>p`Tc9`3OPeI-;WCGbGzg-Pq zv@e5N7gOn_jM4UJL=w=a_x+Ws=|#~+(8_Qa_hT7JD0T^}3k#Vls14={UXNrYDfEb2 ze^_D*T{j_ARJaajkg?LpxPTgBR_XWXAeMR~g0@GtIy?F)s~Z6YExH8JW4}^&d`^L_FQ_O3=DyBFqv>i(YFgR<5na#-B?XNra zpapxbbZqT5Mn^Ym9Q->&P+ z0o+89D5MbDzVRj7xV{Pl)pG){9JFmkm8S~on@`y&z9+gY)*#FA;_SMmISfS^~r>EwT=2k`QxGE}j5#K8RF!X3|1DnUUf4(Z+ z4e#<$ScopQim=FkR}Z$}|5t=#TcqcEAlYQPdaW3yidJa7(VNF38A}dX!$4e_&#Ewg zO(td***-{pEi9L=_D{*OEj+%}j~SEaON&5@RfgQV_TP&Tz7B2;P|XhGCopN=HDnvN z^?D_(X`m&};O$i%)FKzWy(yxUf4~x~?3y>2;rX5jd9WnQf2VpFiqou6YrfqoOWChZ zD__IfZ0T=)f46!ZORjmuUM&GLJJ|hQZuFUqZTW@Xx_k3gI(OLju4hqczCAHW-RuF& z^>0ovzAOLj4crFf%c$ly@WFZo&04lo$|kZ2LdPNq!FDU?#WU^J(__}Sf80h{*UK(( zhVf*A20(Nz*vL@}_OW%HH~X3Gmy1xI#eOLLu>lr~%)!`m_QS;++v;9Ry(OSJ)Tb^^ z;pwboXIHBR;7)97(WJbs%XL=mc9m_Q{7;L!lT?G;5p6fA7u+kEj2 z;&=qb)Ql5mybWr3g+s6}e|=k~M*npWafJ@uEh0n!%j3P5Z8yVsro7O?=oU7YPqZ;p z5Z0xiFess_E#_|vj?C6w*_E@XpTePz11>p4R*0}ujgFcf*dL=-M>O*V%^z%4x8{~M zKben4I0^>kgM=8VSTJDfO4<;QLWWPe@=%+?#A*u%Pr@J zht)$AExzawl5Uid&X-YGO&QwKZgoGvWtb9~SL|Z9xjLcr3Y4?q&S9&1yQ>m@cl$Hy z9t+BHAchgc$&j?Ple-r?0W|W@uP*e@@$5o=SH^nFU0_KzZFYF_`uU@?lNZlBN3Xs) zwagLU!Oi37o8!*&f7j2Rojf@?er0|4^7X@KCyzQ0e?B{Y^y2Yx@ta3S&z?O#Iy>^2 zB~OnZy*fVYJUu#n%66ugM~}XRJ8Q1d&MDkvJ15UO(D$>)>Js$ZLdQln@6nE4;?k&N zBvfm6ucI`EykA4K4ab$?T?`(E7TobDfs3IQefnL?OlNK4e;WT@Fg$BbV4)%T4Zr=a z?xn0U9_4!Xo&wq|I3ee+;UL98f;;G1`gF!f0gDE|75qc@6-vyQ%-jzxg1BFdqHx%e zkdozgM59|!WlU1L4!*)#KdM3|n^tg+{2ZLe_{4VW9btS=2xL-UoblIQl+$dm2}KQ0 zBkHTtcQwsCe=qCrstiKN>uE;5DIY$sfp7HuP3fEV@#7<){S6MikDbO;`F2=bm7hbx{ znk~+BINI&RtKFn(>)oRB(W1vA9nl+q>NV$tn*(nO37XP+Z1PGXo@JZ&g ziz_TwM1f1%A2ghp;sVZ<4nHWwaykTvhg3nQF^VQ|`?-G~?l;z^+7dXe&ncv|UZ!A%Oa7F%cHeMzv9{;n?0(XEri$rIFemONN^< zLExh>%OnTa31^_|aP3V^^6UQ{=z*$Rt zFXYoaN{WnV3p%|@(t+B$G7b>IBmg8tA>RcSe;t#Gm|4O>5s1W%xf_>BjFJD-YZZ7W z0g;IX)Qu4gx-=_^gkhX!GZsIEs7W4DBly2k2g8Ql@{ryWE>L=L5VZ)E3z=f>S;JVB zwb*xF9R>sTagJgJi$)P~04@jOZrHS!l~O}6XRDq7KZvRFa>jC`p??Y(CddY=uNF3? zf5H*Dty)=U!Dg`CT!-_e{E7bqPXvDjS+nkTjPaa=7eaxxQs67MkPThA4j&Zg7Xz-w zwcJ%fKAp70OvDZ9mgEveek0#t1rCD-`c=h;zpl;)Myo+c4|fCI%V^^P2c*~T&V%_+ zrxAjT&Q#EXmIy(QVP7PQp<$NO+CH#$e`R+#OY6k-Tg)zdJHgjq2WXL0R#c%;`D^#> zaoDr(GWGCi*Vexo=@W<`kBchg)zz*^IuLS+zq>9kzCdmD5DT(DnhywJNO!9aoQ5jm z91drc7zN$SUc>CB_j2>Lp)6^rUH{Ej;_AVE3re|%|$ z0+(EBOV*_B>1thv-imM5lV-5UmSjA$M)8N?A6P;{W>kKybyyswvZ?IHR%(p4Gw7>W z*zh_`C(4krnau{HxTozWY(&B7G-g@Xe=8wt?+h=1TOXSTI|se3y}kX`PT1QT4tu*> zQNOnpMcdnl2T|`}`*7IYYaO(mw_dKg`&n1cA%nZscEaZF_F-?(YrWdChJ)?H9r*tpd;G6627>EPr@`g8 zMS)MM;(C5zy(6lyunSbae}$`CUCVQ99us)|@G#F7%?2_A%Ka5tf*+w16)y(*srBFs zP_4=(^nzJyHoCzgY<=81+}=4j+~0}z_xjs=Tdjk`?ZJMy)7ya+Z}nSIe}89h*bE2J z?$*{$*x%W24z`B9-p=m9et6If_hiLfZ`$Fl>uRt=y%Y5ZaD-Cgf2$l)C9w#Ht7m6~ z)2XugR_LJ#WUAbSjNWM$HG%h0iMy(~zg^ua=xv=;2soOu_hk?&E7U@xv>x1d920)c z7wcuNq*n8=`Xo4W$e98!3~>nEI1=cS!BvT8N)RUwR?C!G&?m=uu_3(r01j60bI}0G z_zt=nVnlyu8l@Vyf4Z#l$?oU#e*x2Go5hW|Qus~I>%}!O{pBx;ZZCc5IePgLWc9Nb zAi|FyJ$~9beR}i?erLyt9gB-!k}&UlcXaw~{+rX+55GPB+4V&&_BbicKBn{_xY-Qg z((q`WUPdqRGvy0`BP~qZ?Nj2^UEm9Kh{DpM@!45cC)z)fBUE05+tvFC zqHqw92m-WE2uEXf%?7Y!KBK4YUdeXUL!=4D!#{`rPN43oI_(+7YW$O-*N8`NF4vweqfeKOf9tiVI z;9!BMQSjsZ^Aevn4{LXV_u*5A6sNi$(+Ko#jp#Ir2x-qC-ba(hRs24lMuRwPB+`y0$Dk3n?A(f>Ja{hx!a|8uzgG#ZV@f1z<8mY$~Ci77m5F$U13!04Rc zRrpxxKzUZJy)n(bs|U*G={35dfpI$BV8NKzwe1O83$6DQ>ULlOLFutt30WxUsvmmZ%3k zJ%*X%3dy=L8p*n~H+;HUjb16kl32;xj}5)^A4E7h0Z&*&G&TXEg0~9c@Oi4S6N5}k z32d5;O%CzKUgDV(baet6b@Wpc(H*5t$nrbne=_~H#Dc~`(ut`AK@E4PB|m#RhtWRV zqnm@nLDbsswVHdaovp)z9$dV7VQ*kPYr4qmE^XV5k+k!$jRlKfRukf`iWvBK_wTd0?P(M6p6Rrp$C|N-$CP zpt=o`hHY&~LFr5e`LnAU!!&mXyTB^F?Ov-NhI`>&YiobF-P|5-?e=$@&Fw+de+zd9 z;o)Ixf3UaHYWCo%=H3q6oO*{%_$$vaTZj8Q{q4clL2GwwyBS7@+uN<3?ZMveb_A>v zZuPbfdWTz4v_EXM4u-%uyZ!wgxIstZcK=|%nNMspMh|Ch_0m~autKeTef5cyPG|`g zktNO6_D)^I0Q|b^Y+`w>S9}egf80~A!LR$d-7MZ?%UzVV(MS;+mW_2uGFL=}|kO8BHmR6q>(1Z!9r0{JxAr{_;Cx7HRFy z7)DVI8?+TPm**1XTi(>?-9K)*ac@wP=mVTkyNX}c$d-8LMs|4gZXHlQ9(T=uCGvX zpNEnoKYfn{;S!BFolwh0gSBd_NG{L)`@9>SFeUh)G=vFT zh5_s1EMMtS^<-3H6v2a<6qFM;Zx=KH`i`OD z`31wZ@Bg^|nl#>*roiqrvgVsX>#2C-5#B!DqHBNE)fVpumrI zdy-5LhtxKD|3z#!+R$z6+u8;m_F~H<4j=I8K~X2p7w}bcduJD6mv&ptCj57AYtJde z>oo8_o_`Do@`^6dj$tU!pThU2QZbOKwQMmaH}V)}Y}((6)t@s*DdeWvShE`at?rKW zuywe1*xcP~?zEaa2m3JI+m7^!vafWo{t|*YBq`yFquqysp?kUzbnm)Yj?EdZ&$zZm z3IEY7N?kuhkRP|U>0t%D%N#%(e2xaCKxlR^$CEqI2GHR>m zncoVZ{vuX!#xg1%SwL=r$o1Tagt+f@<}+@b!KBkyIL#XYKmN4RB-_fg7= zC2Lm-;;Ze>Zz{{PXcYzK55dem^-nKRJGN-G6j+_5IO{tDU1G=;IlD z_5Ib+)jyASuXoPAIsdkI@%^h_`0)IPi+{nlk6$LIPsh9ce>{1-GyL)F06Ty5b999L zJ=}S8boBb@>G{dg!}H^BPtO1O_~FN&zkPUh-hXs{{tsyN!=vwiKEW{_eSh@rx99zD z9-V#<@4UxGKEmhU!q^WUo+l3<#mULT@B8ne-KW^a)%9x}@D4l!^E#Q*=PwRVUw?0H zrSSX7k@u)_w^C{{_W9e|M8>mzkhi2=;R+q=gI8RdGhSp_d8D?T^+@b zu1@gxC)V$etlv)_U2mNneSZQpdwu-yd+77~*AM@3^&PIs(aHIHp#M<}^!)ba)xi<` z{wXOX`=js8???9MM^{J#vB;Z^eC;nm4w80X`M=YJTcIXlhXKRo&6(dmczw}ZpOj|ZpUKfL~-7w#Wz z?|%1w|I1%qG&g^qzI?f#{;)akU2XO@2bUK+oAbTFU~;(qEZm>;dWT;Q2S4||`?7a+ zxc|#fyRB!J2S*n#_WzOoYkIWzkDd2VH(&QpPmZ^ao{gV;fBvL3{eO9Mc=XQ$Ajo%@ z$B(W~Unfsa9*&MLzCHauJNa(+sJAsZeE4`eIXU|2o`{Qr+j?Ug+XGa%5KYVok=*7>i*WZ8t;rmywha+){qW0+%a_x`m&1R4IeYQTH2*;{PJV# z!@}@`s-fK79GCH#q#~c>ZDY$^3`?%^zNT z-28U?)z10j^Kbt-{rHdXN3Eluvg2Qp`04W>j^^3v`|r;7j*h;afBXJP^U+V=_tQti zZ^KvL|D*q5_aBq0= zuW!Hmem)pq&c5yKonGwi{r~KJNwb^S((PaQ;!QQ65lB!G-+;bHqLYN)-~@dqgainL zBHn+08-FC1Pr2O4F5BhndzhSk5KZpfNwU@=*_3;ul`!st)72KF+HJUJ)_le6&Mr&X z+jwOF!04w}-9gU6rYjZ{OeTgsA1?6x)EMbCSjp?fo<1pu#7w-%wYI&d>sjindsa{z zQcHwznPdl9uTZ#?XDd&*)M(LqnQ|1WO~k}ra(`o~a5Y;Cxu*KA;}IL-qTbw0cDDi~ z4sN!BIvwO!21c{yqSjt4-JHGs_bP3hd*hJ3&$p&wWlp*i9V6 zY=5YokE9I6>{(ioj2#$ryxK6$u}m}3f+%QcPqR)ZkMEKEt2BLVq}Xe{M8R)fkNhw=Y%v#*beA{-42*CZGO$?C1&V@s}hr;;N4t_Gz>J zdWC&p(jB<{t!m~ejw9VUPBL*E%K{vSGMGEAo;VIS@(t4(d5tvk8urd>l9ozjz<-Y< z7Vsm0xebo8n-u_|6g2>@!D*C9)_O32gL4L@3Fa!eaMy|{F^AitiOah?E4eMW6u;~k z)0l}!0Zn|OoVX1|jeLirn9&}JRt&JtU_0la>qoyt%nPb!#+>rjO%gWZ_X7h7T+OHMaOt~l}>Nq;h_W(&@# zf&Dbr03VFpapL_V9oBU5q{%3p10RA^P;9J%Nd@kjfsZGCcGq2ig%8mXXeW*SBuT9+Y?*BEF zj2tXs*vbDru#W2N=b4L~Q5%A~fTz@<}`p}T>=Y8L1 zUbTh0J!4!X4||eV{J8{vDz!_q#3}V&)RA78>5YOj=s_# zcIu;@?0qaW5I4Y1cs1FX0DBT?HQD*T&Aw_2Y&P1deaQ3KyPf@==l7EE;Q0culcjqH z*y-@VPLP{iV5h6l!+&UJ0PI{HA9jv$3$`cDW8MOJLIg1{f-xAcAAzEKg-!zIzK*-E zO8^H4co-a4WD>WS_6Ot*pE$Ucf_PHFaWcTqh0%6qfWf%9z)qK;voTMAG31jA9VZL^wS1sxgB&3NW9=OnO`@x zxehIr(~9=4T5(3AWtL{g@=72!irOyuMwD z<9fb`SL14%n29~4#k-#9Y>ez~10v+$2O27D;{XjwJwMK^*w~OUDbe+TvC^F+4aNp# zW>*tCiCGbFV9Xc>+&B2G44>6e(ZR|sbyaA`5c9!W%YPDCOr$jy-1A6a4$)+vHCtR3yIziW}gJ1!Ww?VdDhNV z@uWH+#f4X@R47^m5L(G8DnP1rKx-)!-oXWQaHxD6%{Cl!0(MvzLtMyfO^RHXbfdwS zc+0?KDu3EbR0u2dHe>b@y>ZzJqeYkzt0J<@y@n)df~`pNc5#)^lgilDMEdHP%-Qv< zs87$uyvgTtW_#vts^PF|D%>c_cBoySF*{qZ248MzpQAH}DSeNzfn)X(X{6W{#??hS z+;X{P=Z(4(ZMLB|SGqsb+zMM!rU&)h#gz|p%72y(t4da_=Tx^==!GZVanzqcA(pHT$NadN3Lv9cF%}~u$K6sN8u~Q@8o`<@EJ2S zI}Xnh{XDocD^8fk$*z3R9RxjHB6Pzzniyymw{f8sgR87hc6hLq zm4E%7Qr0DR$QaJ&vtV}hL~FJ1Xw|R+AA?WZ#9eP7lVx)8Ae?dcDzxWng?j?hrPXQU znZlvAR;S8MSpaUJRpGQECy6AnUR{Z}s~2HgcmD3=*?h9deRy{4e6c0bBL;OTp|VQ? z68reLv~OfAV$cy;#zL_{HgF6LmwKo%41X$n9XeqpON6r&()*}ZW}$|gCB|Hfi;T*l z)SD`*%3O9*Fpgw4@Uk;zrc|a1#*>VZ$sH3bd(%xXAuUloe5o@=jZYTVrUWJOFfI5U zS*Z)|c8YMTWU@J9I=*+L!fPfsN2j1`oT*w@FWRIa&KpMLo12bagvc@y_`DN(xqmh0 zd{CXNvT_GvLsz6@;nv*9X&NS&n!ZZn{A3w0yJb=p7liJ}$UdvBUBOb*-QY5PrXyW- z?i`eL=niCT9nHmlkJSx3Z0N0Q1iKd24)Xq(wQ_fD>1cDAk;FmV?Q+(z)XF8jMbXg7 zs?Z@rQ4S|nsD(E0mHkTRXZ}^u(|^=G2x_XF1$A}F=X=34L)Tcc61U4C?@VZH1v`>- zatm(YVe?XGGOc5TfB~ReZTe->D($rxIIYB^&3uQiQ6ZNJO~o6J;WQVH;r&@9; zN)cz1eZ_>=tzZ_AE@0QN!U)Hz=&gB;>!a21H)Xw`Lwmbg7E5EcmX0^>)_?Nnz#`*f zP_(_Vuew=>1v;iPo`xoKHRgMnko)|q-umUb#pcH<3wIcP%sfd(wtcSIA-j)irw(L1 z3}$Css^;6{@)UR*J!h*6PV8!O738+OUMVz+d*R7JTU0UqN+}BK=#)oY6x4RJrceUp zY;&H9WqGR^U4ep1z8t+Rt$)GFd55A^uy+bk8*zsp=HiklXH~OP z@dLCj@o?4)W?8IuW(w=j*(#Rp8L7&SL)l&lIZ5m1Udh%B$+tpXDYk{|og;zUYYvL7 zYrUCm^Hz@0qcelR@$F-)qBVv(?Hq4q{S@g~Hb;8+yqz_|5PJ(PG=JT#9by-l7jK)i zhE;(?j!28^94unCpJh?Gz3sd}GY`831|!+VXU@WMQHs&AyasLN`UA8t6qH{!r!A(3 zh2nEF&|?rwOnVBJieANSnvt@kIGp_l35Fa*30@|L^daO46F zJ8oEIxJX=Q1v|fpnB>_y-V^D322fW^g?2_U{%ry7ZO&?crP;#Yikz};A>6sm`LpeY zQ5o#4MY~>T%q{YL5w!JFQ6Z~6VtHz-ABw79m5Al~*||r{_r_kqAS0q{)#yzl(W6i9r33GgFj5kE`>6z(FRdl&NVg$|V1SECTe1K!^< zoW@KA4pWf;&8dJ-n$}pBA%< z9*OaMfMXX^QNt3EZQE*?v8dwxqP=f2qi7I(C~k;%(I8+L238oV00i8T@5KjW+j!NM zUbS6$5(}9R#X{pxu@Gzv$Zi3#{UpeN^G-tInWh3js2hp7i<8t{I2nJh=zHNo^FW1FGgw*kfYvrUiU(!Icff7r>tDzIQcY)xVtosV`-qR*M?1K=wVOGyQ6Hl_j# zCNYXBHh~|_>~7~6pHx4Iu9F@{j{*^;jRMgq;DGUv*l~=;bKQ$EBrqOeT&}J%_D4y; zIe!LtY`+srdSkXtXJ@I=*&kk<(PdHpR9(i=^xI~^N`8C|Bb;Ln%3&>?dxR-`yW$vK z%B&vmos}J$q?cj6W#ES`ezqZ-EFnuSwk4Eaqn3b=(A!4v)#sTkQO3+nR}f6{2pqoNqG5HOT>6pS?zz=LOsP6t$vOh)e)lxYaSxU(l{2klwGt+_@OFqez>d7*ZSbwg(m~CX0xt_S2DQ_v9xA&5HQ)Ia>xRlqa0`ow~ zuZ-@GC+Bf#$!Y;xzw)2i$bZJM-XOOtFmKdaC+jfbjx5HV@ z(6xV4Hi;dF-KB-g4bp}6Mg`>mDk{iYup(NvkKBRTNpy6zXe!xQ+g?q$(|@)fhJBr# zQ-xFqNwQQ^O+!GzXO71T={c|&ag7yOuTwZjAJ+X6(Bi9l=76cGB_^jcI4H7m6-c6v z#qJ!N%%yWr%OR`9nXE9W6m{)^KQcoIE>LHW4#!=|NUS=?ngebX+pOKV+f)fuSuu8U zRrF`rHZ(+GH><;?Y%@tS{eL{9u{t;^HeGWkhT>zTGe8VAbDx&>9D#XpwuB^8NXor9 z&&?n_ZgqsIY;Zp~2}x024m&B|2K1VDWO;p#=;P@|-NY>vuv;QIG%B_;Zkv6wy9~mO zTn!SQ*OhJC!)#MaSiT`OMWDMw6Q``+r2Q4bbfGE^d0W|$H}tK3F@L>g%jKq}6>2J( zRCF<0UUsxb8g9&by}QgqqT03_tXrL&BjWpmmKM^-!RC_`P)n1d-h=1A3-1-n2j%Q5Zqj%f~Vy@qzE zyc5V+y5yaO*<|b<2!9_Tvc-i|Z5QRi|5=ET=Zi1E>T+j$$RV!U+ale|_^fgOH%Ilw zPNdedyUe{Ee>kEoN~tK1bbS{%+p`L}#wF?6lwM{7(#J~<(E$(N5_xzH_k)X;*EZDa ztx7N%$EK58NiO93B+!o2}PABHLAGXjc#p693 zt|4*mbL;Xzh&ma!XXuC_-llE|grsN7HOvTM%wBMK*O7hj4dn7KWav9kOk_bKD6&Kd zj9e_|O9V&A?|(_$?&TRT<17Ww6Sog)@PAR!V! z(Ki5Xxp(w!qFfv`)@^Y2x((y6bsN*OevNuS;*rL&Q%wU%r6Zl09uo@ONM~p>E2eGl zl5DtT&Q( zw1s`p0rnMb5r7XS+CoqD)&SBoQ|0S zQPyLpB9Z%x~g(@YmLZe z&LAJfzRVk0l$7lWU!9Kw?OQ{nSPfqmSIdf14QAHEu(K8c0OPac-b^h#_wbx9W@OX! zM}N}1tP9dUK}!UNj=8;n#JIy;8-lIQ&~pD1&@j>k5N7wSpsL9ebl9uSS4Co zDEe7cy_F<*HW%1ip0f(yI9^!9XP~)z*nb{32V+sxDYV@rl*hUX+ML<>hN^fW4E*I4 zupDuRZL^*@@U_3$@|9E(?I36hqv_#_VuK~JH&@8EO(i|8)3PiO=i)mt!*g_pl`U1> zVA|`bobv`6c5uj0bS5cXD@_*IEmm5c=J;7|807A%Gwv{_4i-k=Ze%V=g-?XmX@7~mnVTRNPQ`&;m3Q;Jd8ur}6R9n9- zgDcU_)&ss1`)HT)wE!JCkGSk^QHXc@0)q0Jl#AC`#CKy0wOLf!s!GCx&PfX!{ z^QT75nFTlH1{{&4Sh}!}YN~nE>B7@|TM6`*hbwKCN|Ar)3um2@`}G7%bZ?k$7;fQOg!UKfrn2yOwQ?I(Q>bK+l-8Y?(GH0E{Y*nTqS02?R~xF`9}M$CvKZ z2k=s-V#Va$i*8Lj7MYGO`+-3j_2{uJziKnD+7ipWD^?61J_ueFD}RoKiIY|=O+|pC z20s=nCIJ9&!BnhA8E*@k!%hIo003jhqB}5F!}kSQPXMaT<2|@Fx?8W; z$t6w(NIRW3A&1s`&}XWuYpb5cLChDuQEbujrp}DsE|#lYgE%{1ED>ml6Ws!ygInaf zu92F6E;HW_m%iWG%YTj?W*!0V6v(VCafn(`^YGk}bhd1x#3XIfpwlz8=HyC}jg(F_ zoJ%*DCNO4Cc}2qIp^%sChGP^RV=gAk)E9&Ejp~w^L6U6)V&@7mCEygZrZ4@rH->^L zL7*jqk%*6X*|-z8llNxRCwxL}lijf5Pny9B83;W9uMvql!+)x>nRDk}*66IaR9b2| zou-sQK6O1EB)5tUjf)|m!iE_vYFlW#IN^4NR3>JVWG9yQuQ$P@ZYb|yYbQ7**Nh6d z9mhLseA$ZmE}eHCw$Ns_JqztQ>JoOkICVMR+TD$uFCgU5A}tc%yyZZKvPi@_bZN2q z=?ZUFPz;=moPQ;=LlHEFcMh_<%+H5;eKeLw&+8kFrVneyqgTC!Csjyg!O3A3SIfAH zfCg-$L&aA7Dp_o^NP>&R!m$}8nD9-IWR2jOn{Lb-CzrTv6KhgvoLU+oDociM4wL%_ zMx3Saxj5}N)r_i;e8E|}#8qN~pje|qoNG$p-er?WE`P%9de|RMtM1?`z3yolhe&5V z%2Z3kbOP|Fb2A8+eGzi2{8Aj~81dJZ<*mu>;5ztiZyXt?XY-i1S(HZB8{RwO{aVh& zz?BidjsiGk&04mKvvFm2@j8(ZE|rH9x00{xOPQ8b*1DHHj|J2FZg|;ZFjJgz`IKYF zvxv+k1AkjHeL@5TR&c%GmU%@m$lN?NP8gpG$vxlpdrGsB8Sk8SW_yb4z=pNWu1&oR zmAEPtC``qxUVjJM51af-UQ3JIlo+<>t6Oq2uQn59 zdp+wF4TWQB0l18StZR&9VGbv51RE9?fn(3M9K`lI(wM@W%|z1(7ras&@^ct~4gutz zHTirC#qp(!Z$XEK>u`_BwQRSYPAsr4CW*@okLAVs*ujq9G=zE$#r(7zX2*4|>)kM~ zEPv#xD02a-p~D60sc!&*-~Dwrj3i+cCg&)?gXA26=lDNKkJds*;d%OaKy>}P_V~Foe)+tgKKlnYlnuZK(J}ml zDEo{Z&sy^(n?A7Y(@OEzn)cZ8iwg4Vd(3#r%3TS$GlJP}fVe%qpn4pGon|2=6c1NVjGi9?U~$}BnlpXnv|u?5i8 z6Z`a8IEBI-{SCs_&&F@Zd>AT!{PFHdu=Or@eroIjXncRb{4(C@|7qZURzLfT$)D=V zN7sL1ke(Z!=LY6A&iUgH2K>i7K!49i4*HSDxPL$QXJM6h3;;%a@efr{yrhx$DQxo- z(AB{kzadozY1VzHlRj_Bv-W(+st;_dtLpPt-LsZGw)~#=!q1!abQg~x#$LS6%MN3) z$_uz`;+N^Oy1#0_f1PCd_)f$$$5vZM(MxmmPEA^Y3z(XIT7h3|@PqYO|9^8+>zG%6 zxhv{`ytLKJ0eyM*{AP6A_YAcs4Svq-4~%~*9X$4V+TzFdUv-Jxm(O1)k8PeY_bc7- z?J47NpkKu|U)<)i3FQOho=7W?J$`m_d8W7D>vnP)Kjq|o4#+)r_%*KRW7XatAwQRg z9(#Xn{C-sr?#r{so{s+w`G4uL=U4XRvDY_TkN4%7tMaks^WFF+SN+o*_Bh%S+r zd?Lf$m#@!rkNy6gY-z64t^Ciwmsaj2EHC3X zGv5-+SM2qcSl%7(*Y)39V)>unfVDp8-=yhBFLgA1t38PR_+x$l!G9Xpo9|ZtHcH^% zy8CQDe~9jPs*XuCYWx1js-yq1&(}Ou`NGxzBf64+K7eSNK5z)q-Y@sCJV?Fl_>z73 zVd8)GGlDLvo2)wi=DoZ>3_D&*|G)ZS^>^~-_$J5?bmlJ$k(zkT3y9XwLFUIEzebRbSJo-2UqbH%nEs=q_4(WCW5;i} zxjy!McZ)?(;`?14KR{f3Hvk9pZ2-Q*Hvggs^X}6B;}5}W_ax9le)J^V#d_r}X5b>wiK4?(0(6KmMS{|HOM;>_-mz z&kJzd>%aY0(-Yd&uO7Nz)}?;+9*n8FiQ4hoc)y&uIofu}%It41`F)#xUuWfWwtiso zZ;KtjsOjC8e}4-){fA@y{{%s~t$)2^<4sd*fPb#mLIp-KRSH%fWxlguy2eOWoi6{Pu;3fBOp)PmJB$gw#LtLmi)t{J#h8vvUc4F7&?y zi9dylzJF#8!7pR1=YaX=G1^yEg*^-VzNQN7b1>u6zkLRPJP$v9WOdiaP5%Ud|6;g2 zJxkzQ(7XlB*Utm^J4DU1%<}6Q<+I}ZuN;*Bbhf|m8<|he^7lkoJ~_kRC(QrI+K&#$ zGXwG6=k@#0y1zO5GtkDXljc(|`+XMId?5$_6MviTxbBxT>$#~9e<&DyYRbc(oTHz3 z7yqZ<*gt2^lim8(_vZgUd)L;Ts;-6q%X#%dxd_@f1QA3)5m0>T;C_*dauMX$pV)SH z@72-OqRY0n3&!|HDrD+Rn#{~hk}rRo6LZ~N?bjVW-X=2q%om(llpA$iXijBMwV z47SFiH5LtJT4V8}jKxLNfvve{%|%0*)_+`lt+}|(S>iS60B=5eb|DGim1AX1$^XuH z*YakczOMR>3I9Gh>erCy?>k1wo00o{$C8~v==am!K3}2sniKea$F|XwwC@%h#yezv zA6<0~N&3D#nA)87tc~(tnU3$Ho8UP#d~G{?zP@uiyqIwBquXLbqP;I~h8JwSyMM4f zp10@g(j8xC?)UoqklO_t?f$X~zd2)b$+o(ik4s!kns?o)eFL(*+l)yxCCK|=?O(b3 z!E0B~pv3!=1(|PB;eF^j%y*+Yx7i@yi`d+z){Us{J~^z{m|*J5y|*9dwKXC(`h2JD z$2n`)s^^>a)f&)7eRweOY{I(Mo`1X)yOnm{+LPDiT6@w=`D@sdGwJ8P+?ceXrT22Q zp{2Lw+R)OurMQ-zxr9uvH8{T$yP5Xi8l1P~T7z?LDQ+W{eJ(NF%>+{~p@aLAsA}ZL z_o;ob)7(F;1a8I$*Jw}vTRpT{e|&2)@h4^W9~%4pPCs5=y5AB@{E1?AwSV(d{eg<( zt%XOQUHz{tB>Iz5p2Ix&&0E@OjrZSC&}s+DXIuAi^7q-3=feMO1^;&+a%$_R;_nM! zv|jW3KJ@*Zo~HWo8n3zD{vwbuv}5YiB-Z!zw^ zBKD2QwSWG3B>yq+C&J*!(*3_D)arJV{%p_Y0ifr+>wF z8P|5(`{->>nHPe$GPZqy>zi%w_1$~i5zkV$QV};g$Um%)c*R8B-MwzR?(R7Is6OA8 zp1RRZIISm*PvyF|l7Hy5x$N1(UbB~<)jqy~|8sT=_;v7ly*&`IwS2Dp){A;QZ|g<< z_j<#NdOj%fbe_v!6e%3sn9uai8Gh$$c%Gikw0)s-gR}o$NS^C3oXxy?4!P)sp^Yce z3&=z-^MD?&ri7x+b2cOuy~HzmlKX@p$m8{Of#NeGc~A0fH-Bim!4K*N&Ch3i@da%^ zxbRiblla9igr4Njd@b~N{lqT#r>9E(dVN(tYw3+YRPIPaWP`Rn!V!#HQ0cX>{! zt`(kn>zvFNB3~1Zxl%dbIeYVk)VD6`IlE3?e8u_YZax5AGUzlPXg;TEo9}XY@dZD& zVs9r}`dUEh?tgCnc=u#?-wlhmq0ct-`Fy<<`g}Y(=x>XBBJhocKEKr($u{QM27BI; z`|-h^Hs;xOgZJfrd^h;+v6hdp44@(&&SCtHYpHHI_VkLQ3T8wPHycfeniTPRi`(0& z^lz`PS$N%i7eqUAZfDNV*ZVW)XL{iOTBgsQK{uF?eSb3fdJ~WG(~p+>?X%AzIr{^D z@4CjP@${u_G;O0f)7d{`MdCEI>`T^nRXV>ey)y2Dc zzA*IsY=4LD?u38-Y~7%LMOrtgb%P$WwrelX?5+!x)&g@30)@VQ0$6wfw)!^^L&4TX+4~y}SE& z0D8D*-`&k%IhjHHC7ze}5oROPKr>o^TrzJWI_N%7RAn-JRg4 z-}yu@_`SyYs&JzQdp%|U#A!drZ9mJ!Z(i_=TEaVH*Q>HE9mC~0zkVwA5PAkS40zkX zklpme>)#W_TGsgQJLCIx>+wU&d)jdf8X%?TdOOkkSEQZjwG+L^tnEba115UUE0n>{ zXMfqleD5z>QP|G<&QSA(vh7Nc3nmP$Bler?3mq|F^Bzpzga6N*mh`ml*Rx3Lezoq` zW7gLFYU+Od^7)1SZ)<)gX_cRvg`eL)Z9VbhU2!7&|A)Qm@#*6h6!ziSe|7(*&HeA- zXTITwettat`f2-)QT!+SKSg>L`k!$G3V$ZnLo;O1j3u6~ZU?q3c%(>{GcgC)n9c~2 z3w4%dJu6$A9w`wsRtSv3*JdfZ*c#M^%_PFmwh%csRgqStg&#_|Rbdr}?uS;VvJO?g zv_c+^6a==HJqNG5hYjeGNPml4uu;_0Sdbw>=c9Fw2bkmZN^~o(XOt6>g-sKjV1GMG zhpOp?OwQw>XHPtvqugjKA~UK~nNB8-tkq`KGpDxbV3}qhN9mvxH4kxvjKsv_dP2?7V( zQ?PJdF*}^c#6F@{c9g|x$sKTBsekQEB@1IaVr|8d2fMxDp<2vT2^LO=&T#G*20SBO z*5kQ&q)hu`G@mWKp@7H*zU~B;v%-yy6%hfa(vohQ@EURC?p|E)`p))X6jU`|+kJ=V z3;NtyNAn?SLZe-_9`|$8R!5AqEbT3AF35=y_Z>|e6Rt2TYrGsx28b}7s(;ctpbckV zOb)7I*a_a{qtceCfF-7-Bq_6QJnkiWYEEp%#7kC=m4)F^YC$EeRKatfN<>NOt?jwG zASr&?5008*t<%JkJtnq}MK+hH2tJ~=QJCs1n87r@t2j|#5ZekJ)?6{s5^RSom)l(w zC`m+R+bKlZY?bU&CAX$4$bY4>?wmA9-m(wnY^yjcnD6O|QgjY+6+lWj?!z2vFcukC zqp}AFrZYZpjFI%Z6S+dtt*_v@t=IBOGSPUw@=8e9D_K6(55BTzHuYF{ESs`0MGxgY z9RCt3z+J?Q@-Q(8-Q7oj>NsJ=*cbX=j3VuS0oLRmw15NB2)KXpL;4!eG#3i7lTi+s6b_NWV)ysDV? zT9P1#iIoAeFQ%kCT9;u-o5&h+_O^^7$gBuz2|Uqtjzan)ZXQoZ$wsgzu2F{&rB<~& zFf-6kt4X5fQ9R@9;eSXPLCzRa2dU+7Da!9WKN@j5VjokeTX)J0c?g-XTjjwpOV>PW z+cOnk_Azt7Xlp{=EF#~UY}T5q5`u>o!@&|>k9%3bYpdDTq-Q=9B=Q8GEQVbFh$W&t zhUCdnk5w3o>O!!BEmW_xYCRlB8&1PAX_g+X!=s_?ZCZHO4!baB2!Aa__$b3KY^PgWO^U|W=oZGBu_4+BJ84Ewv>Gm=T4 zwsjcu;elCNjnKh_HrI7m+sT(c!UP1&cAHbs^c?A5o}`I5-uoto%zt{dIb=eQ9nO#15VDD`U2gl9 z$m-l45Al_nDMKbN@{-MxRi)b9@tPi38+aLos$m?qd~Ibbv=Sw@SWzprT93U#q{2OG zY*90Hx26nvnU(LB&@7N$acxyTB8d^%Nplr*5@BT$FA-d~&#ZIj_ zOhadLgMTu{jOwsm1DWjgRkgP8&9UF(iq%otEsv-b6ht>ZPF*yoHcnV3dvB-5wRhBn z*)sFJV->lMrDJHa$Z?hbuLr)UY=}Juoaw?Fig`0NPGY0mOBmS~hU z(HNR_h$7&r{h0CAQbYw~#ziD|ZXkNtr%lZOgBf>l?SS3!7EyGkq)_v$GqQnky2m4|<$gPNlPVfn$O2Rocz*!KjFLBxL~Kw(8p48_T8 z<;|zC#jrbME{gW(xN&WahB2Cpspa@EHBt^UWpy3SRy$SUlSnEKk~}bTQ%GIQ#16-? zH|ZTJ3p&V=M9A#W9J?@z5(7LEDn`!~zaZy?@sT z2_apgA1+v)$7Wj|qlk&Xnj^-IUv zN;rPgqsBZ&yOSYPPKE?K8IA!+b^@_jpn$#yvDpq9gLDj19;7@-=VJx)6a{k^+)zol z;Syj4AOWZVa>C^skDTfBVtI@eUw@MKQv!%5CowLZ5VK4rQfTC+kmT+lVEVB!s$x6< z3BUnN07QThs$j9gSqq&Jcl0P$biW3l`n0&WXmMwfv0{7cWbMg&XOY6jB7}%!iES0J z;{k-q$ddM_GLS&ukOjJ-oFzr{^01wH5Hw13ke3E|xKp_R2r~iLK`cmFkbjOrItD2Z zQXZrvNJ;ZFI3@ruXfz;mjrg_Jj-yM$gzE0GRD zjp#AapdJZ@;6{j8&g4J~y(;5M6!tVBugwXJt|-GyNyD6xkEsEGQ-8TA1TZ6(D@Hs5 zR4ZmuGE}@tsaP{W3ZUU21<)8O)q>Hmn7TbA)EH;0QF)!wJrte-aHwferf5Z`n8$h0 z+uPISq(hV>>}53@FTTb41VwQ`E$100Dpk-$4vSD+CAt;(<7H z330du@BtzK4)1u&=~D1Qf(pP&vK6qL~&)dlMU!vG)wOaV3kG=K^q09XJNfDABmyK0q9tU6;* zpj#;lNkP^2#wDsc(}+Gy5+)w9ya0YL2B1X2HNo$oqyAx5+JBoWn{Q2=a77`LM|4b< z+5&^OEN>lwk*o$25sgkdj{;HfD@LsQKvx?4uK+555~Wg|b#Yh&7y~E(Jb>v|$h=hX zQK{gr#&x#;Jj4u2{GTMg*~7f<<5c|m!nu8I4oXw@bof;M;PPaeu$1O0JO*FgW;0(z66 z4!jYP%>fQ09Mn04@Z}Qsw5fH>=2n&Q848OEsGCHz{QtA}UrVp+NP;l>Dm(g?Cw_X@ z5q&}Ly+n6YK~IXJlPFT;(;w(t+xJ?#s=B)WnK@?|k$(aNf?dVtWc8KDq#C+sJ#008p^ z0DpG?AuM-zx_kL8t&x^)swctLm5p4e3kxX>i8%}yJ4ktu@*vegs)JMpsSHvZ zq&7%Jkctc$X@nSwy^}asqS50UCua_aHl#R+cSjRKV&|hQmK<-G7?joUo}}wii6jAF3s0U9OqS`-kU^ zU)sbkV-f>B6@wH9>F2+DX_H&O#!f(%WZok8$_-GTC`_xmFYhCMjC%0`6s3ZPI%m(~ zPLW4!K8&L3mp2tXRK0o?_k%h{bvB;=-PcT1uetY^8iWL^hkwR1Oh_|4`&V2=L<#7L z+ZwDFC7diiwzlxPJ!@B0t#nPxw)(|7@MhZE`{1jQz&hhvSm@ z4y&~?(J(rS%u3|9?YtH+g|~mMGxQ%FP{P@HgCfR#s1^N+D6qQtovUe24F@GF$ z-MY>ylBpnw!r@&~)$y`xNl}$sI0dri6_1PV^cwQ&p1o9ll zQGH}oR25a4Z@CL>RyhFQ#8LPsQ{HbDV;?N+8%-07w_}r)+nd-~n9xjoPlw%{XIy8mIIFf|b5^|0`4|KTMO|g@I(^5P9!HPu$!yQ!u?dey z@Sv5M-f*0Aho*iuaPC9LjlHS#OT`6u80u#a=P7ldPYcfMIw2wY&F(ol#ecN6VQBqa z-~@fK8I-TkPC-Y`b~wF`xVjBn{e<9LgbtPMT>4q#Qaw!YlZ0~F!T7j_@e$sH_LR8HPq$Wv8D~N)ZBF!17wk9C083?l`WF9(mSZ`t= zVl*P}JedoMb+${3Fpm(Dew2T;#sM1_O;c>J@;&7LCa4(`%oKsRj z0e#LAsiy+Rfl3~+OrJ~-qh-nzxPVyp(z*kdgO(v zNKXaBslCUvVxJVvt(O4B5vgj=ov(cJkR5+MM9UL)wU3G>J5=By9@2m2$&|ElKB?52 zLCUd~kpkM=MVljH!@GULG-H2d+OfBoHbw-fRd*Q# z;fK0uHYsmfNdkeouv|S|KJ`jat;#6;kc(s{W zQJn~uyG?y5+$Irgw~U_=)t~r>hp!xjn5TECZWlyxx;NrD4V-_8?BqGk8?it`C4V7= zN)Qpfx|xXVbTeW*&5XEiqZ7L8ZA(KEHhTsCqm+MA5>F}OBsr~@@jPXYUSe|vrRtM; zChp)NCFil6knwFM@Cdk`p#WBy(e+p^x6HnU`NwBatuC zD+zDhY#D!Oi#>rFE_*4xJINVwSc~;4@+Jp?Y}O>t1j-XmyVxGHy7`-_ezbAyx^&UimUgM;X-v^6?Mrg zmQ+TwoXG**t9148XXdZWc*~2H7>>H~rwTVJdDVZ^n_hR!n?7QHO9K2(o|yE!SIAnL zi2Be&0S3P5bq43UJA9tf7*^LOYBuVq8y)l}g^1s@z`mpBTk7NrdFrMG+T;|tr914{ zyy(5+H&mV<)wJ^Yt`4Rdu`N(D-Nr@gdfs+@GppHt<(m4sL=oIkS0vcHp|n5G0s2QZ zEBSwGmjuGngPd+)8a+bv^48F!z_Jy)rN$DX1D)l$`AEqZp5?T94_gewhdihAyq+Rw zM0tcR*6-=-! zG?U=u_e=MF0gs*1Y{G1xDcxM)O4uLW7H}TDM>7*r9$P?(zj?7}l4=>;aE)~lt#O;O?MhzvV@@ga!F&lx7L4Od|`BRv@3A%lNS zB$isEJb1JDwML0pEKS;jW_Xg?H%pX0tE(FfMOLoXRDV#tebT@kl+BH=ipvO@l>dkiIIF>m`1Irjcfcmayo{!1`v) zR@RZ-salp{=4NPVR#U~On^BnVB)3~6-eaz4`J|2vs1T&pen;m$PI7> zZ`izKq?xtOMPiKrp+sHYbF6=oZG_SG+P@~RK_v_Pd7sS3xvZN|VUJ69d-iu}WFJ?j zzi*$r^z?0l;lBN zpz~booGinV(j`57KvSmhgayHeOk^@SRa^oS8AJx~PI^c+it&}kqho(}L>}Ml&{3g!KYAm6U}k#toY9<<>WOX_&i4p%>yLq@ zQ1}?4>WbIV3?cM+3^WniIsRWXjxUS!@P!AJCKo3ZSP&a5o&mEr{|Z|N-Tg}a@)yb#n7Fo+K4kwHsyW_S{)~@n>-j5cshtO zu=VT4^k__2A$(qZk;*e0To1a$E;;aUQ3YyVckg5-(y4#a#dzQy1tKn>+q$uUNWZ|x zT+q?bz>TO+oyASb1!>pw?5IL*p&+XbE60IZNqp}Wd$H>V1) z>!U!Ab7+4NFA9Xj%Voi<5sJdydseE`yF7k~0`8o~-FOmLZbC`uG?y{Q;bU>~MSqaX z4Q6D0q&*77u4sSKbD!8tkits}M~-UyXE?)}7y8sQC9Zk3`zD*whF}ly(&DH4_DACJ zE(qYuB9D4dY$|==kK@+XE{^4}l1JEJzgD0(O!R-=!!KN)*2pI^_G$35=e8#LXge+G zBFnZDBhu`zAo5kk0GSR>b=a24%N4GN$*rZ z5NJi+(R8~YMxRtC6Hr)?#_cnILkoplfbK)!M+1I_N>AKSG=lo5?knenN#5L48mh69 zchZ0SNjN==7>l8=q*6Wg@J8oR(B=0i7|8vRU)BxdX?x8X-#5G_xzT6(EFcEU7Y);# zK6&+2yADI3vt<(AcYNty3QMH;471l@t!=oP#>~o1cO;*&*bo(60CMEV9OlWkp4_OP z4WV#tNVf6m;ls^eVaBG}9ho;`??+gq$$fv==<_xDkh_eTi1C3&*hZDDrh%~t96a(^ zzAv~MJt48WzuhPHtVb-5&07ZNuq8y*MLKkweI?Ss3c=&;?sv1RFV*lC0r0EU1+_Z9 zb@#R@7zX6Ig!dbK8TnjhA>z`Ld$!w0aIdkVO$Y`%i*iAVa=x-BE?XGBNW=Ih6MTQ0 z0Y)~)iwO044$s^g`7GLqgR$s+9do1BY}R|y_a|0dhF2eU>KF#I_znquDi1i?6zwtG zK@_GS^fsQ*oQ+3yzbGA|vzM#z8qoG(U#vC5OYQx72F7^vSohK#$a8occQL&f^Xo-x zU2rcYm)`BL+VgAG+Dqe*MAoAnSqFcZ&bpy|*1-REt>7x$?o#bMiY}1@RF~pKXVTEx zFk+t%5I5uvl~~3}4PyL4WwpFI+3m2F7KUecuf?QU1X5`@kNb~bUj+TP;`Lmo;cwZx zKDzw1R)73_nG{B_M3dU)|(hzZA#L26k4?{LH*VR)kR5d0>MN! zSJ|Uu@7TE}mmF(F;+8IfHHz{=C<6v*L1aabrpj}o)wwrQ-JgutUq*i>tx0SY5Z3nb z^YRvgay6Cp7Wtcr-CHJDvJqKoy{&!NAL6?LbNJRhAQq0%rwxsl_oChu8u*}f;?npl zpW#Yv*{yuQo4P`S38U02er1dsza)`GZF&Rqw9@)oRCmaNf|%XzOIgCG+#VkEK;VTa z=`LynwC6U-uGkZm%@s=Nn`2e(+eqPf6A|ZTNU6_wYt1HkGzWzA|l~Q2`F|aWey$wn!PHEXrQrdKk#AV^euRSHWmEIAVWX+*5)v_3oY&qI_FSY5$ znqsCN_<+8Emvw*hOv}2xiKZ9rl3#9}!vuh>Q+X30CV5!?uIdR96~X~krp@p4H0aq7-}N9C-K zM6Io|P~m3%d{^&Q4%Ul&wqlBpu{n|Cgk(HwASRJbM020oTbZj3`@Qx_1DK{KiDl3|747*$(^XEQ6bRwyI2L=wzT=rdRH>9N59P?)_I!UBz#jk!H6`tvStzeU&r801&Z!SC zn6KHEiFxzx0y5WWc_@2U%XQxMiZGV$*YQruyO>WCOFAA>3xuc_7aKF5W*RF4T)_Ie zor5!Cu99JP!luAeU=o5vn+tH(_<>03XO%6d@_KSCK?TA=DKF+kMlo|v5cqdj+>HwL zfmwfOCQcVLr=O{zh~12srX$1ybJK#j)7FD>2nKx>u3Ql{rZJcoHg0*SRQ3uz_N_Qq z<2h$fD#3A;I4`}XYNTT*uUR$Ll@c=V<*J|iBRoc0tz!?BSg12PdfNHO$NjW=>TPy| z;@|xy;Lc!t-vskfyo_{`Jclo^BL_>d|QjI5yk@uCz;L60F5qq~sBlD3u9o4d+eHi}*dWwe^laB+ z;&GmKE&?^nONk~)pV4kc33Hc+xtP5@JRx<|KhZIe(8*3z19 zIUn<^3F*O}Yb3o=HCJ1qxr)xy6dp2ZVGd6aZ%Q)*^cmH%7w7T~@#cIj3FBGTYKN#k zHTJZ3*kNaMOC`T9{k~N-HVF&)Dga*)Z?R5GfGJEaXc&j()jzArXsW%U<_1k2k;Cyaj z)M&K$bD=>lmt<{xuT2Fh9yuxA{orP47ugi1OI;F``obU=0-Ei}#(IBzQ6|S!@dJjS zy968cK{2WhoC6lF#ck_p-Ki6pKJ|idl4+73FIW?=Gvy-?)MMu0?*H*SH?w>G?KKwD z_*@@Z_xYUb-+!vJ`?LDB!Y?10J*)L^*=ud5M|W1`ufFH6^|tEK)m@RT-8BBKuf9GY z;{M?S`G;!?|8PxP{a%0R=c^I~gyj1iLGUg;4^$PFocMkdyu1Yx87C&0%pjEPqXt2n z@6?l-&ACmvnvV5S@zgvu%e{%)A0W1{FFH2syQeT$f+0Qn5c=A+A$=3DBK$$4eP^9{#)N`(aVsPM9t@1Ydib(ET@_6Ed{ewmg(i#VzDlE!`&Dl82(7?V|@8T0qd3|Sb zMBX31e`U&kFNyE=4-V()z>vRPFy3(;#!wdg{=I6heY<~ZtGqbwQJBxxIp)WWW1Sx~ zDrm2>PT%J%c$sWF*khD1->Jr%Btte=(?jz$3D4n#4LLT8AMjst_o;pbb9as=30-6< zV2tn8qhG15ke+%hY`OYMeaLqUVyz!wYQo&-wH)k>UUc4v4O%DP>tALY^!`*i{3NL) z$A|oN^rU}){$Tv6L)>9QDZ?li?$g6YHd6auz51=KBZSa;aXq1|f+l}Pw&i>J2OI_` zfS6-a9{J=_Z^ymnHUGVO$&jcI+jR-;eBLZtiW&XTmLFisZK&@Z`j*0|m2 zhRDs(5Rsfk@dqf(kXvp0EyqHXj^b$}*6%jTMe1(q1A%at^=)2gOH~G8-hM!TA>hL> z$fyRH*e-B^PqcrRs}&PHF4#-rvE`{X?-TG0|~qRptjT8tm-03%~QL~cq3*Z|2_LFOzy>{3*EZ8 z@9DZtQTzgC>hgm|wHp+n*mie#eVoFL)wcV0_3t@=0Dgzk?75*`Gyn5@yej%|m~Cc@@_T-_^h1SmRnfCZbBZIVHH-g$wC3Z<;dkno|*vyiNiX>dg%PmSL<-P=ijTxK;2^;s7x}j&?(@I z^v0x3lOK%#ehSPr!lCPy=ehFoW()Zqs)nIp#yWuDTB3!kuEG)~@-y`VRQ=0*jk3hTX1}%R}QWCx*Bfbn-j>Rf*k$)fne3*uU3ttjgxthI{ zv^4SE_`^o_F6vp&2q*f^`ZR|#lgnh!dG&ktSCqUxfwR+)h_TRzBDzZDdFOwBVE!|P1U)^j%EF zw=wFFdqj)v51aDpCx?+m;z$1fF7g(#(a7Q~tKe!_qD0@T_sHtkweWwhRwwrAGeDfz zh+U!|u!={5SLNLs{TjPO`8*+k{_dm}WL~0`fyWyIr7W?Ojlr__ADOC&_a_jiSZDpR z5X_Mw2K(-yTD`A@hmUgs*?aU- z$o1LXVXVI(@v!}1{&Ro0iYm#qUI%l&?Ufpfcl~>)YTGf=y@Wk+PrBh(C{fBHUDqEp zYRt*iMRw;k8TV4nDsvdV7ys~W7PbSO@3cWch5x)diY-(>QmST3=(kHj6(TfIy8Wu2 z`HzD7|9kx3bbR;z!#{C(&XH@6+xbrVwpu-%B7T3e?eK%zPXFo;X3o76 zLOcIaXs7$VK?$hkT!rM8>DX#up59opO=91@{|FAn5ko3lqYRO@GR zb{Iw1>YWaZnpDpLY%f)}Sw*5I{S;&}pK#dy&w1vdT>|-*A%ABqASt@RK;9 znedT`B`-?V^oe)l++OH?lCg%8d&s$VXj@`iuoja}pZ5McZ+Z+ZMI=XHktu}=f~;hEGxp3w65@ZH>!Vluw1a2Gf_#nQlHK$L&2xY<^&pP4 zI=4~kri?Uh52NPd(^jhzy`(lK!Z)(x-Mu?1+)`c%1Y1Af<*xYcH4&X1$Woo;mQ_rn zr&rv`7(S;V(#;E;PP+C-awn{Z#N7si@_BVvWWln8y0I`NZKhtsge=fDl*Dg&K2v{} zHyT%uU>TtIK$RHvOwZ?=*>;+Lz>kYa)=tNw7G1ZrOZ$GT;RU`u{hO|yYkN>Fg;Au! zEO_+bUO0yM@b&N*eG-nhr>M%+Xt2PL;O0=o8bFZ8^Ez9NiK2{&Gu-`DwPz zX==s5Nqus5okOFc$| zG_y*MEn^WdNp1#(9xM5Z+iHV}zMLskQVw^qU&RE)a8)*ZDG#ouBI_KTSfPJ(mlQdW zpYli@ms-}1Jw#~!Xe1$>pxK@)VNWHK&-wcT9XVCypZQNKUbY{d{FVVRNd#Lj(`v^J zbF0n7zT+cuyBmh}dZ65W94DY-J7Fr@tB)(YF%`NEH-eH6k%R>iLD2D;!NDsY(#kRX z9OH(kWnNK94iC(DNjow-T6KTwaTMJkm=#{N^0`ICspmy|9+TLFuSgGWclO1wIWON2 ze-`sLE`{{1lZ1mx6@lGp%BXD?exm&qWufzpK=lQ+S~6Oo3f58Fr(yU~if_aut2sc9 zhr6rqCp_{*LBEOf%F;gb*H8Y}$LsqK{=XTszX5al|Kq0r538Y~1j~OS7{cNhz?sES z1She76;q&8t6^S$TBo0~vixc9*7m1qs~$DL_AfA@2plD7fDlbHEJb4k&Hk&HXk%Hu zf0|zFPgDI^@aXowfgVwIPmwE&Hw8akpKQF^Z$84 z;y;)Cr{#(N-qOVX@Xmj*U*~_@8z&3{-dY!&#i%s=4Zs@z8~N$yjobFko z2ho@gdIs3 zneTX6Q$1WLCJffRy&7TtSeW#3U+>GN;)Z#@M_CjrPviY~Cb+^bVNey<<8h|BLbCR| zY+)w6HTo$*yV`&3iSe>u<~$6g8KyTYDFQ3X>7;+3T^!@o6}9r{=Gq$_%{K_Y==NML z*OzPa*YfesgDuAC#y9!)dV`(0hC3(J;P+6&vErO=7OY#070SD`52_0vb7QEaE@@QD z2&Sqy5QdpN7&Mg~>q>9P;OrMqWT3&kA5%_yqXFxOe_VfX1H;(WVu|fVAy>`YLVjr-P(UQmA_Y09tVj^0X1XetWt%5vhEcwZ}iQk@gujhN9?N3g{2a-Vw`<%-J6RL zleM-3J=ihTt-?4{~!*6|+*LF&ZmK{p+|y4n;!7Px8L~_KtQGGdk|LZ@Z913yU2ITxRQ;|j#S7wNH#_s5lpCMEb&Rs~yAU5! z#?oC^#`tR$@v|hNbQIKA)M!yIK=J)D@AsQhlJX&JMOjMtd6p?LBJb9JVsmy$>~7d_ zPq2T^QXa_lICH6aGocu~v{pxk_*OzQ&o8jCxQ=t2e-7lrw>+jh-b| z)+Fmbk&HS;Qh&ZtRW7HU&}eSjpEx#bj|G2YL?1aAw=|2@fgKu?5J@ayb$gHE(eHNi zxE7G(c~Rj6muoHr<;k>jzbIB14UTJ<@X{ac6$)>LFcVLg68ZU2(EJ=)H+>KG#7e8% zSzVKBu&W4Gw>>w$dwnJX8DUacV^V1X>BNv)OB^EJX?10^>^`bs?o?L$W>QXlU#)*i z;#e{g&t3v7Z5dy@O^d4XmRptn$av7n)Z2sL85oJ4(|A|=>bhNU{w}Le23S1p=x*ob zOgvn8@G}ac;lw2Q%*ji9ic#)HM^)KI*}XApol5ojNzp#pNxDuayrp3|vTLxrCe!&$ znge^KWsO4xD|2G~=5Hi^LBuC*bGLsp9@@v+N_0mLFBWI758^Ro4O=3!uvF8$(@>Wc zjysfb*umG4){Ou{($v@qoocr;-4v{Iusl0O$oDrpPbd@JD(Jp3(d2j39h-FRb%kEl zCWZ^+%SW8#or6EZkq{gbV&43eKQAtFX9YKhoX8soLav`Q=S@tN`Zr9A;5L6kd090N zw}(Jr(bLp=*h2I?By)Z1H^y%etgohqk9Q>{V%xGz8%Q}NXpESy$|FI!Zce=!yPpVg z-ph7!o+_^em$TQ^X`&IQ0i@9H)>YTJzPswFKDolPKaB8dI(sWW8Y7d9hD<#@OmsP1 zT{u{pe%q#SSM3@`DnpYGM0kI~rTVzH2(-DnHD51)D6Zt%^&yCcy{;&igDc#mf*x!qJS8c!cj^`>c%){4XcWccbjK~gbYM@qtCtrAyO zFZuc|Ex`}@Y_bjLx(bNKDY?J(eqaoz7{)!8BnE~|c0ib}g%3#IrngWJul`f6$qokc zWE6SO?P=m17CGgzOTB-VyXx43Kh<$%>|MVQ%3Hj}2BuvL0wehsTMo)w<;z{oLRUn+ zN#{|ukzpa7x3aM#&Tv)Dya z557(ST_O8fBGJJVUi{A&b^dZGOW~%ym4UUAEYYG!iZg({jB|1EEsYpB5tD7mUeB_J z4xGm>64W`x%YFi*1=r2#w|Bj4OXlpIe#~!ai&CA4ou!@Q@C(YlEa8euHSYtK@$JpJ zJZjG7svfcjL8E`+S;yafjblAsWG@)x!WXH8$t9IwLobLcPFJ@SnpkHxJD-Xd?HrP3 z(xd)9rURk-z5e7hbg8^#wWhmcVzLO_k$cs%jP1!%Z^4#CSldB)gfNzT6xT50a@1*? zIdUnqs28uuTM(&B$+*ms@3+$z%vy6(M}_xLl+R&VR4{*WWyZU%hkQ)IHHlnGh=dv` zYUrDzfQd7_f?zoAsBg?q(bO$x4Khp2hFPDMqnZE zMBe?PTld7UNNTxBkze|@qizeOb1NqwI&;SpHZ5lpEpy^A$a zC*o``ySCSNs-IQv6s-&W_EcT9WkziyddE;K4Rp%KC>mW$eKILkpZFRQ}XzG7MOHUpi=Ay-&3%3`c75Bnnt+uid zV>TV18~P=&8CsV~SYh4|*IPC=1(7|YFqi)GvOSw>1>UV5QEQ0*P^%DS##G7B6iw4~ zSd+p~^{Y`=O*&m@CYYirn7zOVTwp}ABoy0DSUZpK%fL1{ScUlp!fJM3fI7}L)oa;j z30i-|t+93BGqb1GnKim^C%7WdH8{m>p6+n%4TPp&dl?JkJ(4I=#c$QjVgp;AunkEe zUc}SoS_V;FZgDa{V{g7?JLH8@qZ-6tolW{lN5 zd41F*e&2iM@Fa)ZU^4mJrCicL7H>KX)9mHVLR6gDB6 zh2jgry5|nL+sQJunv?Xi7FnobO&EIJZnVza?puD)t=f_??rV3rfT;PVMpl}<*)D&& zmU{yGH&Ia{t4K~!XRL8Q>Q5TC2b7u6GkJII?WWjP!n|*$Vj&|#!0QlN^- zN=7>< zf|GbnLS{w&{I`Fj{!sT08$L#!9 znS5{LxslUJP7^*$_$cF}h>HfnwWKQ13c@4z_6>xGSAQ;(o^03@d-5A^G|tF4=gGIl z{yYo723hhrz4tiz+UR$hha^t@ywW#y953>x-F2KWG~$CxVus@%3VDCX>!B5?fr-y| zt{x-r>GxhF;zhk8W8|A{k0-<}irmhW^2bPr)l$bU_OhpY>A@KF7K_ezh0be1OxLBM z)`q@*t1Mu=94XyTM*%;sq7!ddv5EI4Sd!n|EGY#)T+&=5A=xjApzXdQSbKXD6iZ9K zlk!TcotgriMs2XA_tbxZcKVyur{Jea!U@lM{+6EjeG8@DPVH#Olf~EfDCm{_6;FF$ zq?WOyTDFL7u)>#@LrTYza?6q^i-z9;IS1Ve=38iG)6G_?l(c=AzCS+;7m>v5>v_mO z!}3bQDeVWyHINKrmM)8x&AwJ&lQZl1s=uzJE1z4YMbcgCbwGa$R+|ib=>lbGV^lIK zS!#u6+q8-h1}t&+IXGT~IHjoddI7q&5rQF*y5S;B{ks)qiVe;_NThz|soTgl!BSMa z&UTNKl8tQPp^RHGnAAo-H9V~wd~4~Oe1VwOU#5^Hg|YQDH%VAHBtMHUTF&7r@z|Sk zsNExPr#&XEDsO)!uN|iwsRm4w{dzDj*;od?x+5=A>e=>&$?;s6zw$UV;M*o1%!?A% z{aV-O2~_K5Hc$M);n>W$_zSA(`3=P^!ocbquVR=*SopQWtOesQs(|1}OQSD%+44IK zEyhiFFpz5#`If(P7s4@@n%IEHYV?_OSBjU*CElTZVzqx>X?coA#dSI2ZWMf7ey%8U zT`J^}wsjB@_1)WiX^o$4ammcPou;jf%GkY@8tFc1q3*$UJTfpn>Xn>Q_w0RH#Au?6 zmL;i&LK}n0$8*)pC{A((jhMlEI8W0x!l}n9zY0N+b6rZ!Auh|Prx*V{NSBK|X^s&C zZSDB?;;nz+)8lSmH(a%@cWb&Dm)b-^J0$W{&*HQ|O}Kp9w@ygfnWFX0NzyEU3i)`w-w67cuFH#{Zg)R_ z#7iUxNgnO@@k*_amucxw3g{vzi?(9S<5A?v$2Na;2CnfBjEt?Yrwr)TljGGP!dPyR zJ4D@{S1?@wPkN?LvzHnV7&Ojt6lU4}I zT@55ByXTbOyCdjwpgqteryj33j4}4IEC+uwU+&r|zxSD0vKVGyd*qiyHn76x1KcIb zxhJKIgj;79mbO2eCmbI}`rfF!MQnCA)G_uBoP0}Wb%Caop~PE`U@7{dl=|Y>5AS5% zMjaPHlJ;J3_FZ3J4AXBsl_)-WY}@C57(n3$L6vUUc9GfX~E2vd(#4}P#G zQQ^m{*k~elT#~?Tn`i?3&L7X1MoT6&Z}ADMV~wD zhB$j?FyloM6@4LKoM2v?OEP~@PSZ32!!_gM%)Ov-5(C5R9=Xj?ol~6Tp?nX_O%U z)HOrGtK||c=!7Vuq2L9G|Au$#sUq2(%8RDiRjU-)#InKE5Cmp$M2uNpNH~4 zeRdW73rtvyKv0$dQo#VL#328&NO0d+Qk5U3JgThxY0jSOPt{m{D8qj!QHq#a6MsJb z{@(9@ug2fmQT?A{6Clq26pQ}xUDf|<`>OvlJFEW#ME%S2f4RTNye=$|v;|E%%; z)ofG5e~oTGIP-r)cK@S{{<8x8C2sjrr3Lr{A}PT7x-QzR`!N6Kob|2V_od)_*na0d z+W(BxUxqqA^4tEwFz2rs`;Rj8ul=w8$(M!yi=NZ}nh(hS_%19~miYVn_H(soaRia> z7=pC?9#US?F`g$$o__VOp?qBQ?2vT9%XL8%gnR4vyNG`YUC?wKLSyEuc*Z5~S7-8! zbXvlET!-swC@~tURc3RG6uv!lT0PxYY!B!2NVjw+2J-cKnKp$i!EyLxjTU~ElVfbN zcrMEgI@@U+Rl~z@(`(pKPPS8sXizJA@t>W@F4xGuFsLIJ)eJMSqg;A-%QY%~{P^-{iC1a1uFCSO|5M*WE=rmMt&Yc2Tz z*TzEUDSK>qlX6@$u8@T$=8IWuVo=}hrzOLbJ_qeM2HETG{_BDS=0gbCu58#s`f;ve6dH`1d2oL@P z==slo5#ZJuGWQm4-j(+kg= znfbDv^|Arb&N4`4klG-%K`Me&1gQy96Qn9gRgk(M<&YielZ1+qgz~I}x>`x*I~L0; z*2>=%sBIOf@j(ipd4m){qk~jeutvMp-W31>zyk0DPyk?Vu*cnUz{7e902lx=01ALl znd7fdS=$&}s{tKrK*ySqwVJXuQLcaZu96o^lnXh?l!bAnLXQ%~AR>ve!vr&ks^6`U zRCFSm4l8_z`jkBm#^3L0pFD2KWk)z4^VKI|g?p$I*@O7%b5DOB^H-l| z@@T0`^9Gds^f|p_`8t9=AD=!)zk98pKI5``xw9k6b^Gbl1>?L2m9oHJG=F2Jr?1y1P@ACsCJ?56x33$Nq)`x_SwJ6 zIIxCXL+{mYf|yc5stu_-3bkl8xz%jeQywoWzQlOO+3W1q zGY2o8y~^sU_t4zK(-mGUcPTbX+A{AB`zY+$^>wR}x<)t*yQ@$?Lh~J(LU^{>S=m^t zW`&ydWB81aJ2Wuu#?|Ah<}6Cksy?>+Jj{>)RYN$Q4>C)Y zn%QpiO@|gp8MF}t^%AF6w)S=6<-9$%BTm&V9ru`cJk=XKG0|pC2W8!E*u*HCH0}2S zj_HtDYdPG90v~?~%)Z5EHM}1892Y7TYv#v7EzH3fD@UVD2~%n!g&Or>@MhlV+zjAZ z!Cyep!g!m*o@L%#{Fb|s8^8Gkzvs(F^rX=n{XKHnyHCJ1y-O8!@@a2$Td8OQdq!!G zk#C3reUY;u;@7J!4O~I4@|$9H;n1Q6tBnRR_baoS6*_-Hwn#jAUJ?Ddfn;BfWNu=$ ztNbdoIk_rrA*aAPc7^Kaz3{3eJ_&`_{qSUAnS)g9gMPS%$`T8yZsf_cG0Na22|$7b-I>b%BiC z840MfC_jIzZjnW6J$(OeY{QF8CS#7rZqb7(VEs_&H%W@_%!W$WY+%NtTkdWV`&oP> zclm0x%+PfYK(beN-R{IS^cENGuVFEbouLPi?}Ij$+L)$=EF;jD2l?+HJQ@e&HR$rm zzbZ4i0l{e<;jG;N;i%dw2+icz(#_G-l@;lBCx(A=*4VYH_H6356W__CL<54euW zW0`{BS{8@Kvlpbi-Xj>!i^_@NeZoSLjDR?7^^mGX?gzYFCRl6A1%lneh;n0xR$lj6 zxUtCdS-;YiamUJs0?s9;)J;X~uDH-iAVE*fGHNzMd%Vb0Lj0J&(#VF$X7`|IG#a08 zvEqN_qi}|SXE49?Ix0;UdQLKRaqkl~v1DP~fQPW7i8WxScFq!$FA2_UCm-Jj-^-+Vg<%G!6k&Kw;%ci?gun7CfjK%oY4^}dy%*~>;H(Cp{j zr|juZzqJSYF#p)z10~m4O#k8jzv}<1{Xc(O7`e9MqDImiI6TAYCJTiz)kUx%am}#v z4K?Z5tnP+i$^1mJ_xv0QXNKkN?FYE%mZZTv$#QU0c)iA^t3vB&3POUMa!(EuMyx^o zSk^?%qb}X*kuF~?o4xS|%jRK--dE*0s%D|(VxDi)@HQdO-0GP~L>4xDHnbm*!aIKg zL#1kf>d7_Tx3-~m^q$`_1GxZ~tpHg-roZX=Tg!TyTI$hlGb1#?a@rVLCtbHgt$DN~KAiVg=dfj4vj+s~w5HUad0CcbRdduuD+pe?a%A(&i_sX31=Z-gTRkp+ z`*pr`oecDkw7wKXK8-3}h1RjK(RfI8VB|Qv4$j>YBZf@^+A69-?4iQZulaq>v5qlG z(?=~0I4O?6n$*ZSc`aSX3J}&wPZ@toGdX&wPqh2>oYD#MG9g87us*%YxLA|AWbIj^ zl)*)8myrpzr%qbWRs=uZ>D&&1uRnZ$Q|}Mc)-3YTJor0vYs4XHa|Kscg?9bZnCMMsoF$YLRlu<@?A` zHXXy|r8aMuH{qE{F)A-1N~?3@tlNks_I47|gA|23fxRB2f6SKx&mXR+^6G7Wv$o<0 zkSf%0eZ4-f(^>Q$aR~iDr_Zvh(~7#97s^0t;(1L@9ez?rejDDH0>43Uu|Tv9oWGoY zF&#w~X}2+Mfstn|T~4al{{mvN=qtQm@YBYyHM;%Bims;?q#3vA$AfJ_M{7;swceCFm*4~SM{SZ4=K>YWc zgy+>+(iL%6YJ{)Axos~N+7%wYYXo}_PY3tZAVW*0T8qo`X^BLCIa5`S^Vf)Z`;Eoq zeNfo6yG0s<-H||n>nJf%$aOLi1!vG&SL?aGWS11_vu3li<{9Q)6JUhNSBpiie5OML zDwV06mZ2)e`GV^*GD$Cg1kZs^9x97P$cK5ubn^%+B`Bk)-`E<(>ir&biWSA`E7EgB zgX)050?}NWDXHbjDNYiXT8K|CJI_B)R8y~XDQz%!bpsrEk>f2oWc6-hVXwH%tHb&H zw(HdGX40DJ+1Tl)DE{iSjZ0>|?=rg^y4*j-BepikBj-6?_mZ`Luy?j))p6|PGzFQ!qZsu_amQ^^9fM1dy+MRyu>|?F z=HU(MEO5ZF~)<yD83v!32T_(JISZ9nQ#{Um%pVxs;)G-o&(k_39Cu+;PH+_KfK!u`qg^0<^9b z*?0S%a$%esBn(D353LU-VpVgulgTl*i6HB?y^YU*SnmBuSMM8k+{qH%nWWulM|y9U z4$O@M;0ZN)cg@JEynbYlwRr+JMa+ue3D0}t@vSAb?@qPVNwILoek%U$AxVLZ&1k-=n zR(x)MXQ#t8NtqUE;T1LAt|EIo$76 zT*YzeVtDv+C|}X3)qK+@rB)3~inY)Y2J=#rCl%2*LZhvcD4z+&s2kwVwvtsHc4%rlW!^E^IOje z0ymu4u5yx2IQjDJn;JS%X5w_DdCj)1DfzNnU*xTgt0}g3 zk2C3{2NRSrbAy&Rjt7yNNvY{x;E=q6i0tiieAI|J_0$E2AIhZRtast=>}!F4R8Rpy z8?x0(qX%fntL=f|`kIjUgvD74pp~#Y*i+22MiU_U3Y8GF3BiMVzEgre9*CPSvj|%cT6u+>mF`ltZS2A6yA&o(B zyle~(krgU$B!RVb{jOpMNg;H9U5R?L=g0oWD7cL0a-;|czP|J;34*6s?V_u~pWWqp zKm2;MnX8e8>D8h(5~k7XMGzxrnj3k7E$+3w#l-B(qXa@=>Z-kn59#uj2LGh3x%NU8 zC$>uF_joCq_>FQJ^A_{boZceuW0^7ANmaB|FfTC%aKE|9^+6Hp8%o}P?ExkOeYqu) z!jeHq-rvjpO1$2CDrZH>J)T;`MG&#E6G4G3*Vz3p>IVxL9~Ra+7zqi>Juf zz2kv-%({mJJY-akY4vr(7A5N&Gg%9GxhAM^4L5YS>^-5!$<^umUh`h-v81XgCUdy2 zNd)jDo-zR}Lzm2T{xUp&X6bj+UA$I+FJku;Thi>w^e!jNc@(a3xYLri0)EPw?K?(? z+o^8YMfkpDCb1u{uJXz86(l{(H^)ud`vOWJ;V~^B7Vm{gL9WF^opthw5v=p-fNk(*Nrg8N68yrz527Qkh=w4uJ87L{fsEK!`!A5Vt?aG zkFqKsrZCZ3uH;PK4cbjJ)efev({AlDZi4gI3PAUDzNtHtU8p|P*+N64! zDYZp$5(;-J54JhyhzE`3pAQ9Uy-@{}3Hh=l;p|1mlzlH%&t{PMm6k>gI+kK5$O}^5 z&OU-%zX*U5ln+&ZPR%J(2Hb9UaIHEIFKWxo;!t69lw0=|4>d>Qx)o!&UZW_k`WLpl z_*P z+vCXbK=8#Q_egPuT5umT3>yv%Ck=WzOa&h5fr$F`B%zlrI}rU0@Y3>u@8!FW3|*`3 zSy`%Hpq(swI0M2p&9!%kCfMG+Q_#zK5f~2VIlGDK0m&^>ohOX21b<^0w?%4|&g+;U zbDKmVIQL+Gmc1IUV}_#)eku?TBA{rq-X%@SAWlc?aP@MEc`a|4ll}`Uy8ZGb|8I|~ zsJiXH<5hkXWeJ+Z@Xt%+1VbYz^><%juZQ*fuWom1HT>GmpI>MC&ky+j`rVp8K70Su zllR}=k;UlWKmGpW%lTj|D2CD~L$DN$(oqW>zkukkkw|Egyk#aJ9?XbNXpnxIew z`R|l}x!*qH`LD_x5H^y=NQOd5z)lip>3{i)k#7?L{Q2qEbtZrA`Pclv@-@b@`n)wW z{rTme|817B`)3zqR=+LCTzoCa>;*qqkhw!NztO(xl%G0{53bWhP=^-3>S!})MdYM9 zJ7eqlX^|88{xX`am2vY+=H+!#_((=33u?80D!=dj)ot0-{aPAX-+7tmtikX;i!%#^ zQ&PUrO&?rFuDME_P<$3#7CB)8eq{1l^jQ2Xp3FC&#gnbC#gn;RQ%sNeEZ*Gl&CmJI zg2&C*bt2zfzqR$XNV6vZ{8fNIC<7tR*MiIvz(X^>#?o*m=di&QK^`Fg`)w_LzZ=_s zXF+J`i;lskim`kacjiG`B8cKX_=#VOJ9}UF@tkI>=fna0@Vhx})Lh`VNggSryv z>w~BLS@HUJJOOwjAi4x@IM=%$JjIWsj@~ys+uZ>Del3U%F0)PV`I!r!u}eViByRtb z$4|K}0(ldEmO+qy=8Fw@_Sw};Sh{bEhj(F&!k{m%@$7F4a!VgRem3b8j_xB{?({|T zZ*2)*WBHPOs6wo=^Wto@niNd}6-%^x^S`PvW;WL7uRG z=92@;9TDgXasQc5JM!U^1L*YOlSm2u7tQo{_D-7*pAbj?$WQa713o){luCl|;ZqHL zjpdiNK786gV)RhG3WLyrk zA?+NHh3hx^fN_gW^U=$HzTj)0aep?^k@l|z`XTHiPm;%N#ux5@gMjuDXiMcLAJDQ8 z8UpYel=;Bua8m$q|H!5-1wfwp57#b~?g3&m&A0J;Qz!PGF9SXFtu2e=h3O);;JQ}Q z#m@Vp564|6FrEvTe+=JR{Fhue)~5}h|L~2sxSg&JzIzIv3G&;2@w?sHKFhE9z&^Ce z&w3~M$aDB5&+S!^JH(LN0?4fu13JarS6=%q-w?km_u^l9*8I$~<~N?no)&zgwe^wb z;Dg^s4gh~l3DDnYHD5Zw9BQl)%teV0K6t_zX!Em@%ZDEUkll;aaDX2P$UlQmUTQh# z^J*Y>6hJ3=@)s?C+0O<6S1^Ajk8iaPp21(q6Bw=kvmAVI^FK21h1)l|{K(En?){%- z$N$I0I>3x$8?F&zkyZnsj<%`yTz|#VFTDmNFKg(Y+{fy^FMnQdM z`I;{~cLnp}3giRm;p>Itfy}=>;ai#XtqjaTX-BT0-K*eR{nzyzr=}kn;W^|pPeD7K z1jhc6kuMv6uoGYO6hHI7VE|r$S08>g#Lx2Z^uYZ5=n^15gabS)-~$0CBKXo_{5O7o zWR&rx4=p_6LsRdMyyrk$%tudqzvRJn-nZ)r@0&dU<&x$7QeSv;-fwLazIZ;Jk1-XG zZ+i6O3yKZj-iMX>_=2F#&v;#MQd7SCtug(bu9d!juWNx4@cvTQ0@{$W1Z;`qOCPyj|~MfqFuPJ{Pep#^Sk_h`PGL0LFX{P z&?5MMW%gQtrGTS>#eU?2dLr?f7MSN=u7^8R`<)lJpSyH72o{e{m(vG@e94HuXes< ztN7;E@BJ@r8}7%Rf&k#xw)dZX*ZmJ|gT5yh$S|<`K;T;L;~P7lheW^R0o{Mg|E9a$ zpLL@9yZNgEKkl2%iJy&Pm=9e6jjt-8mC6IT;P=J>GVTc8uXE7Ygx~Bwpx?*ttDkXy zif`a^?ZiiKIsE>y`-Q`O^TR%N-vzh>J{I=ZJZp+?=Y=2Xn&MYo1LD7Lxc;TCDSp#6 zK=1rKwpG{}_YZY$pACc--%!RIy3vKgQLIWwfI9`H~)#( zpS<$3{8nEZ2z~KA`NsFA|7BAl^Cf(L@%>v2*?q;kUwr4k_?~?0r_lgUCiS1>yZUYH z*FV!z;XZX6Fc&T#e~u0ANu~B|J*S_J_r2crqGPW0&*4Q5e?(PeS?*6 zo1g&!*RFuyfWJ>k0kM$KSSyep3B)(%S3Jb?%$FST&yS3LWDWRD4VagW@X3Gf>3!wJ z-Qk;J`FIk1zR+4(3D&#qT@KjmAo*5)J+|v`6{5L9elA}*&r-gB=2BC9w)FkjWzRei z@cYqylJunscTYDxP6YD<*!btickmPe;lVsw0WRjpMuIVb*{eh3e0ek_kfd2ms7L0=zod3BE z-nJAkZ!3a{lUS!2d1@)Zyw(;!RQf!hG|BMgp*wcNHD3m*1(ZK>uJuT$E6%71;j-7t z=!dR`T^E7iwccQQyzfvAZ?}`CD%^$flXbRHd^2#p-CXm34a2a5m-n58>(?WwNkV|% z_N|Vm96#T(;W!3U^($jWRz@y00w2XrpFw#t~GTL;xuoySMm^^Ya=%kW?nVbXvqOj2DpNH1Ko2kEovXPF7#%mls_% zE591EbWBfwN(o!~DWGb~jjIsOS5g-uor@4H&;)1#j(T)yS(V$vr-cAJUyD9=-O_OczZ4Svh z>6`o5m-GD~_9;S(x57YXUNBG zbJCWauVs#K8GEN?HoOVjy;wZ5xWaAbG9U)1F#}eff`dk@!Ugp%aLgpJ-QBn;Js%;0 z+4Qe}Ae;iaV|e<(@g*2Hrg6uV5nZKuYN^H70kN3UI~pNEb!-lhhI>V=_{y~2$#)sG z4@<;Zi(GNL7hLOUQ*PA8<8pyt=~kpTy_iKn;-S@Q$m0~;;xkUHxy*SY%^hG$6Wlz# z6E#jPCJEJxr{I%8Z3K)W;9i9KYH0U7IenIYhnJ{_pey{tY}!kCJhcSGkotrSw;&3; zF>S2j&~XycgNwo^a&BFlL{AI7usA-ZLPl!#+C1pYnD2b(qOrETc_|Cwd*Vf20sM&Q^2;n(8nTw zr-b^2AMVXH&ADAr4YR+5ny#G*udkhz-7UQZ&dKlyvb%OHrH@bcEq$BQ-leE*YSUX$ zQqi1@+vO}uTkvID7&2S$ks7gDh0{Kp7b}UL(s4)5UK=Ja*B-&C^@E;&Iza$X z36dis@Keo&8~&VD@22%HGl|uH=!1-KFcrM%{?tSG_N{s3B6oNPk7Hmnw95 z!?c!;i?pk$JwBA{aqEzyRJMYDrkt;k|BjI6QsJ%Wk)U}xB zo@RkusC!qJOLGzUbEhEpGDC@-g8Q{le9Fb{pE+!f1-i0LPz;+|$MGneG#uIUwj+l^W`GC+7F z^QY^2pDxB>DBfXC4}YE7>oZR`&5yXNF2!lvGe~x^=PNZlEk8ZAL@(_U^6-~EsuEHSugn+N2KZ(*w924_2gLi*^lZDLcpXTVhe5$Bu>!? z``%c*zuq?lzb^KMyvkI(3HKAd-`*IQc7_df?#R!gc@bwnJf6W~D8%^;+QC4Z0Z;A$ zuR}UN0(r^&4KE?n>`A-Uvz5~@BcM%5)HJz6Z7(?cCX7BP{4 zc%D?9!3FZ~#`#)u|IteJrJOBnO^|NXiH-fpUhp=5Bn>&WDG@n1m~ZV+`d`~QRdl~`(@Z|i=@F;4uWcZqhO>}8`Kx^eA_nJR9zS`^=7)^%^a?mkF@N~o! z<4C)`(*7V1>mWwLH4E&Bal&+P0Zu zDmN!-2!iNaNRKm3!&RM{k2_w~5DL?#`+$H0&SGs0F_n6&sC3JrGbiff;d*OMK5BYg zprx5f5tC#8jRUt;a2UUj@S7Z&^~{AAG;UtW0vSm#PXml2vhU#rDhK!;x!B@!Bpzvh zGxRW2T$+g~*sbJ7)Ru3Aq{s}j`mAN`s@4xl2#=1)6A!XywYt?yZ@p$b-cMuR@57RW zCHo#HLU}{psn)2M*!S>+r1~K~A>fg_?ow1zvrH|*Q79xO>FLG9#Z8Mht}Cenjp1NZ z*JA)vbqwbByDxF{YOBGLu*Ahv)01O=LN^O4P>J%$?YeD`qU7_G3B%5Ak?Ea5lF zVe16jCs@pEZg>@ubP#ss0_>4F0>2AW?Y(oAK3?2M0LFO$H3%^Wx- z12q_~;+<0vH#7AET%v~A^(H=*hYvNW2ZCo4?=O2bJD2n35GyXc_A_))AyU>XsFxca z6B1Uht2ko`jW{jFE$@ltAoV)Yjrq7;C%p7rExW%$%Gs`&<75~%qP1uT?_zN;MpVG| z5)b|}yddkm)(hfL+MCWL<~9R=lM3uDOGSja;Cg;8d2laTI=epbH8<`RYnJf?f8`4X z;w@Al=>e_mID*eJ+FXn_aPb*o)GD3%RKFTGDV?sHZ%?|m6!e}`RjbUKM-#Wm5F%X3E^bA=m#F|@Q7R z9}{`4u$7Me1CF16bo8u4#XpnxvyIC$rN?@K$~2<4xvkI@%B5=6sPd#>{+LE&o)G1H z9Q3?N4*Lj$lk^3K+8Sl?iAoUfxZJ_-xAfV{@41Xmc#U7vd_Ns zJmHjYG-h1*m?PS35*f*ZVmyt^9|03+Y^`NdH7IswJW{oPvIomV?M%;m?``LG*eoj? z5A%t{A`;g|6ma(l5A_yIyr6C%U2N=PCW4wkRXHg3Y=rF_kA*n*qHPX2(GG`%^4!h2 zoqXujixax3b#EIklw?KyJmMan-Z&|SEEzw~&L#P~Yum>KQ$Z*~4#^45WuI-zih+g+ zbz~9;n@RG2nu{BHd&TFXGEe&rQ*T@qUn;ZR8<HC-ShyU6Iqy5Cyb_*j+RZv(L zD|MjMkz{3=VPtB>o=Du(C5FZsB$(%a_2;xWRFK*`KAZXB$K+XVwoC}o>yzG?bTm;$ zieK|$qA=oFp|cI`rA>>ixHFrk#&zRV8?Kqa)4M_wdec=0z7OZE*-H3Ys3C9`i;bag zP>hFs5B0m0;|P4dj&S7IY!C6&z?<8$hp`3z`ezb+nuhn z+v9-x_Sw;_dY&`u`yIQj{z@X(CzW5zN>p2sw8H((KzE=7m>w9zY5PNRJ>=bSF@%TjEP;xJlJaZIc`oMYLJr&u=RNtR4ILL`85 zbz`t2`v@pvZ0+5kwfxD`30CEQZdpjSlgPlyqeot&Dik4V^BNGJ_6o5d8i-^at zlV&TIhHAxqkSyfDCwjmz6pd^OqZ<{IU-!~k8U=v@R@&?x8d#i#rUzYWlThR5-qwuC zw0HA0!VR2moes?luemUPbE~$a-v8sj@cGfVM+<)|yXTy(Mf>0I^$|i52!>%K%TPFm z6D0n3KY#ge|M=*~D~tXktBU@3MbUro`y~`XfBZ2CLbE7?AfHWED4>QB1SS5}Z#Am- z|Chc0T9O!8vIMbT>30|nT5+GC5?TWZ@iGRj6Iy;fQTH~<*)g_%;P$NT+L8}tS(OQ( z91-rv&q0QVZ^bYFZ+`_p|Lwoqg7iP#dIh3ToF-@#A_)w8e?_SOu)gI#Ic5Lm5Mj{2 zQ{n|7FpfYlNmB^&+C;oRXXBB-0;GQ$^*2(q6A~5zJH>>%-nv)a6zdbw%^*4PKPS6BK(HKPjAAkY>p9>KG$AS3Y zse%!s{++@3|2JCtS4;knZnOlGFV^7ia8M)$p(y!+@qdWL|5f0l{~gaD2^=R#0wSmv zf-#&VDDuBL9!`kNZBsG)>_YhLALgVI+iq!t{UHMgKb&S@-lGwVwZ3 zKS2o?!~QB%af%{on${iQv`|r{}$2`|2EaaDe_IzFb3l!OhN<-LI36Q=Bn8K+gc~f zOR&}=TZ(Oe{lC94wN5Y3{(td^d@R;~1l#aOsNaw0y?B|%zgqlnTKlp>^i7t;pP!TX z`vd=%9c%wBMK)Hye-vQ9tfzV1>He4DuY&d8Hsk+1&F5aCOc3-7gy`$yB!Qs+<+z9b zrB2qD<*oDn&f&i-yMRv@@CXO9UOjA2c;=p^N%pb+=CU#aicvHW|us9Rq zk6OT%3~PVU%LZWq$4YGiH3h6a$frQZ4?myyTe=%SrT~$fK|YYvk)qwYgD95*K&tOS zQR+x(7D6HB=slJQYISQ!Gcd$Yg#=3v{?O5XvXgbF#lJ6{V-&)xG#Kfk`WwQ0D$um< zN?;^)79@bHDtE6Q&~!u4mbs=K(c&%YB5p;BfrN1oB%b1T5G+}&r70dCVpClv0|_2~ zQXOWKZ$H0OL-k^iW5qQ?-4Ou+TWSF&!2ySkN}6KFij)k#C2_nU_A?F^uE(E{P}o&} z__4&N2K~&$G!;q+cKHrq8SIGnTjtV{XXY5_oy2DcsVVA`IXhKu8RYqkCRd@mi}6M*pp^i4609LDT@<-EgwE9 z%?722KJ_zx!D63akRq{|-kL|qW7)KH1!ES`ctqk6XV z_W{8vwCD+hO<*jWFAY8q2$NA-U)boSCjx*JPMVgY<)uY>Jp^oKfglKf@%NPh2uQEt z+Z`2d2`*Db=Ky$l?J4yzvLf1~M`&BOZ|D`Nh4|S4v7+dvfQ}JhAig}VM8aD}QBf~I z8=B*!JP+7uKyV@H2Pdv6e3}ddbd*m}f==r0$!VO{%5VdzDlaK)8YSc*T%*D>RVXnC zLtBm5Oq74xnJ=N%1M&iYNMHwiMw+8(+-e;U1$-jI1kw;zBAr8L)9}>{&#Y# z$o3y6Q@zF(#`2T(ry^zr=pqV5TiWwHg-M>WJwf#@N!1s})^v=2J{qnOk-mMkIMcZk zY+O`o)CkVBb(;=JtMznO<*dB!XxGF5BS-Z56;RuvRGDQoRISv}g1=C*hSX9$8Ycp% zyk#(pSb`Y&_8Fc+2+0N9(1P9oy_3qHMTQuOqvlVV^22gj@b8iQi|X?O99qLs2@6wo zP4cE0LOlk@R%hma{)Wfyge7|y&$+*M`J8vt8~WeTfqLynUzpms_;~-gEKy@=@};RHD6PSZlxU&j#%V zNu**6%|-}+1%~wA9}1ZUdJFI|W$(3(xnwE0?5`OVry1m4J4@6D4A{laVx+=cZXKYz zws)XH%rHu9pGzt93+rz@Ku1RYanHePw>1AQ_#F)LANP#C*Uo29ey=4VnG%^lpyP}~ zpw5z9>Z%<2DwDoev4W+P9&cV#V-J$@8WgQ@aMimCGZQH z{4Rfg{N!A*82l$Q{9fULJ`QYQ3+kQZQ5IPH80pCf{E6l^BOb~}7jZ)iB9Uw5s4 zAGbl3b-s|112)u&pOSxP)mEtixVo=`Vj^p6Js~k)dQOt3vma zEFak{Cw-G<&G8rXh3tD zhoK73vj<^(!KBhpN%*60!gCqXbk&T(u_v<9ZZ-9A-+5&_`55Q^Ma*F7256ljW+gbkT8p;j!)@@F<^@^0C=x5q*gU7YsQxwTDdzt=qj3bwaJgP7;+*9OxlTg4N`o z?=Ll3f6UA==0@CojBEx;l`(3p)1EOhzrvd%n`^QS!5W~UQ<&#}4*?i&jG5-mEHp-l z+4mYxQ^yeOWhVw<4g`8U%?wjQ-aV@P%3uiFGMKeQf}Q=I+bo9l2GUVK&e1vb(A|nX zn<*}d-g}6P&l?8hP8MjlVs znGLg_+fj^yg%Q zU&{7NSQ!Mtwjvg}b#n5I%+L|c=)({BnHZi$mb5M^ckk9lnIgw`gi6aXK0JmMUIJtl zGMRSbJt8F}FyO+KJ`Vw_A56xJ9P0Fa^`~bL{X*QD(&ia|09Q%MLA0zD)mH;Ami{gG z59X~G8ptSzj7Y0Ay5z+DB2w#8`X_wp1&u|%Sbb(sa_c>KSgiLx9mJj5Btq8L>CHre z5KauqTF2YTCwii`JVP(&|H#V40 zpL?+VWIUAKH54_@@MgzLXf1w+ylu@bOzV4c(nroGLrKP-16o2U$zpWKmo|T=xQYF= zgukfjzVe@0i@MQ;C=*)tBUPL%BD1Ps{B(SJ(|7!8M4IRGiQCU-p!_J{g0J!w+ieo> z>C<|DS)FYxGArMGW;_Rb2SY@z&yYY&5J6J^sX5ZFb%L)&tnm|FMiU38t(;k(&{-e9 zHZcZn{u#fXnc3Sv@>_*p+i3#D@`kfuseXQqC6$aIP&>H8qN-eA$@O}Cmy!*I4J`J; z_8aDp6iI^!!rG8VOfEn1kLuC)ALs)CTi1|(3w&dGP;{q@4T=t2OMIE2psXV~4Fm|2 zNhyo%Gzt8S7Z1E)`;8B3cFc!F-{9FLI-RZ`g!^D&-FqdL3;u}rBL{bkd8W*liV}W) zB4}Pu?oVR=o5to^iQ&cjpZqOF3Kpyv)X9Fd0TN)B;s`h@O&M>cY z+iEO@R*N%$y$1Tnp@q>`bjTli(du3uEhD#&WE<5k$;;TWC8FGB|CLJMxfX`PyA%)edDQEDg?=( zm-4pX_Y`l-Wd2Mw0gQl`-{{F0Q?HzVjA1)5jLievtU&|}hhqj6xH36W10hWL# z)bf@YhrJ%?J;8UUZ|-lYjOQBOcb-Ia_6tM~Yw(V8uPbI0tP5MYF6j@?#_G>D18ojj zNjIt9!?+$t8}WC3tl(!WmS88X_v;OJto7Eqc4D_m1^yBE!WgYxT!4zVyJ&>mWt) zdKko-76rh5Ozmv8&>-P^AL%X%BSIqeQ|2@w#f4^Gde0M>aNdVr)f|9xwtO~Ic@ZLXOqM@ zke8MyUi^fC{8*vzd}&pyObo`bDc7VmbPYBSaB5}MLF9fDi=*q9DvOG)>xbv~bM}7O zBb>~ED@Qyn#-Mb=XU*k*%;TcLO>*8-u$LRjz1o*T4Q9M-TVBj;0z;M5&$U zuL?V%mHdupy+mRMu}r7k2?Y@m<}6&Cg%t(5B12%{%&{7_gew{fNxH+`dbCGuMp`1a z@Q?kywEHsg1<0pV*G*IDKgh?Z1Kf|;ynUE4c=Kx+AIqq`B5a<2e`>M-*zf$EA@QjY z$b(ebZ@;rR!U?|^80)CQ&|h(LJn0WM&VPFQ0g?<=3S(OH}+UtzR z`;RL#{a9sG!%WnFP~NGNb^ASkm8jfAXG_WcGa7-TubXM5);xk(7%{ue4Boc1NQGT) z2PP5TvL-|3elqOBbJmTQF%_jo&aFiJ_Vph8{*FIZI4R$USp69XT}f;dh^12witOY_ z0^TA|TpC_nrsAUQv5qqtSm#&SE|7sa<)EjchCqh~+O`FM;G6&!k)-#q4~2M2iG^S2 zSl0OK*;;m|a7 z&;VWlGG0cH0w3Ep<@!zn_WNK(GHUG@sZF6)O6Wdp4BiQ(8Cj9D$O^Iwj`(!g$z8GLZerEhRv8t!K?>B1xbAY^dpa8L}09 zT9OqT>@U?#&FQbL0=iTHJwU?0AJA~Nla6luK80k&vFim_e`_!xQ|C{UP~F9{@Bpp) zoS4s`i@T=}`fmZJi#LSF9K`rbfvA()(hlXiSUsyTUXzRaVnYIA z_2P?^GpbQ*f8nZz!(%6{lgk9RpO4HnvxtzhDJPUnRBxQ_Eb9A;b2^jRBbRx?C$ksa z{lM(E9tPOcuyizr)Gm;dH(&Kzw>v4)q_yAdOUVUW+DJuv9VjwXdOoB621Glee$xKT zk(zp$d5Zq`Fq*GvQ@lnF*A$X`q+nuAL+n>Fb49K2)7rw}6C51defE8kru=-7D@ zbv4rc$?l7O_U>>p+so7y-x!s+l9I$X;U{FW{&`r?4)Le@;z|@o2v-OS)vNP}x&HRFY4Lf|Cv>L0kOgadEQh9nSz^`Ak#9IF| zf5tN}8jg%K*yFkEX?b2^{st^L>xzlLCv{I3-q|fG^MhZh03FO!b}fJJd8n)$el^em zuc@PiBytfe8_|6%zk=?WefqDJ)d=nKys&;mh2(F!PKPqG=o{;RX5+XyFr!y^M$9+v zJ|r8)CK3yY`2BWiBR(d4Dpn%866PCge>$c&UDFSUmrFXn#umzlIh*o#5l{(rKf8%P^QZV5z zYwHh?4@&%j;$22B(w-4}xtj7x$L3pK4lj3q8>ci#69TUKOymJ7ArS&j!T|m9;QDuk zENYk;YI6F>OMM7dIFOiGqCE0`Z2M_8t1l(0Mr$*BNMrZFh*0ObjWM_yQ_3+T_&J4r z$-z&&w5)azL5X033k`|0f8i3Iyok#In&Qj$$7kyEn5qSLO=?))QvH((4S{V~EVlK) z=IZsCWOHo2Z`TUz+FmD;0*`ZUmdq@-R=PSOXopUMPmC$69M zI}2xRVaWCoDOnK1&j_K2`-0Cj7%R_X1>EFhcY!jT79pdDR|%bIe{uG&+;4=Gmc*nR zFp2lY)$5Ft9ZoqLV#-T!GsF$4^bxHVLoFx1K1;Q@q7bwG<@Xjo z5Z6>y#_!2X-neBLaZ2bj2{b6w@qk*dSIB4c6J+<{bS-f*kyR1j!FwDLpH^z8GG|)W zK=UIGb%6e5Xn)FIe@dV;-T%;U4iA8^#m6}|9$?ByvVhZs6cqRrcBdpZ za*JN3MVdNKMy}}qDg5?gCmW7oZhidiSk<(-_lRJ;o^T9}$f5~Km zvZ_cKijIFlX9>R#V;@M*xV4maHtO<&=N+s*t$06|Y;jl)UYANST0Zt1jlNIuVHypv zG| zG5w2&Pz9fAi3Cp50Tbj-mS*u#Xx~x_4mq5=a8e-N4uR7LKT4$k_#0Uusjd=mVR+R^ zWk>O=MVD$xx3#+N+2rc{V$5nsD&X`4{VfCGe4J1Vb#>`tZ}M)ca-+i z-@C-`<^K0rYI3^!Xve1Xy&j@Bx$!3O;QvFIvwN}C4!}eNeL7941`NDaQ*E$ z8W+}wCxz=ixu$C7!?D&v;f^CJe?F2!d6Ay+n!z}rV$pcPwBMXloOPB3x%#}agCTBW zAaLblep7JF+aMtVly>L#yUF3oslDCF9cw@=-P6o{qlG?r_h3;}1~&4nhsr~61Nad^iyr3vivSzm?^n(1ly zi<4DffTLhx$5DO60TZG#NLhK}GwB-x54jDmx#9%gd^O-mR-(+!@;=BT(fEMK-Qo#~ zx~fKwOx;$X7@)wo``5bVf0r9`LUpzr<}TcrRO>lN*(E>~XqNnXj0#4qCFMHWu9IB= z*FWvsP0Q~UCEr_xao@c80?r(3;4+Q*hvErK6rN>IBSsoP(e>~d1IvZ~1-pZQ- zvJY;U-^8o)mxlUF_q2p}JUanSDkmKY*`#LvXPxm>X#EzT+=)C1lEck>&eX zI2!WO!zBio6<6_-e=cgjb-Kqt%ewR8iFt@-CA^%NeZr7p3r^yC#sZ0dT&|hIOA)k6 zi?KVA5zwBcY%F3*KuupZROF=i*mf#&no=>0Lk6GJ;;;vV)!4oGo^HGs+zu!e9;ATv z>z(fIij+v%d)XMA{q)2GSi*4v97f}CDa<|sXc3yy9-n=;WXBCxdVivSj51(c{%PySw?r!IWvZPG+5zK1A11y zApgSvNdug_e4}*i@8O4VZ3BrM_D~=H7h=AznT4})K!EA}oYyn85pRkD&LKX)9^${U z4Pd&^;~kNZe{{_$p^)OAH=Z)BhCEIM8<)y_{Y(_7$nj<;yjS>4?TcMlBL-bzDum-W zIn8sj!TDL&RG*=H{nFa(HXVu6b`9sZWSd02bioTu;ch`|Q_U>?1y9O;>oVp7tVpgy z0O0NhNKg8WmJENM2J@JS`UqaUP_ejd&c&t8k5PVVe;4%^-v^Ver9K0}KO}%wPt~j7 z&{R|XPSKQGK!>)kI&_q)y2+@DhYXr3*xfg=UiSM@nI*}7`FftkJb2pZNcNYYgy+Fl zrniKQk!*SJe)8I)nA%AuzgxD(zK|{m(HFWQ-zB-<+6#AR&0N7Ks`Vw^X+V-ZcN|#p zRAh-xfog_Pz-+ zRv&Yc*)KcuuQ)Tu7X?9vnYA=F(uQD$jgKW{#mD-sYOIV2-Fh_0c1ZQkr*C#HyOE==hxk9zxOqD@tkd1uRueeqI6V=zmTP<2Dx+tB9)p$dI71S6&Y%%4HWxvp*jxk9@Rf3|rbV!u;f z$gPdkrhXKVdFdci#IMrR0T8Rs+X2Kk>MXGR3Y+~%Xu4-BEY7y5zF}~RnZ3fQ#@mr>Yj?93o@g~ zLux(q-x{aYSa8@F&iV3xf59iX`aAk~pBATIH*QIeAFVP1X1}$8H2?$WBMTa>vG;Yp z(YAKgm12eJ(W)#L>*Y)3j~7uuzx@+lO%jlw2uZKorP3uRFV)c*$|=esmp&5);LsHn z_`QkJ4pYpzfxjhoS@~DnKc?)W+1WL_imjh%Q!U}18|Si==n}ZZe|1Q6kDZO|9+$8= zkE=Rt5TTO^dUrz3;Z|$@l1KNfsQGYv10aeWjY;-1+IDbp$YI(3o-y6@CI;Oa$NIiu zHjow<0{FbCXwSJ-sJGU6aqZIVr?Yz|HH^Q()CxS0XUN!P+JvYQhtbUN6O9PoY#cvH z={qWetn4r%eHz6Xe<>{#^uG0J>pNtWd>8)n405`QZ%ByzmpM2C(0xo0C0kI?BOoc` zchWy}fxNJJ)h>_i3Ua?0bt6z~8tCv7xRbmUKP~?O@(Z9ysf`IeL*PbwTb<{ZrUKsr z;g`LRKQj;gj^CRMB4EAY@?ePPX^~2UKW{?vBz3W3MRpQce*#{BrX<4+Is;=;=gV!{ zV~yAmvegfYd97sCF&#bT95ET-Vl{nsfYC?UmcAQ${B#im8q`@v3ly}MklL43Y9B@R z&Wl@>pK_Hz7>asn;3{*E?J%0`e)Q1U$Akex_dWwq6~qmYq8F}XC`Jb(jsYwznKEt^ z!isvk`a$Qte_vZ>2s^s=v@_!}ll34q_n(WOzlI)|nJ-|qXYpPx0@~~M>G0un96ILR$&Su2BA`K~mL(kMT^{TPiINwFF}dNgzLXpH0;kse@7WMH&cTzwE-+pwDa%}5*3 zCnUK?fBXB*m&3yb7m*Uj{yz=*HJs-%0NK{6$EAVO_SrrEPX!D6m|4WHE>I`kXU zs5-l)21dM20jlE{^w%H8bq?1-llGqAo2T7RsZxKSm(28pdfThEMBp}VtW_j9oI{1o%9ui(Es64a z2{n?!XY+ zfA$bD&#vyl_5-bBUWJ^yr_<{TA+eSP^_>0E35ZuFo z!Y<}yrE2Dmm!CG!PEYN))^$nus(JP2f2B?BEj3@nI8owNR3yvOX4Y^#!X|6jW;K1c z(w)m!6y8)~|E;2*->6CbH?QHdV@Nz7`dR_L-&C zV`yU(e+D^hv!&x{(Cf?K%|&JOMK%$?b?HqI+S5bcK5fd5k5{2Z>)Cm)c4o!mqQLt_ z{>($zOnRkS8O!ziMk`TYFFwv-e+_>QaLDTleLec4vY!sEh@4Tg>WD{!nlkHi9|5{_ z@*ZOJBg7l2vp<`~!`n4pF~j6Zx>wonOHs7RnuMRoN7%)_prghK{u0U1cjs?1 z{LEDkO*VB9wYq-#CmErvfjg*KC#oy#fNAxfV)B$xnqGpM@CJn|K`CZvTzYYZ<17mK zMxq`JAN3r6$LBQWheh{*SD%rzg{A_WuP-_$9Hxw{oKjFnV1Z##F6^^wk&z6Wk@6ij zv45@Uf8+ZWz?9c3^;%+uvXGXD&+yCzEMVeLNNVR=J@5iLx}H)AX%rvlt#|UgMbf zHZR>^Kv)YH!3d)z;C`*9C?nbopGe6L2gPbgjYkq;5DdG6f3ux#II0kaYpW56IA!Z8 zPXa}5+w95R8bsu?{<`&zC#aBh#$-)3f&E1BUx5dqT z9g zg6gKAZmtfeeyWYdJ(r>2U zl{jYA+=>Ca?I9F0QH^daPAeuZhd}9gg^lg`_?F7QEim_yBcKzTKi zHV}Sbh(ApS?Mb~#D9LU7EMBFft`SvJVisBQpjX|Uf95&*=7hw_@B(I+ae=nK3fC!5gZ+*IRc%~kuXIaO=}FTptdl5v)4(ll1ba15db~Jw zyKEaRM66?y`>cC3x4QXnk>b*F>4}?_!=RO)Ir@3C_i1#ko&dx$mkf?GJ1m5GU04P* ze>4U&mjamc+4??HQkL|3A3yR#jU)7w<}cOojpTn+6Eqct=grUfNRjr{XH5Bc2+33K z2DfE0Ff4@zr`NZy7?W=LCFhO&32vPE5G;#I&)0x$(&Q;jsW^a(l*8V+l+!}=V*y`> z)l`no`hh+v%1B)jO5|5lJE)lx2_fEte~WM*M!Ur2W(TqjVV5yyVeS%^C8@%n)@5l! znf~BxeZTbUT051T;a@R%^>h|Ns7xuoeH0EZM2WM5b^HIIaGr1M7q214~`02a% z)f0{1OE|hsr~pLnKcC?>&vDl5o7!{JEJ-563!9j#>N;~T?a_Jos1LNt)bPMnfBD#L zGq+ERpdrk4eL3GwHO>h$s*S=REb`NK%wB3k~SentEW}HvJ?=r(y1}xRxsl+!Ef|V_}ts~ zmq0AT1u+VFsq*Hq#R0Y=LN*GX$}f)EMGRSE6m76U?%?ckyZ0lg2PLVge?fjUYgQhs z*+7J&K|$8Z56W9ZlF}cW87L~d-?EOi{kV=cB3f#n%cudnM1oU9+2b|0zCgHS_f?ko zu;Qu+l%00RhX@}7D-xhJ*3EBwU%Qd4daOK%YHp5)l<*?P;WrTWnbyJ&;?SipGIUga z;G6Ce3+`KmLi)eG%Xfa+f4nzY7hAV^qy&}oei9mNevL$W4DW`0dnp2SO}~Ko1(yto zDbRPbEq|?U@!z#&A;d1~!VjBu-#}TxJVDScsJXbLfvn$C;Iu6v3V1}ZJ>fx7L`Z_K zK>EM`)qCw;l0e;m zKhyF602lMfd+=DYGAyX$y1+gmpRgtFoUxD(8UhrI0b83`6j#rHh5Xg8QK$_JAp3a( zbb5g(0YDcY?dOTb5`1OcRSHdB?_F?tpL^CH275&H5K5{K#fluo<@xE^GF!1IA&bo1 z7R3XJ{z{^SZxobme}x30a`u~t^GIKN$N2zs*>MpiBdy@l^=9C%>;%bV5m%9W8>^1c zL7}eVQQF{i0jqkK11@Q19YL*=6$Y}~?Pu#`_}fwf7|ne86)q+9v~MCo*$s8);_9jXqQ9`9(~%m%%*HH_Kt5D6C32TQjq)3d3ho5R|~^P9Lz#6O>z=bo#4VKQjd**dpRYGB6qnLqZRb1AjbYc&|=}AD}%-Az6nvVUFFu41Tq!D(`=_ zChE(Pf130w7=Oa@qnnv?;SPh&a)eFnQh7FJr*}3!YJE5Sn%jC_vq%enw__O@|NZ|u zYl_5u!1EG=-+=|%N~?-9SP%vUIz}UOz+PT`+bk{f*#~g8j<1bg?Cy``;)90k^>A#?sj!kO8)ueecIpxdbALLp~-ue=%I8YnDeMh9WUw@?({yuZryoYvWtS z`&(;--Ix^cvZU(~hmh?TY(-z7oNGTVA@gKn3A56ii%*In+6ak(I!UO{!w|(1^VdCy zmm%+Dk05Ejj+p}bK=F{1bmgZBgsViAl#IJDT;=;4)&;YEfmG4(DTX!p>p4z>EKUZd ze>=;HX7(%Z*comk)+G@twLpZyC6QEGPa|U2CaxLbsNA_PDrJNR2gZT6teR$!2k!K#b~9b~qz11>H8>#)f9Mg9 zhN|_gO};+jc@Ua;D3Y0HBwr}uBlX#R>e|f#N3bTg@f+c=l4jA&sxyGbE@j1UuA(QM8w*nEwGrc&%|jKlcB zwnd3#LmgK3NnS~(@JLhc%nr1(e+5uOGA#O zZzIa@LTA8j9haIFX$u_%4)WcWCUY;^ox;D)3b!)?@O}uTx!^7aKi-bue+lU|+w7E9 zxxZaY2nJ;{5^TGDm2bDPN+$&O89Kvh*SFbe=Eshl}^xm5EmYYHHjK zRU6Wjqhl>C2xSO?f$90Ie>g#;YA!tcph!k*XG8H1v5Zx}mfAE%U*KcSW0vVnti+oj zVcabHlKSkjfV=ZU6EH||EVlr+64Djw)@@XVy0o94oMrN!j`SPnI2Dcu-UL6HG?z6H z%2Lat(_ec#f=V^4I{OuZL{sd6}29KGgUagnrT2b>VZWAcb`9{%rOq z<(Z*^$ZIxN^<7KB0CYzY7wwT%ByV}v|Y9jtq z)EzS}q@r27Rk&V^fAA!nmr`zBUd~3r_iMMcwsq{FJ`xhgkzuvP#-v@vNd3B9Ol%GJ zP)W_9YE)p37YeeSQ-9xwHKL`;1%X(Iwddb{^Wc>nYupU( zZxMw1S%sTAigE=TY!a=9kq;%|W2A{Tef@2&tmCSbs3Wwgs#1BCLB~X=bSD zXY2LYtmRhFeKD++}|PXj~`K7B2Qzi%JI6e?X{(nwj$AKA$C4X3>C8}_ub6R5zs_3c}FC;AH!!p@lUBwIr&*>J@R_>_MfT= zICHH+f8BRdRucWCpN+N4zIr__f+jI02u)9`e~>S&&32LMRpQ(|zl6N$k6-!?`CUts zzE|N{6zPwY@I<0WxMRS$T0x>@1iuMlf68h0LBEB16PH&g>D;KkOqP|Vh16SLiokFy7=@7ofZ~0VR5e?T@^)%X`s(h>8&tssl@(nI0rINo*V4LkEgfwzSQcaVizQ;y-@wm1LksLx$!k~1=UZ!s(rhjF zf2+EIf9}`gl9LuD+mF7XV{zw=+?Qe-pePYi%Ii!oGR=zVfB?8U?XG!+M@3Ns@O!K&nqu(gJ>Iq4K9f~Qt ziuW^s?N=tl2A{+I6zS5vY(YQSo9ed{Wci^>dU7LngVAanv)H-Aw>TkuKDr6&oz7-o#<&f5Di| zGBB@&$2+qT+f0%LhHBbCG>Xdp0ZEr>e!^_DK#0)zx6ts(y+xCa| z5UW(WDQMU1d*hF7074>8*Jq+Z?Kn{KR@on_`2BOx%J)kX#P^#Oq2zy|?>F=VPKo85 z(sYm?T&zRy%;Rc0AhNCy_Rg7Z%6VxKxRTrQCnXB346H{zHWGlMp+6q%f5N9cSlB8X z%I%lxkSwYX;qo4#Xq@dnW~w-}DdO4}V$^sos9R7uwg);ybyQKl#xUY+bzS&v!2#v@ zHNwTg{Oicq|Jw$F!fjaYcz@75N_%x+(z!*pMhR}DpHazm*B6*pA@gR6J4^^%%r-@E zL7nGNRIg>O5`A_$*#~88f6b2Px-*65`3bQJAINM;K`WrV7`&zSO&8yEHjM|grTnY< zY?$9f#S!MJM&o@=UhmL`Yqj>oq2w{b7%UQSeeSH2jQczb;hdm7ZRi}5JV%wDEKEgT z(K6$`Tuin?As*>Wyz+Tuw({x|E4H$s3_KU@v#-!(qJht)7G<+(e~zyH`#M^zCF-*cBD)ujTnY^(MHESay4| z_~;9U-Z%z#25pFbcdMhMk z_9<%T*KM52FWTmDcy}yF0~{tx)!;&6<1#eoVSZr-3Mp|wufO_VO4r>h-suVDu$5j< z;v(TSiwp|ofASWM@(?NgledDUW*15+JaQGm2Ue!q^9SWq@&zS-TYr#z>!sj98jvrP zwLbf1;B*4q&x|119_>u{D-@J6Sw;FqOW#&!N-)WW;?+h47`Ly?;}4NK2ISEbTV&4k z>N~{}*k7aNx(|m*9tHhDdvK8Kij8zk{q4hsu~L@;e~_~|=a@k$k(>3093@1j%5y97 zZEk*pm`^sHd%{Q3@B9IA+Qk-{rc-}rhRzgpjQRX#P;Q36p}h3$1qnpeQaFM-{f1HO zMq2Yc6O$6YFWF*8b`tm4KVm4d4wQR?)dlyi^)m9+PTsv$5`S<_tg?ni6T(NFFCD~_ zBi5>We@gYa$(_y3Z)2zC0Xd)ktBF|=Y1YhX+{|j9S=CJ98Y9@2KlZ@9Hw1iUO7t^( zkBZ#hTMDNH@G;z$H#XKT7H>1$q+6L}9yawtJmq&J9*B88BwLO7+u6cF*d?jrkDBXT z!C-vL($hk?#H3AHr-w2nujs{qoH5$3Z3U_cf7zf7`Kq3uWLvbabSMvAVX5sQL9m7L z@2Pk6rm|iy_Hgq=JWk*YSm29QV#fKg^6L}5k-4P0m_>|yt3uzIYU=IJ3k##M_VM#Q zZ|h2|&oqwB#T!GMZ?A=!_pETDz)q!}CNGCI$yrHbmESD9ex!|UKk2hZNU_V%()K!& ze+3UO|K6l&I*xpzSJ@#kx6+k>An}`4ngCvzy3;e_QhU zz)cb7pujcfJad3M^VTnbxDjm#OQR?iFW$iIenY$i5ZTq(O%l&{KG_exeF_%ll`o#K zas*3AW%3jmaKEvLkHg37xekndSX{g3S*KE7X9~!o7ARgPVe`P5zA^aR-l)#ND8vPp~@kc;X+|#mG)2mYl?aqsA zoqbtR0at=SZ;_yrKtigR8$i64zjM*#zop4lO3yJVDk=}!&I|2RHXDrEs)ecGJ_thz zjCA_QsfCrtNcF_jFD)C9j`@9MMw)fjQ+$r%y5t=JmoZZB^+y<86jf3fni+sV6V;A>Y`o`O#A_0^T%GN&( z=4)X&ImKaVwfFu_K(C^lf4E^}SN!k|fVIOHXHd5;q>a_*zwL_}flYBe=n@WKqbRrW z=u?DpQ)p&0*v*?nXHAr}>s#ZB)@II(fb-objl55QCdv)b$!#=iN$)3O2>#^8eh$!d zg!-2$FZG>i>tGJX;xEDLVI6(*>Bm8INBAgjHc;VP@K{Z9jaO2Qe*{zA9}53I>*H`1 z)NUc#%PhlomgnBm;DKtV0guH@(&%1c`%8WeY6Tpq2Qt-MzsU*KkBY0|M5w!2oXgso zKpTU4{Zo4uRjcejy{}#Sk7NE(-`WdS_P5?DKK7?rPj)fz?XNceH$KSgHf4n-e=Ip@)3Z88UmucT$Tfplx2^XQ*v9i)mX_1g=MI^Ig5~s42=+%L2Bi^CTPvBDIR6MTJ3r(7u_owz|+r?V6 z$yjY2yRKxQg>k zp5hu+1o-uqz=@dHWs?CEQ+#1MOv11FHDXWSmDc$wFK0sFaVk8LLtV|w(wI8W;v>j5D7@j1Cy;(%?C0IbjBjX1p zD}vWXr1`D(=#_&Pq~bF?dVAIgxr=Y(8%+omJXYyEJ;pcBr)>7Nst*J`FVBgG-1sRV zj(OEJf4+BSzs#LTu>+VY5^39*6*V|ir+6~Dxn0q_kT;a4@m?UquxtlZEm7XY@rBZG zgS-H44eWyUetD=*-=7qgjpL2h zyO9Q$EG8xw^eQXU2=V<@umwr5=@-bTno49tw$+CLUuIA=G9phUPH;J|=`FUh%Pue- zCpHFXmKluH@(<>MSy-FIS5?6J8l=Y>m*Q@5*8?k<@RT}_r?u{zE=5ag`qf^CVmby_ ze}D)pLyP}>Uqt!D&wbGZqE>Ps0+aG$XJ0|kjH&D{+IDEx z$;3Q3XZVdC3KLgw92x^8tG@cUAs0a$7#d1nBKcdMc>?e%*XMQle2j_ptCJlCF%jN5 zFsu!>5QB0p(L%;NOF@O#27ybDIb!Q}-S(`;WkCUI#20Fr%-?+b62-<>PwVfwf4+)v zG;Gh+ciouQ1wi59&M(G=LNM<2XDy}1iJ1F=iA^rpA9A0onqsxk28!S^D|r?uCh%~| ziJz@e075_E|J?VY%vnWcH;i7Le^jPmq8q7jc)3zpVok zl$y~!VNOXz!K}mLgO+o>1+;bNIC0UzIdYbrc>MCDt$Ls_jwDOa9)N2te>l`T^D2`c zIFbtEMSQp_@G?b!wIA;#Hm`}7n4>H5ipk;flN6vAhe*EX5wm5`-)b?~KIoMdq%tw3 z)R(5?Tb)lNCJwCLB>Wo^PdFWUcfM!>e^%we0{wUBOyu|vaFdeA(y(6OGK8NzgUcD* zF_8UhR%&Ij!+39iYY8P8fB&|Yi*nfcIFwAa7uo*Bq+`horla#lCjaf< z_&f3C!|XeBg3cQGHgXhKS}qm|L49ueJ3@S2= zZL(EePpkQTVmxc@$?sT0<>Aies;fdJxDHqJenK6&Vdycae-$1QJeh9XUT*%QCW>)? zU!XG_4&?f(J-o=%Z6mVl&HD;!I`LgOqf%kZ5Z5?k|FgeFoiQ#_$#igv4t>gC!0Sd9 z(f|DJ{IA->{MRxMKfgTwCuD_h8$=_Ts-0cmHM8|7r>FejQ0MGVz2e)AS<*5I&;D^jcxL<;gRO~yz*lB6&)&h%jp;fHKuJgDaZcSdP2d<;0PxnyIW>+o< z+yqQLzZEZ;J24sbrhAYiZCRr`tDA-^e;Cu))0dN%{+pZ)svHAUtLoJ2eqX}@q5zU$ zT&^#Bn=Aw}Wsj*t*LP&dMS>beIc3z>B(FXnfrW2If9trEiQN73*{0Go7sOk}!de?( zZct;6=T3>89`ru0c0tApVlJhAzAE_G2uVTk`qZOQFl{7$lmZP?m_lT*{Rr?m#x?lM5~ie=4v~R>PIT7J_F!^2{qFVSh; z{ECqZNB6N56bw~H1ZSvJdwGsK{fI#eg!Hffj+)C?gIBd~B_5^bH(R>r9h^jAi{5-~MOwUhHqZpZM zzivkG;C?8VShK0^IT)cJ&f}6zGh-}tK*5&8LnE`(zwa-9$RWLegGe>wDFENJU;A1!gGHpKmtdytEdbvlJh$r?T0V?^mY)1(T0*(?~9xf%~U%9AKHcjpVs;5pDyU?5V?J zI6aDt`+ZKPe94GU%yf0GR;SEzw_>1vk9M=>L2_%2h6x@auFa+aKi6b!(d8EPf7Q;c zy3TSR?Ql2l-lHd`id64Op%!CZLl&jN&7NujEfZ7I8E&Qay_s46G#^iV88N5nYUVt; zGRNG$Q>(}a+H<$(K|0;9!%rOPAbn{*RG$$MpzUQMN`8hB3@&!PFe!j|$!yep@Wu+Y}b3&Xb zoHru%IG!QbpcY8td(Z~R1GxOMM;M5}WUJPSpB^n!6y8ZB+#_p4i z`*QYGdWn4?ZI3Iz&}F8#e{VOI&90csDE`?9Dh21xxz;|{@p#kULdHbX`0>LP$|+{8 z5LS^MUh8B~bliq@$>!$NuU>qsPEvlDhN#f~>ANmgJ?f-l!2hazPjoTsZ~jk)WKyf- z=4*{z8XLR3?V9OMM5)O@;xcCceQ|DlaV~msu6*;iL%T1>>Ld}Ce@%Tpi`ZwVdv@^7 zZBcoXW?L-%$_6GD*aDvA52on(XEAoAJiN+#e{8F4jsQnMxW82b@YEvz9=!J77|m@e zHSl^-enGT*0>$i?9G*3l3W!C#skw^K-q7aD(!?2L7l+Pxs%yg!dtinZp>&FMSWQ3h z=OioWZzCe6{oyS+-#%B(&e&27f9*VwWM5}k{89(Mj zyeisjm<_LHTm5xZ__?$CiGJ?K(}an(5zj_Iw-L3OJTnF&URwP0Sbz5Yx|`HAwO~&= z|M`06-}-j|-$x91ophwWs(vZJ|95LIpHFaI%vGaEk5Jk_wF6_C5VvjgRB~ZPoUCY? z6yxyi&a~UHX&Bz}3t#bL)BHr{chyK$p&4PT>u-9o+H6>E{O$*i?ACl}WqBySsZVWe zqPK5xz@YWHm%K>5)PE@~nAmA=`rC%7gEU)ggguJC*=E4rW88=~SOeTQyRz}fLWYO7 z(@go%$L)KeV!oDeK5fUe>6p*VK<&G%JAao@Va@*7;e95w%U(ax?G%xWIq6j3tZ0i} z)fZ!B3EdJePnv3>a94bh*i*js-q@mIKMDT6yfI)kq^H1j9Dj&8CMD4sPb=LEG^_>E zY$m@E)P8znf0g1a6*5RcMB#aQ5zkPC$T`%>iXp=gK3y%5gx3>=)%mO8h&g1K<4%S* z>4aMomVgWRgyE}n_#$5VyjTX!S#oW;9ASg@Lm2D5hp}ET-aowbD{8q$BJPDEL>RXI zNd6q==8e515PxJ8j>tJyQp~e{mr{-_VtUZNgg?$L0%-BFYvcB7kU9K9!E-KE(fm~e zvEz0$NK7E`fL`e*Bh01zP-hryXam?{py6~H=LPuA2?O&eaVFnyi@Hc*SqhmuA8etB zBT=bc?g^Xj+U;W%H?(r=vXH=8kS-_P!f?Y}mqkuJxqlg}|6WDYmJHVJ;fL#FzpedD zpRytWX;WQ5tW&U+~CesF~VVx?u6m_cT&x;IEKOd8lINYJ$o;h~A(&qkno&e|yMa}bsfPZ-_c?S;D5C$39F9+}1>0Q7?p5@?E zmYfOZm7tRyvE9NqgFTmVFjq_NMQ+rKo4?qJRe!b2sKVR~N5JXt0XITyd{1)pPwK-W z+(ZH4{M1_$_q8nnUjE-v?+6lMzM16_W}m&_O4!bPDva@HhIoT>V}wj#(Ug!&LRyuUPCS^ZWSB zX97_kV|Q#m|GxbMw?a(8j*Os*gslKiJ#@}C65tW5^NHwN#DD8v>j~(0;Is783m6H! zlC-WuWoU0;J`D)o7dTMm(q2Z|ZzEpSA%6xq6T9kz#0 zMKL)np`rh0_hIlt70a-NeH!gJG=n@>7Nu~6oTcTi2I zAG1z4$d`u`cAr(``}(aKq|p3X3=rq^-&zWe40Elc7?`Mt_EU8gnK!Y8g?LR88+efH zY~+`rhPiidh;J?rTc_(3e}7ADgt5$cb_NEPZ!sTqpYujXPPqTe(FgH$9`ezufQHpT zw)e=jaPHGcp5nc??R!L{Z3t}dq5Cwsq*{D;w}yvs*;D^W?rodemE5r5wl(=KI$^WZ z-vICR#($GG>od55odxZYAOshj$T++srI&+95;t6@09;jv{|3Z^!haV^dOHp~y=|*F zw$<9e+uhj;$=%5A-?Ip%=42~&h0nh}i}3k%y#Jmzyu7?h z*n)#Ty08B|Z+JM}`+t0Ndj;&~+tA7WVG^wjHDbPXSv2PMM}L0GH{VN~5m>qpSb=ZI{JbOLUwlhXd4d#h#J!QbI=E#^ zE$!^Xp=wpe#d+ZB)=!y~e3_c9gI(?HclzoG4^av~ngH+O34cjXqH1L9&u1||y~>~S z1X_`qKw0#-1d`yyP_~voeNT42k?s+Ak)Lw^;}D_$xXpom4`&!gQV8&$#+3poreEoY z&UWOaWzwm^`cxV2Uv_t;LEJ1gqVFr&d^`OGwbn_D42aLPH$-N~;QBXD z+dT={7X!PG@s-iJDlRmIW&ZFh;PRgxPhT=gwcuj?=JAgdn+)F@W|$$fkl*`nw%vE^ zLqacbMSoKF(6oxiwO*##d4H_|`UvmZGDRYIYN29b(LpaJUYhsV+)#*3M&Qt~#JK1Z zS*z>t<^~7?hsqGyIJ3D~ZOgxKla&&!O|bPYh91tAUmG$gq^H*x!Cv-i%P7|GMnIv$ zJmg{={%A~)q6K`~bHSZ%jl3BG2Z%MJh7!#VX@A{h1bx);US23zu34c{A1IzuLx+~T(mPDhLl!MSr?ZVV&0fPY!a@tqaf66yC%=CAH`V}V9<3TKzwS`CAp$ zjAM*k?D9Z`t?kydRm~}P#fu0rLR&cy8jBa3>JycGn8gC>N-00-Yx4qplYgCe z|MoqFGxb46&naQCbelf>+d6xiPzIM?Hk1)+W;9;U=-tKM4)+^zYEoEKNSsxgyx0`b z2$acJqaN&9VNMq>ouF#!IJK~-^4-{tfGzRfSG0p4fs6dNHSUw;iti-rJ$pl4XxkG4 z3B9b#-nZd?i=D+*ta$p4vJkTJ0e>v;ue>iNCW}?Xt8OLa`zZ<$kJGfI$~IPoIx*Wi z<%UFu>Te&M+)+9&4!0!|= z2-9L}5JBn}+yUlWc2}dj=zr^tGMEgE0$6%8?-DYPfC?XsJ$OMBL5-#hDrvyyNrxz% zJVHA=CXam}#a;4cuq(SupqN>IzUt~?R+-Kl2QwA7s#Tl%F5JoEDu=Gjq>{42Gx)Hc z6hDZ9;6b=K+3`<%pypiuT5L^peOm1b9DHJ|!{M*~x4WI{9qb@(%zyaQ=B6wDHOyD9 zq%Mqps;?f88_d))D&PENRza5tIP;h#r#8_8dhkFRDJ~wksgt$})l3x22B77X{i?o} z#%?A(=fAcO>e$8!g7tuSX9}!iQNknrw{!TaAZ*LM8xVLW%5*xX$|-#?Ux(IX$-QQn zTHMw!kh??EH6;Jn`+uufdPq~`5iC=aFt>b1!=cPkD>5CNtG9;MRR-sz; zAy!aGt7RM?ltKRvS)#roeb-)h4vU+dh7XG4IPgSqodrLp4s(PpXP6Foi<`=VN9qmf zroTtYGB9Z|oPQWrDIW$2K;zsW9`xYTH(0JQ8?3rdDN43;e2}P4{L$_(i0J~k(6w62 z)4Qhwfl*x{WAGa#1&g+yvQQ*mA68Vf{hv44-#89W4^7AY6BKB-%FFCho1aXUIl+c;8o_OPk)cm~R`dUAmy~3< zarCcRyJ15A;ub=IbKE~bq?LJ!{c2wvei++}ZL%Z^7Ob2VV&F6$Ho1 z74*2O;aUyDD%hw9ZFxO-LgPUg6NT;C_x=k#|9{vM|5#f|(<84d)@T&1{#i?0jH)Qw zX_mC-rneM3Z4~*<)$KVI>aN!Q#a2QyWh4k2j9T%@_3(*zx~>O)Ci404z{P1^e6P#shLfn3%jlv$G7WsPneHK!jBzOo@Jrb1i2U)h z2Y)o*DUZZc^B>@qrMl34hvdl)haL)uj0lkuUIH1sYE$P_ZhV9MqO_oSG1O?pVJeuq z(yf=@;kWP9ykJ7r&WoG4gjv>Cw`qQGNN#%!dZvj3TU%x_n*E_+!U0KlYWV;Uj)ACFZ={zdkvU3?!`K{a8FkGl zg1Ly!<6J0;{V3W+yeQMs?p3`n_J5Y;?r5q+9NQ9)q-9y>@^Dg6qzTW0e0;Q3n<0i^ zIuvee3c9;UXWh54h}a(NslQh}T{7*4&dB6$HL_>Z;1ZkQb{L3Teak2Ic9>~a=MijA z(fK1}WzBjbo44%_Xl!|x2;1N^CTB*u=k$7zjrJm18y*x-OUwxIVVbTEWPi)vANI9) z$m+d$AlRdMQj~Ti>%qKQrQ>0&1fN=)oRoS#R@a)`juvtt=q4^&o``MGHK zdC_7@j|*Xy>*Ih(h{m6nV|M8C$2~Y(>`+{H52Yba+JN#*&JWZ!I##E7ox5M4e8BsK zkG4uCw(~7y(c8AaWOZJqY=0?U9~*hse7!#30_u3w1b$Y#JyC1h!4eNrTqSEj$aP%F zEO%Yw>Z0NK@>EGRov-^;B>crtv_t8hFeR4OePz?`nCeHJv!CuPWQTLZlg~qt->a2u z+R%`0SOF|LnYoqaYOGi*j2*K9#W;GS=~`DMqBa%VM6_uZ=Y-inQGYX3E9n6)oX+*O z`qpWmS#?gF4Jgwt-hAdMW#3#XSzfgiOxt7|l*T-^>S9-yf}qb*B2!iFN2ST$+x#g( z-hSqKvL0Fd(CQQ(9+Ioyn-AaZk#=`w=XA&hQw0f_d5J+77I2NhZ1wC>nFhEZDl-CU zqLirBjkw?1qjt}2G=E6*T*#WW277I1n-^*^LM7bqw!w)<`%|MP8)+Ynx7>D_E9|-p ztFh8@f1WmpJ)P1swLo2Y8j;G9F)L0{0_+1k9*oo^IF7k9S$o&#C`qm{k`A=n6Es7C zdcC_G7a7GvxGnM#9awyyhHf4)JXRuZvN#oXGCs{?vWA8WjDLMJ;5DWYR4Ouhu+pF< z&UfkvF>hK^o&Y13&sCO9+_HdT&cZ$*yhqyBhd9 zJdPMC7>;aTJj{OmO!-^4=W|y#^?H3h|4Ip}MA8y_JEiMmU^L6je75DQb92&mpuA)l zv)V(3Bz;__Gk?+{+=e0)_uR$_Onqx@E7Ku{9pkZN*4uU@(!fnhayvX*J1f&GJz(tR z@_?8@l5PYHUL z*knd_2LL61l9TnUrB}jM%XSkv4M_>HT3DJJD_0}IN#;lf3_w2sFw6)UG1!I@(74Un zPP2{SR=2F2o6xiobt%@{l%>q{;GvCiMxP$weOYg?ht8@l^Hf|esaLDlSs#!iDBPH% z%|t*s5`RrW?bYV3FiZqF93EsmC0=r&=lwZqnBX;N7q6)jF55E-!yi*XQ<)VJfYuQ! z7y#5iSy%r#ovem>) z7S3#dS;?2;I%k<`J1oUD6W~-l$$%c!5gu-LK9XX9mr+CK%H#9hL#bRuiF$*Qsv zDXRn#34&nPcy?iZI67h(VlF0xt1X_So}v1cg&}R8g~-8)5ZTzQ%G{;`)%c`3CbcO- zZhyu)?hV*3`C>8iUiDuo1L#JhIIL7~Taizfl4kEWE}6HIQT6$4q>diOkYj!JC1>V?WYi+?aK z4gf)dIa^G^*o^-4nzHkGJJ{9pxWGRdC^Jb#bcJj!U`fxEvf1L37&bC8dy}|;iUWW( z+nEF$Cz+B*1&g-sG5nwr?z($Er~!)4VZ0m}D$2$T0^5PQaDet)IY8JGZ!+B?ng(KI z=h)XGf++0S(?S*CRkh;K#-T|D+J813#{OhqwQRn~{ViEX(59&X>NHDZWR|6g3)3_c z*VJQKHl3r1^d+X}kRqDae$XMW9nTGoCwpZ+KXZ_=9V^+-#smx}m<$vRRHh?Cb(L2x zK)MI0dw}=DCC0^U3LiAnVSG>}Pl)#dkkm0>H?O8jGQHGH!Dc!bjVRtWKz}ZbmZg$P zKVnV?tYTUvSX(Bci7B6Oqd$9If(`6x>Ztj7+zce0RE0@EswL;321Z#B;JHl^hn1UP!`euY{u4rvz)9Jrytd$>VWaH8&j&2A9Yt6dPoi zEd`S8z4|%DlIM84de!4juYU$i+J;M(A-XYVpgx=^8juKSC&k7hm|1(A1GoeUPpxFB zXC&ni&-93TlTTAfoC`ZTSrj>*R0rC3%fEg|J;DSX;I~a@bAsf+1pvAP6i_c(k8?1b zR<%)N2VG3!Oy2r(=jNJI7k=J^M`qX^9TU%9zcfy+=WN}dbcRJWHGiiAfb$gahs<{% z2M}9SftYyC490pi>SY>+b zazpG=L9VTxmw8#cBi8fDJaEeHdv%}sh{u75I}qG6cj1JUo(M7X%&u@k2I>C6~D8@Om<25cBKKoZ~E6(L@ zqbptxo?>=!S_-K)dy=X#u1_Z&sqQr5R)xKKoKLSNv{RT1@Hdpo}dMFM7eL43`6n91T;8cTu9)sej z-%ne$j}Ld_bh#2~c#8JYt(?#MJqf5f@vfs=j}K-vX)BEguC*LBCB|wyOruv^NzIg0 zq9v_sNq@1epwd@ave-MHU&NA{S?6Y)y2g~Yx{7I+9hA@^p(9|TmkWSkj^1itZ3Hdk*0$y;g?R|PQ$|~k>zx$v48kVbo_Xz6PtBP;BIGqk*ISf+$w~X zZg?*8B|+~GSQL{N*m1+R1)D~XR(U-sxOG&dYfdYJIR%QDtRAP}WVzUdY3)v!=qj7{}JIF5ZDO=CLz z?hhaS<>N_sI*jrkrZF$`asA!L+<*IgZIVXQ?T2BlqNaRZ_q#bFtbTg3apzHL?TrWO zXcZz)I##1U5qyg7)>+}xjyWI2`^a&RTz|Ae3g7DMHr82f78wM-q+YJqWx0f>hPDC1 zK{5k)08s=06oc=3_?H0$VhO+rz|tOI0SwKMw`5?B0mvM9)`frQ3_wRL1YjhBrI(p) z+iYtk3Z%W|!ulj>B zodyrqZ{)M*Mzyilj@$S83Zs1A3rigYl@ntHw)5PBt?%T5ZNoixJJ#UP^n8E2I<;gj zOmV@@9mydmYa=?E*lR}gtVm26x3wbrEX#9?-j0NQc;Y1TJbY~1o>sJ=HGh=7Db^&w zi=C7=$j(3UP(bl5RpvSi&AnMUj@S46?UdPN&kAK#Vw%1(Y3O5arYQTwZzJJU% z&|W5JLf6ENn)RrLg4H(sE&?Z=YN~wshl4<85H%- zY(?o>7p_2{-a$LATCzjf+zl@(T8MaqhulIVHy=N9cBhFo|M6%mgak6WnE9M2|9 zbP|9gG?+6w`v*_c%Gw?1ixstvq4$1Kh^%_=483fg`|&Pl;Ume}E}yC!842g$iLCiJ z++5yIb;iPYCRBWV7k@?MW(}ys`-tj^u{t!8YpSY+E+JotHwY;Yb$+|A=03EEoW$4f z>YC>$wIcZ>FpdE0^f(A?orS1nr_C0I81wx}?T2K!5}H;|uRcn&5ob3;w7Oyt?X^?r z3uGEi5BpTPoP{DdiQTWl=m^8(=8abuU-ucDgVBO@4i;7!!+(7#jksM)?)&E|KNGci6-%U{}ebx2)FUg9Yj58aCuGubW*e%!v^%#GfPRr6mvg1;H ztq&o^MB)@;OMg^NF~0Qm2(x-mm_llUCsO=xvn)w%_3-8^r;>p4{>VM<>@DFrrq-Vs z(VvXpY`y*WW^dmg$-#O;BO&8AKX}|+I#i%tMO4#M&9}DX`t&M^S8A=5pV(4j*Ihi? z&=jFPqK12>0=|5FFHLxO-ur2qer-#=U52mrzbeEA!+#}7Y^!lS#y~;nG0AP7k@?u> zA!dwiuPllyJUx3m@yhxwWoI;|aQv(yor=y!ast6tA5zEiTuaqu;kg{w_c0+Gb!w>X z0S60d-mnSJ<%l}X7xWwn?S89$vg@hs2D%HQ%mfzK**WfTBW=QeM8#Gw%VtppCE(Yhpc}Q7h4hjb`xh?4>mq32f@~^7cpJKAd^|3ca)07)?NHHP3I*=< zT_x}19h?m@IlFiWQC!i8c)UO@sjt|VeS^3d{*tBH=Y-s{OLE%MC{FVsFZ#k}bkw;^ zHGdK`=HXG{(XjzUgu=e)NwPc(`xvU6EHq@pa`XHIr+FcWGLcUsdUfDLf|JPVx11rz z9KGkdKsiDZ90&9PPhPOFxUafT`e-~|bR*$U4==sE>?#V5Bl~c;tFv5-`$7wJBpmbc zeA~6ddH4DvWWDgu%;A6^`(f|-hw3SeH-9<0g~ZOO4*ei_zEVA%@zzH7kT^J%_?EZl z!@ce9YI z6u+_9P2+Bw-k7@2n?BEn{O0aAeE-DnEOw8%TdX&k?t7*WVIKNuIzGAJPBVK9=YQKl zie7o~=7$Kfitj&hdIPH=5^ z<=!bTzcO!CbMJE6j&9HfaixZ?dpaH*amS0}VJ}%Xbz7g*(GCSQ(jUF-H`9e~i~E?# zPF&gc<+j^~r%;8iC*(Wfa^KL17)Wv%;wY~6N>VW5lhSGo_2-6)kgHsSJMA8b-P9bk;+ zI7ZiY1BFDAo9vPol{2=T_$bBC$hh4Yqc9-tCJEJF;yp9X8nMKSl z8GhV5-EJo&`EFlZw>_&=!=W4w?R+RJ1F>LTV$J)y1a!&Nyk$7WEOi9YiJ=bb_{0wi zBWoFZKVxt>lDD?7WUL;T-G9NiKiSZ3!*}1YAwHBgSLz4IT8!$Mj5jK}(*%!I?|GkX zh(BRVtvnyqEXp@Js%Q3AY&mtDefGNL%kJ=%58V}J=iu=DKJpJPDMG0b+}`pI?I1+H z;*#$8EQ5Q;?BDb3pYb2zyZ&<>Z$WgUi9J^B`+@g-v3lxndEfP)-GBG}2ll;>P1jGS zXOh59?Qxthr}w<`PyOe>lo=uA<7v#|0*W@W?MROsag{%R-sw zt0f;{vRJ_ho`Oj;+%8rCD|uY3|KsXPAa+D0-jfugU#=d5qCeu0w)ZQcTu<(oc)RL>ZBlW7Jsh(P75^=hpr(mnrc3tHwD_BXvkY`oS5UDPm3MjtO9bio%`AK z7q`oyDD`jA@hQ;?t)1o)v^(=!qR?lqc(Xgco{*{r%q;e0FFW3CW!lj3P66TDZOZ#?59kk2K^%JN`LFNTl(|OtyMLqq!wkg zI~`A|#>b8R%-Bk77#WK-FPVaz4k`q;x!jVHoh!KwDK;vfQFns4aIYA|&ZkIM8yz#fp`xfiDNXoq4L?LCH=>Pb7RA z?oaXK6Q(@(;dAf8f9%d3b`JbE?}TA;SL9I%)lN8+hduAYHoY~+#dqbj@8iAeA6{Qh ze^Wl@34JWPemFgycWxuIwsOrmp z4OM#CuMU&?WxrBcL$|r~6Wxph>1llk9^K}7jz0^5uyHDl* zh6!uz5CR@t-(y;_yM{|O_^Wbw63tV!1V7)jPJR8N#7X9`RhDrbYRali_lBfikt*KA zlsa_0cYi|bG-dk|(RD^U_|;)v<$G|$i^ckiuUsSHe!iYQ;p|H1=L-zJ`zIYyW$ z<)e*!wDXhrJh<>58VTu6nJ7sC`T0|Qrd_rZY`k>J$6ryjW+o~MVHh@{4Pxhv#rMne0xnOaV?FIh|23B2vBO0!K!Bff*XAJ+Q-5 z6jesK#ppfmV!c?I@-dmg);xE#cDJjCx_@rF!yR&}kG>Z_idv1R_`c@W40Q@gJ=L{# zg(G4fs@tH-OK{t}!FDP|=zGQPjuH}d$?)(Tu}x#3{oYB^DkNhH+%PAHTFCeBnASX_ zp!Z+DA|eg@t8}WV2%C`Za&@MlrkwVqe!}0X>ErZ3z;@ZULH35)JD#vWPP7|+KYv2* zN~xiKMv9}$-$gP$ANu2N-{vSW7cRsm+|OZXUI`?cUF|hy64i3032u8;+bMzqtEI6j zWn;f8?t|_OxYf)qP?KUjKI7!#MFtwF){l0-#PSoj*Jbw}(}_!2aCed4kJA-8jD1`% zE@};ZnkK(BmQ|UmZf@iuI!OG@3x5Xqg7esE`@y}kXtUE8O^g7QchKV;|MrSYdXuC6 zn=Ri(965Gsr9{HbdpPHsFA$RF$gl13{ z^zpB-&Jj~Qt>@T!7(X0N z56^*EX5Yi0d<+&B3NL$k@##Ga$400rxhvxi!j1Y$w_w3dRk-%0YsYbrXgC(O?Oeqj z7T(`+Ks#pcJvLm1=9STH?0*+O-xnYCz!aS(C%+_}O}+i*$2&Xo&kJ5O6w2c1-8P;E0_jaTWIdi3zZ4S($*^{FRcX%bY+ zOeK<7}7gcePl65X;DarSmEqcuZeQB|HEH-QnokpM{ zcAx@?)vljW(Oe$}C4#mV9M11J583hF`RIe}dmJnhDS^>t3Td)^#dT;B^);%hNI4xW zMhrz7Pyt25`g}zQcYg54N zc=zU)O26BqcqsGJwsVd9>pL~gm&Sk^i=&_I@Kn|a*pnE>qg`X$6U$DTyiZu$v2UGp zKoseyq2%M8>uDzXyveYBiY>;Q`qDng0X@v9cN@t9b0KE;q$m54%>`nCagcvM z_tww)7UCy?>I0#<$r53&%-T805ymKfs+X}pgcoM0oaxY{3>|1qhJLA$P6@V>gnsfc zIHoYZT;ivKpE>%)@)YFkQb>+mPhv5974l#wOfKHzUonyDf#7|%!lTJq`sQ|uG-;?a z`WO#E6qUJ&pMP)1ZrB}lL+>IPMX0?v=BoCzQbc@GN$IGA7%DHF306I3?J9N7(=+Ix zL2sF)B^24p>L7G!VVp1h>Ek#UhbNbAvZSNl8!q6Y!9W}zb`X=Gj(^iD*M!(sMn(hN zzc9P1&9SVOy8=N^Z}a!Uv43vs8Xd$D?=GMFxbZ#rIDfwG zh37`p%qqOsYrP{1R>P&JgmRTWx9O)W1vhoS7C4YKRZlMNl@2MV>vG7sJz8LVt7>xV z#Y3EGUAOnxsoG^vRWlahA7d``hjuO3IepmPi^IT)z896);qqtOe{pK-rJ-MIACXTK3Ey9to zv2qKO?AVKw{3FLk$w;bb$lng?c;;XCP>wr6?|*iC>6}N;@khS>4F~^*cMH|9FJGMe zTi$I{tXch>hKG4y^X?wv{Tt*@(?K48!VSOR+h20txnI92m-q*YP6$2j(2cVa@D%M*L_uU$cct$ zaRxz9%n#Lo(DjM`#r&D;pX1wneTqHu6kYn}N8EW^$2#A?)uUf%RPp<3g5S|2FV0up~?y&2u z8&|>js2V__&P~5^V?V`m_rjCw31Z*=l8O|^GwjJIPFISPPKx3rzI!F_)Vb?(7=Qn- zXh8)%j45y0?{%N`UV`izR}uuG=IS51H6hd+rQ@3?_%HILM8_Rpv{AVic2h?+q&q?k zxS93)8o&{9Q&wwBCkQu1t%h}$5hthnYR;eO zl{!UFg4kl9sFS)>41SZA;k5X9 zYLpEY9O6>&_8R1*J5f5I(emVF%X!)_J9ozh^3|_(P6EZ!CUQ3{T{p1n-G4j8W2h@^ zMkN<2kHc8MJq*0l5WiaD(=wIFdXcpB;!<0I98d82y&LZIZ8`P`Ta>xVu5NIF?*-~T zt{ykdp%?uVKY!WDi!b=r!c`f%3lF?4_f`91iwLS%vnhfVB%?+WIz2Wc2vDM_scIo4rUf|oYJQ3#8 zD?hGzoarbCvx-y+7(;M>95+o;pWdf6h%g?Il@*xg{Nnalff!jg_z%Glw_-a6D;L}u zy*Nod63^wy^sdy(bF6%48S^ll@W`i5>Uv=`71>kZ9u+qpUv@VaYJW8UT`%l?@rAwL zu7?cnMtQya9^+sfllkyn|I8vo*~$}+$0jG~UQL-Jl#>L2gk+H&KbKwd80g-5m>)uR z>e9evFC__Ms_d=d{MhXD2+72{I!>Ce1O@oSAWjdy7Fo5%*3*C!#Vp9{m}EJ3q9R3B z``HR=d{v`|!5THU%6}*|WOr>8JaSOu%hmOBXIhQ{n-(qwWfn=G8ZucB7<0iTAHlE~ z_DC7TgU?Q4>Kp7iA#V}2Bi8-=q()_C(=Z7RuR5Y(kx}w#K7^ZA3DaJI7aoX*nx215 z72?sS7bp}7AX6#RBx_bm^LrcM^?H?>yV}snQpXyDJjx)w@PAAcujgLNT>e_H4d?3@ zb1kqlts_uvnoPP%RlXfBt3g~hChoh^I+e(3s_%yDo|c|GmFwKCxXOivZaUZGLbMjgCgtdYsUJpyakq5c?pQG z^55hcuROq#FwX|tE6;>gbr~ERyYpC@yCOB1>Z?f+bbkxa{bU@z8XM%6vGg3EjgI_}T5iMWK8BjesX6_!ck`P;Qe3NpJTTiXrV67D09 zw8==Dw&**!o2}GI$Pt-hc7bK1fXlW38my_s2%>IqtO?fMq`AybWp-m{wnYpLSyUp* z?RvwbD1REwV~}~;o`N`8zwOc3`IN@tYOoK}sJj$Ruby;Ca8fPUHAP$sjT8BkuKuVs zUX<#^7wpb?^hidZSk~AwM>;;I=dRaF(-HTd;vYUl<|CXguXVmpbsPwz3Jx1x3X4q{ zrtML3pXYw~z8^Mj?PS02EyaqftzL1lHd()3-+yC{y{|9%Cq5?MKkto5pZ0!)ul7cM zZvFPYzV<(Ehq2jxvA1|ogLuF!OMBNKFb3($jyIOW&#m9?zrTJ9^DOgc_E4Sg?xB9k zmqq3;x3>Ey)I|^7xwvfI+8%V(czprtfBC$bt}bqhpLU`xjQZO;tQg4h{%bq-4-5L| z*?)(2Rr0y}iU+(*^(T9UpZ5>H*(?0Cf0%#b)Vpui|KB;a;=+G;AQO`4;TEA7(WU8ahj(BPRxIZI4 z-`8OH_cixkFuAskv@DXn*_6b2eDuu2@hK!WPQAnEm&Jxb`_ukFV}ac$I-4n?oaPdg zOKvc7Cj)Nhmn5#M;$Q{~ zj`S=}%|{LMT4Q}J_rftrzt)YP$A9F@J@Bvg#eZBk_;O6vHIjChkNXby`TSbbIqTnD zKX}VK{LCKSclZAH-{1S!8~3X{%J&!`A0G!8koGU!-oGUfxA*1kwLiUs$@8^8eY?C8 zh}-ADKMjw|S%%5+h1tmO0{*v(m7`>uVbyK(Vr+uUy zP!DfwOxD&b^{kW;i6W^W znjbdR99XD@X{DBTpY_j=dw;&c>mT3aX%>V$)cwG#^%09LzdD)2CoTP2!#v0@+u%#m z^9PYjVtu?8#&$LPef%|sPluIqy7p}^#4YR{1b+s4P zL+wnGHDBJ119GOPPtOg!^QL*+Y4RIZl(nS!S&EdV^86fBc`jd8DcAv3WQkHzv3;qZ+Yj&-Co!$J`73{sr-GcaB?Yk)18_~Zfaw` zNWRz)Her>WmmKlqo8L$m{bbKlCPkf*2BxYV2LJT<`WdZF0RBxnyy2zn8iE0(l_m)(Bs z|8e)euXTCh!hKD|#H1<(UyW(^8Yj()Dnq3|@4-HGDV@dXnsblpZT&(LSpO`z&F(et z3#G4(H@x;U^ycyHwQu{k5JUP{bQ@w|TN{TOcn%iK9yXtpX`Jhh=5 zXY21qB<}UCPKx91wdUqu7^>(NQA6U8Chdy4!Lhe)c-`jsBh08+8A9PfEUYV#3wU5I zI*onva&iG;t;`qjMc-6BXGe&5o zW1O+HqmPGSMmFCx^VbJKqt`A7exbFUQJkQx!C;>iO)q=gzEh9S`@3n7Q}27}2N)36 zB~nXGiKE)$FP?J6KVt~39T4rvY708?x)9&L@_S(H;_CR(@A*>PceAMP<3O_RMR!yW z8`K%stbc@d-9E6z_=E}Zb4fm}rGMlH)VExk5h>)d;JUF@WyiCb@jMYu)}UDpjpr2@(cns${DRr`H#=^HBXUy zT;A4}AIupN>2IFriw-|s*L~+JpPtM6_PMq1X@4`l`5wo9&-o z5M%l|VoygePS@Zh8u^gAbaQ$*)u}yYyv;q%#}W^8`|;p1}%N{{Eb$X1ZcF6`j69jU#yDs|<|$2OHi9@CaiJWiG-AzIVeG;=)HE1lK~ zy%hMdtrF2ow*Wgp#J^*0-xG43Vmn4ObiRM2V(0{bU7MWKnCRA_EajLMJC25JcI14) zhxhN+-)<~m#dyBs^Mh{bfeQc?+xoat!$$ViiSbwtE%+KudOD@8+@=kTH52{u$p&h> z*ac5o+nyJc1&;RE#s$pK#yDVL8{|5}#c@yhXIu5>lal%_doIa)|1zNWwd}XNFV}yv zoiEn6f5wbpYP=ash@3I@-cm)hh+h7lMeHpuc@Ln+(P2IaWm!X^gDj{*%!a@yHCCtrPfG^#COu4`rRjA{E6Rv^hM&qr0+XMKTW^( zyO%Et>DrA(YPnYj6(}LFytDUkN+H?*J?~G;yG84|Bg%3QRE3`|juhW|1I~Yak{@Q~ zxKD9kWQUth1#zuWMGwx0>gX&Fa*>?%?#(g*_+Le zF$nhcS8%2jkJR*7h->>81tNdTS)9XI86H#IxD_NA5GOy`Ohm{UjLpZ_uVorb5+BIZ zmwUg_+g{r&rg$O8gS+7ymCA~$SqgE2Ky-RAF;pQxYY<to(K(SbgENG~rRmMQt=*Y%_P zuaZYC{jgA;cVk%$mopZ*--(=o+n6B8;6GwMcb3 zH7jvDZ3Bg2vH^Lhm?f7dg>PKCxMpp@(^7HS;)TE#&p!*um$rXh%N14H;T*`p!2Cqt z$<;f1G?|#lIClC`V~xwr&~EBrLwi!iDZ;4@Jr{a)g1&rN5OdX->0N)hr`kj+Ba6f| zEl%0o%NV8I$$S9jHnqmvd9Iw+H_rKFp4BDx-rIPoF-kWhl*P%}Qlc>p zd>ms9(Wd@(cJR~PsnoSDA1Kk6CB^ka&a%U&bLKQk5JZ1I>gyviAVtodXd+E2O0VJA z9>(RgL0yY5w~!`D1QA1Jqk_*|AC7zKVpx1RR(~xGLR53Y#qM9010uT=WxNTQb4TH^IIQ0|-V@0))EWS%Rdamy; zdAZe}!D;?UZ2Eurj8$DtzPx1lcosi$$6!6hRDa%TP<+M#h|9*D1TZ#`k5>Cucl|s9e-CS5-cFiFm!W?Bn#WuE zebNKdpVb4(j~tldHls4Z62fs^u3=0R5+HxMl&1UvhESYQ3gyfMwS__CdN4 zp88sEx@kXR{fi^o!pHSR8mt-apl4Kyhme1*3vsO7H=PI=3C7W{v3br`xCKv zie8}ek^jCRUw-K-<4>Y~-`7*OANOs3vX}FH$bq~9qV6k3Z|e$UbYVh2Q~pYMAriy9 zwx?cs)m;BQZw9ZQd=jGEs@Jq8V2pd?LQ-LD6w>$ZL=pp?bu?Cg$#;n3V2(*>ukZTq zjZeLFH2W-J09)h@3U(MPmAHR;TYDSJs7J|TdvvHP}HW$;Ni3&mwaJ?}w5Ut_a8<|K?d{^x)3p>Ng+e||Id zXJUTwitmN~@MP7@Hr7z5^gvOa+Qp=>QARTDjf{(9*(x{cs8xcYCcP?ec+5)Mm!H>| zFNTNo^$mjH9fDvj5&eop3C8lZsJ`qZyAQ(}W|7Ot1w4+q*Ehcw!fPI>B?r^~kP$7# zrnyGVsa9q)7LNOs^3s2dEZnU&JaT^R5gOuT2%yJ8L|7;(O#IbaU#u|8w+l1IIWgpT zoz3j>DGnPkA~9t`Z4~%&t&%jgo5+ z9hnRDP91|`(JvY5zxZ+GC-uud>}Dghg-NZC+__#1ikv|~FhJTC2C)=XnX+xkfc;vJ zYBt2&XN~;`Kz$q0&-$z0+!3*iO!u>y6RD$=tf%mO&2WEmPz*sb?Lkf-+qK&Hi*MOX zALvMGIERhk`gU`%;Uo7dYmSMzLX*^j=ISr`7m#4rNh(J8hxUvob$}9raE*{HIb^?i z!ZRZ!{e8WyHgJzQB`_1b*7!(HjF^oOM?3@d#50t+OUbX-iJ@q3c)~MwG?H0LoPV*N zt|Z>$sk48@94};2oBNPly|TD&Pj_M&)_d*GM@CE$Is19dY5}uww+o;Tpx#iod%J#e z)dO)X-=yzgiSK%XCrl-(jSQhC$y&iYu;a#hB}ToKA1I8fYj#pwbogq$QbU#u>fINX z5VbZ?geOhc{gv(e!aMBfSK|?Jt>tBUTf2b;3PXRoO-K2)|1vME*rg7|s@5U?tVvh< z;l|BkzI*^Nt*R!^pS2H+0TOgl)mq;)E1SO7;a&^EZ=c6mXlp^z0~*(FW3Q8Jzummz zK~0NM>oK|C$h3Iy1HE)!9h*y%hId-sNY{JQgKvIkLn(JWUt!-Nh`;6p-os$xcImbZ zj*owgLyfs1^=+8H)cq(mORQ(!snjwgamS1sL?uFxi&NGhOu38SaqtV@Fl?Q@Gg1#= zs5}ATi7DGS#rZQRH{Qcw+_=5rDP)@$3HI%^CPv)R_;N%BfSt_V;A9yDUTd0>oIGIv zpJ}o#gu-l-q<^I&CI@#j@0t$l#*p?>xh{XBrt!8Cax@r<{OPjP-_|KftC^-&AN z+=llW*a$PsaTDtuqVNLM(u*N{$J9i`>1Vv0T=IAumTwsC_xG1TWX4Y^h0{-NGtGZ4 z)rQL?7BrjC>td+GnYJqa8V+bsU{#@s%^yGaQbb606MaOB&ko?TwIeFiw?)IF)A10DLkj2d`jOxzreSB`rqob?z zVJWjSvTH&Ql?nyPeNnPBo^OAu{T;P$BrTug?AVz(*W}HzO&A}GWcHKm@bA`1%Qrtc zqK0LJ5;=#bdrZSWQWYJJClB{FJEvM7N>8B(ksE7W(Yg8hTtACW6fq*kR*;$jsmGr{ zijYH5a(i+en{4OmJ72*YOd8E)nK%zC>d0y{`Sy z4&Xb;1*PS2ipAZy_=kV(h=w&+XB~d!26_xJ8{aytx5wC!Q#Hg1lRo2;P8Zzk{jD}A zh0nd5l(#7=T&}XYSD7U%lAgGd^ra!yhrNd}L@92g6$|U>HXGBVNB3HII-EO7S<=o2 z1SjrU6on+AyMBh__^fY2X%8-Y4W!!@uUK_!#hlzf+rvOx(zt(|TkeSauO|dMeO!bk z6SNImqU%Iu4T0@A19A&pxnz{ za~aQ&n10?1Lgr6gVkZFNR*yf?ffz%)Etr1RqKr6aJ>zE0Q*sSCM7CpUH)UVMnLu$1 zV%zZgjj6f(wT^!drNM9&03hSj5<^a}*l%kZJh1_B167*T6$|3Iy?1)o2c6+l?LguB z*tym?uJt`l07o@0x#Ej^j|%mrvCP@9Ba>^ng2lHjy<&@&IA}MOS9W_&wSl4dJ**?U zu6Hp72)v98XiP0md|vqBgef+>-7@)dOfi*BMHE2|rtp7xKRheYV%X&Iaze_xb5!qc z@cR52b`mf6E=+~<);xLoDaX+vzU{vHEbi+w7C-r{?fYl19yHeGpd8KD_arP2RWE1n z`1w0(6U}}94vfO*tKHl8evkzK>;e!@PXGwuU!MZ-`emr8&cMvnCIGDjxB^%i;7|Y% z9Uvr3DGGl8Fu}6P1j`9C0E{;ShOYsgWq|2tBnC+TUao{^3BXVc2>@pwX#iFNfSLp( zasbExZ$@m53D`Z@Fg9CEX^poNUToXK!cgXr^*-XR-I-Nsx#*qFP4#v2o*s)a$h-j- z!B(P#vpt!Lwx1J_<@M^({naU!xv-h!P%m*10g-6HXHq8J{x$tqXMRqO2)du~I|#+%dL@FVYa{)W z(CdGxd3|m(ZX(0SqB{~q$Dq%{UOzugj!7Rgge$>_bEmVi}4sEF81W@S^yUE&5x zU$2SLH(OSsyfv%16S(S*OcSVu3rcInKU@XGzSsjT>q9nX*LCLx0 z24Wy(+o6~H94%}^MiL>b5)li|IorJYI^km4Z=rBt5nT(@X)}b&ou+3I@;l$m;%BAo z0>#u3ck|gb%4?lz3SCV1KC~yiXXM_ZpGl-Y@2O53_8ISKd~>Bj>ufX~@Odh{nHYbs z5y(m*a@*dfP3ej27D?EXZ?W|;lVv(1L=H#6Q66k4?_R&gg^!W~h3BGrG%M{!Q&~>QS^EchgR5l?< zPm2{aHjN_Sx=4hSyzftg*lJ*@4b*1|Tfz}K9ciDCbfe#Zr+W?NB*Dfk=1$;BS}x0i zFBK@0h-VuiOaXzhCewB95HiL~*w;`^qqy4Jn8e@>vOC268beh{;PSAg1~Y%#lQ8P6 z>D_gKj5uI#$t|U>dLgCmXcmORAtraEGvpReCB%;sttp!*xFvn8HTmdEL~?PePYl8$ zYL*kn7;tCGHhY4JM4}*}Oa=t0<}hG_8*Z564cB4@;y}YJAU*02<2;F=2?^>w zn?(qoZWQPrT*wo+`8GLR`09eb*87>EUv^l|GzI z{3!bc@c@URpUs4il@*~xltTyA92ncn4y;KU$96~pDZ3}Kg!n&F!V_>$&o_m_m z-z=6qC)l*{{h1aGi4a$9ZjsYOjfTD$%Q(k&>}59Xl6h3IG;t-4;+;EL`~!KMa>hVe z;s_+1pOuY8H4dBX)JK0aOrp@N>z=YGdk8SsCv#w=sNv$l=5Wdg88;+@8;VQJfgO>p zYt#Gopn(=iu0!nUo-(?TW+X96b&%ZZ7G13l>Dz(dLb5E#c}O$RTwTU{+HF4Zxig}k$xo&@?>K^avtGUv7l`v80 zY;XwIN$UVg?WP59PD$E(_i3%JG2~}ndjm%9g)RhTRrI1O)l?JZ?yEy^*R?gjfQW65 zeFq|>bUfxMI}XAg94DKPW#Dk+&?{ywltIe9R{2a%sKF)2M&ZcyF~v0s4c81ZarhSa5KZ!W>x_240+wm?Pl}Oo|yPgDVV<$;&3N zu$E_pjN@_aUBwNFBa7O&O|1=b=h&ucF2yng;2KMyjNB;nBtGHSVQDchiU~DS*ee*M zVxAbW$m%;gLsPT$LwcGd>ULx1Ub62y!ixu`Vxq*xwakBj!kch#8e|afSQriG=$6sT zkkRL0iejq5EuLfDWY__z&mIyWOE?YSv(RnfI{?@XfAFdy!gQ=A0T+R)xo7N$V6 zM2Z%dtP^mV+cCqu5v@S%cRZC0El= zJ@A!;ELf*g*mSkC5mi0IIstWdOCcGAuJ5bb;xumYMi;%t4oQru#|$}R`7?suEwDBg z0VRL+ePsyTW6r1cGV;hYwlx0SfYoQT9L*jv5mzQqdOa$<%saMoNZ2s}Ra=0iPp<*k zDyUp=CNdrGu5fa1Lt7*LI5Q5D8rnQuxRtumAPTx*@CL!7ktKaXzGcq-9&-bt8;Z%o zZKy(mBI^2^kW7Vri&7?qv?{R3jL~t_l6-%l?R`6;C>cQr@rqKbxdFp47=M`}YDq2dW+sh!>f1s%aVA?3S>UDS6)gjMb57kAsRwstvIT#N zOc$AbuJR^6)xBh9Xzbo0?2azS1{qFtiQh7)HZ3My2o+f9Loeo2@<;@6@7fX<_~Gh3 z;!s7PFONiQT&OwX#c8@wQ;gMn)gqf1!-Q1l`c+(#nLtbCI!V_#ir8_c)(pu848H+_ z$0jJp>m}JaT~>P(V!Lw>j+f~%obi7Ello&dFGP7vIr0pdy+kB1#Il*=83J9$G)h8g zlgv7i*yz!WC>>~!Ww`Uz44Gq1WF2#dyyw(45e(*piw;H-9MM$U%|&J5Fxno+&41u6 zcf~D2#OGu{q6#GC7yGWLG~qQy!8h=&8Gx!k`gv9+rQAGmFqT zjmx`MDrb%b-eoD;&E`G=eFDxfQCp+Rhx9n`Sae8v&|J z+1cJ@Ms?n_&3CJU@+E|RupWaTm73&5)peW9lk?SncxZqbJC10N#VjKQTQDLpySlm* zE;UsqgQ~Qa(xo6E9>>o?YLkD@-LRvig5l3R0|nnq8Ym;w*;DG#q9TbvJ#Qkfpj=Jw zxvQ({q*E6c@;;a1{o;^SWvaz6;+=D^TjfBBN79v7r`%;hKTpG|#=A_mS zS90PYccaLih$Vg>@HIv5SIB%iV(f2~LpX?C)u(NU$}FiUGbouGA+LW16RIR7uVy6U z<+Kg;iFt_aL})8=_Rta2Daa9>*||Ui*4UcTsUb8|_inPy5RQ5*y_CAUKh4*15HRYy)wJ{SXoX<$c(9`>>*Iq942LX+BuW8w z8jR<3y>qpMOm5if;g?%+K%ee=f(n0Br$rP_N^46Bz~&PH zdU-(K+fL)?sR~L_L+UV$&@NB_94w0gT(!%t`qbZXj|g;^<5FWqNZ}@BUNOuQ@ACvk z(rV;ozOl}R*V_+fY!}={=fulKgwJ5(2L^PiMnqnrvVH8?GcpV-H>SqCj!SH;Fql8h z)Z-^4is$i^9Bay)-Fzxb`7?#VJ%iba= zz!WAb?+JplNTybC3XCa8XM=b)!#3hiX35XhluF1U#O8ne$Os(AggkR+q^Zs#^6JV4 z6DM5mOoSJZ*HkqkKk-_OA~??Bs%U1qJDK4^hNaS&5kX3hG=k82&LDV8Wf(g`=kDPF zH%2Shd%btnW8v02&6%mtfGy;e;_Fs) zM-wo7@W_7>qGuadWlpqWqJA!MNfn9U76VDpS?G>5sUr~~Lx1A>|^+n%M611K~v zus%@86*%>^b2_?&1ma=pT`o&{ta*J&s@g(c$qQVw;*3K3UXW6$7NJcHQiXQiAjJ}` zhx0y*>Vm#0GV? z-KENixkTcS@-TCHO3pZ-t%?FVI&nuT#5A#G$E>HSjK|q*l^ZDvdHHy+4qbNFILU@V9&}CdW*A5!C*+sUQ4AbTa=NHkJ@RV*wED-1LzJ$1U zorjPs9g$8q;=4|)ng08i?T zG{k}3<@-Cg>PTWwkZnTkzNxzuG0p5YSF^;_k+r$rsdpDI=nyltR|QjILe~39#0pCB z?>%@ZDPa02fjGsFIDSMmHlraVT<3odRCgjoF%0K$begAKs*m7e%#%oYAv1|XXpB*K z25jui(_Ez;<7OJeEOl5S2fJzWE3Ja&;!OLo!!3cUHyy=gn}%!xytZMT2jr89kmW&} zOc!qJuX9yQ;2fQZj7i|wJuXuwMkPJ-*gCG>#9R!9Vl?Dxs8!VaW9+g7zJPxj>#(ha zdKL84CF+= zOd2sVUZ0FLd!daGM7_#_o*RF02H=bVi8sXkQh~4qiRN%Jz0n}ZIUHA-WYRfK5yJx} z4r)7qJ~TqV^>9M%ixO;Lj&?*4k_NG#BlbO>BZxGn0hW18Hg1bStkbB3?1Qdt z-6Q1a>MTJS;em@HE*<%CVdW?j_hsTwW-s0+98aNGz?y6nFVi}OEUsNgnmp_9c;-Zx z@cT-@y{WJ6$Tf|odllG~F1Rjgk~u*nJ`}5AUFFK_fgLF#fLkeV>%fBRZ^`N}MLa zsiMh(gv7Ko6(^;h7(6~AW}KR?G6hj+gZ$u$qhukuBW~6dhems(LGM^EUy%9b{X7y5n-;9;E+O%in*WV%Qn&4OApkfhp-mqbnzowG91nKpe+ zEeV=N89j19liU+K;SAQX21%R*)|nv5SxwwX>LG&)n@KYgmkYqANm{W- zeIVB7vZs;OydZyzi85FcO$B#E^KnkWs?u{DJ{?L^Y8K-<%pgu!#&wiL$_@0no@t?G z-+PeYCW%h5m?;Qwj7_8LnZ=(a5=h^0_7L0#ES@dFEA3C-}T-QoWazHbOenbLt zl&9%Gj%rSXBMrGAc4Z&kK8Dmj*z{q3C`SAiW6a! z;3H}tMTfW{9JG;vKm__aK~>J+*I*hX4?!~}GDv&Q+l}4mJN9G;2@V96($Qvaob&7< z1LS|oiD6ru;(W7~GE9x3e{4+9B}rfL%9S9g(#9qz>PZ%#qBEP~cf%k+dWHX?muVn} zu8nHh+0wc4=myd$mkyDXEgnQiD3OB==J0h^t^ok|lL(QHGB_Q%b}%tiMgz46O~$ z1*1)U&6gy{9@G8HZ#H&>yxmk`Y@)1lwOvT0rDJXx7>YfNW@7FfYS{QTE*((q8EPn0 zf}^zwI_?m$>?GW?OFgVEl0NO4>7o-Lkf@mh_6h<4dw7GoB%udpo}kzpr(ZV>Uc;vZV_EEF5<&r+a=Zas$2I-7UuN-0&4ksQ-WI!HFPV{m;>Y18(FzHz4N@g&VA?D^b8lozF~jPihHd4F_iS1*jN< zL&+WS9jjn6>$to5?6yWGs5ya2DkDWZ=CBe(O;^D_U8D-eQZ+r`PZ@V^`h;rZI`;J@ z9vS3HYuRhdj_V)w)uNa)41aD!*)3GMjIYuJ(s`OZC(~?4+>%Ads*@Q>=hS~_->q}x zD(A452C{l_TqdMc!gA?pUo+ODp88uhPgPhk9Vui&RAJ&=2y-0{3F#x1;NzKD$s@_7 zM9@!fF{ZXM0!2lFnx}NDjw0))=CUEJ&EYXOj(o&OqqJv?xq}cpQMyMHeX_?wd5=e8 zJ3tyQPCk%kpG)q@I@ME4AL4(8Kl+=)`7i{XwtI0=5p+F~Q%Im?`<$(`pUypYZ+e2$ zYKe5&Y!dn%h$ei(5bLPE)^b^-UiKZL6zq5_Oq&!O^tI|6o*qfP78m{D;4?~3S<$J6 z#4eN>=R+|NEPK#1l`24hXRe6pkLfX^OrI&WGTbFHz9EK`C91oX0VIFS?E|9}7zMyG zi5F8M`~mXi3=#USLOmCAuRRzHw>sKfzxw(-4z+@;42M8I&_Ja!R(MV4G>3;}KMvB6 zBqO)>EZaP1KB?llZX<>0Vghe3Suuq)2+9%}k4Ph+$k-wsEk(+?*bApK(la8*C9G20 zP6rh+h7%89@93UssF;5vL7iwOy8?kt=(%NXm9g|gZRk*0^4mU4CU4-T{ROI59HBwN z7E{tf>1C|wgR`Lk#2y@SaaKt8kq12KrC|?!I#;Cr>4Xl5}x8%tt=ZSDlI=GAB z+HCrU&(W1jFcZ6&!(39yg3!ubHr!bC)|l;Pkabx#)eo56BCRGZT@+ zVPl`NZ4nDkvcrF}F$trvw7%wS#F^8~g21~w2-?sKl6iZ|XmOkgv}Rda=IU9S-@l~w z#Sg>{P?t*qfNv*6#n>Pk-BYTt?afO$+QvBOy zV4{hdHFeTkWQL|HN!$sGoD&j*tcS72M>H_*eOtMP!JAyna9w!v7|{pSi7O^JBlXIi zqew*Y>Vki(l!6))ouw^Hs^%OWHz`?82H`H+tg_1lqkHCBMR3FqiigakH%O{b%@4st z1T7=@7N@Zu!P)`viWHh24z(1bg|o;HDfC0ri1`f5A7nuEJXn@TD`<$zyfm4*0F1r5~3K2>YC01k>JJ!wMXYVXyl9unKdPBncEI1y*ambXA+ z7;95=xBS8MK{FD@bxaQ!xF6QYO1TkK(>*995-*r7rxCw zff*+*q7qqL4No0SYQ|{G0PHX`MUS9z!hqO|vMuTF=WpJ}h+P%#gIEFtae4BrR zU6?q@VE`zivQWW5-&$@|WHNroPEQLb$W;m1LfMvp4YA=kLwVDeSvC&6G33YzJoMv9Uup;sM~g z3^ODCG89ihuD!(F#Cw5VsMLuN#Z>kYGq7E~-N==5ozfb$8U95Fr+uIg=I zoubVsB`!{;sj>)5GZT2uL-eXZibx=&NHmK6XoI%To&(z3zI%(9NhgTsswhwxjX>R> z3@+qubwu)8T9X&?jE#R|b*Mr@oB;kvHbo|x2Tmt!bO-W?unN#F)-1bXz=%wAB57=9 zPN%KnQs$XtyP6y=0tt#4ms4hzXHh2Ni)kaz3N&JXn*>#aEF}mu&6NmB?er}3uq*0A zaWzl;o&+uzG_sS7i9bD&Hu0JVOR(yYWj#l+2qO>fi6WEofp5Lik3#Mp;cHBW|O5k{Q=9nwZ|bh9F1@ zQ{vjCBDvj#G7aAG|Fp|x3vVfZC7L$8R;!*6)jw39qG@skex=lxh)8T7TXEp*fo>Ax|5=T zo}MYvg@mwQ(27uEw8rbaGBc7XIJa_veT^cD2eXe=rs0z<0R3jnm+0`s+n#VcU<#O2 z59%D?RaAd>6w}2Rd${aIigT~gv%U5ivqio_+yK$3a=S7DWAx0u@vY1&9S@&4`Rc`9 zuq9b%Ud}{@Yp4O6nYM}odg@%-jJP-!9!?nhWO11Tw`p$$Kxi2&o@Mx6GMzjsbt>+(j7@1?0Ioz?Xo>c0BrOd&`sa|g# zi{~9wxdYTQ>~{%Va}M|b^F3m-JdV;hb9nek1-NrH%TvFH6AU7bpQJWJN6#KKN0L^? z%SC_8yYk%Tf%F^<2oRJambRLHQV!$^${P$8qfjw*5o(W8!@&WfQZ zr6xWGb?-xh2u|#ub=na!H4#Ee87x6GIZCvkR+w6R;+)R*bRSnp6ctFc>menjLJ_D8 zV$Iv!&QG+?`f3D`dR=?UUa|vyHsSzA3}=5VGTkiIl4-1hy|M$c_DJqJ*#f}@3Rl6# z&I{!nsfgilrl0%yPBKi&oFw&j;Wx%aOpHb6EMuIlr3@PK?U6`iFL)@t7gAn2ms$}T zT^0E~%DCJXL1e=tiaHvAOyh+s9n22YBqce9(I0b=MOn|>213GIyhja$Wg|U8p3Q%d zl-4-1x8VJo{wu>a2-yWOSNR~Hc*v)1f#emskdBKne8lTwozx`xCv8F{4CX5 z5-~AE?vs zx?{#M>uEHY5#Ws~#?p}eKFeqw<9X;(2b4_dtvM6L^Rb(_vpzrSGN94`!UTWrIpDD0 znRK{#V6n8zbSV-I%TB#iBlES6vv_W`G8(*=@xuKIXBVNUo`dfRj|c{v>2L`*!G&HS z9J&{z-{T#8cS!&U;wzfXQK23!trd!rk_p^I(bY_ zbJnTY>l0Fo$aC}=(Vb`BFfH}yICxVc0jC)|l13}-$`~B`A_RcX@JzZJ949*bfM}K- zagB!2jE*r8pO}4`T(b#W-UsJs~5e6cM-DX>G0TL?eHDB4FH39T=#o z{R=Dx{OTy+(6(ad;u6a(hnUPQ{Y2UTCpwKIh%qa6VxeU`+SVzC%%RRMSwWkjKNcL_ zGZU9}&g4-T8E^8M-+dX$r%eVGtKV73V?Z&e1?tE8ZtkSc+FJqK|lpR;+ZR=c@nh`IIhI9!s2 zwDB6ultX3AagOO`=1Nj}HnETq4}zOxRwXlrgn#_0&W*-$M{~v3dKO5*tXqsy6}K+V z+{o#~fp}i)P0fGr$b=A;<<*?uDi|e*I0oZKNpA(xDKUtyHP6^QLtnE))hQ=1+g_MX zM^Fk64w;8?A{wOF6raq>fl{;nfjmYvGZo?W%$g&fQg7U+JYk?0)ALgnpcQkPuQtKh zQFNoyYaDEi!vb3!#@j7^mSI}XWqjn;J{r>52k~G>7#@GU#X_!yT-Hp-xKhPBoot8V zc0`rz$!FVNacMU3q;+CF%yKae#TY;X8*0qmL4KJ6zS=FKY4kG#PDr%Px7|&I5zs4A zgrLH9*+`@5Za%@hed*I_eoSpyJs|cE)Gg|iyUL~zRSK>?F=O={OS;GKVkivO%Q~&p z8O}uLd_{lQe%#LBYIf~F&=^ZSC#=A@X+k!J$diu4ya^Hx{DrB$k+~M$W_s$S4ovx6 zV6{|rj(YFLu~@UtLL{C~JX0FUF-RK8BFP}mG9tYvJk(2QD$3**O*kNcON(Kvo}WlD zYf~obaW#fIjf@3DAnpV}DAT|fnWRqSEUTQ|6qA3;Clcf#iLyTgCeL(x)<-Xbm0CPl z0uSUNl@}b84kCBzn0=-cyj^)|id1}MMG4xtag3?Eh zPVKNMWkI2in#4p23bXk(MY%rZ(eikzA0ROcK81R8pRIWQBOBjNpEY5>iO8{n6q*z$?fd!J%t4jZSdw$wQM3 zsV0#)&TbY5QpVG>zeS@$)YyrQPd9)ZX48LLeCnbDg8*4j-I+^*Ik-%#VYb5}>I#9{ zc?_rM$oa5Ud;3AI<|g%#xP~l_*f-+(NYKmi1Uo})Q>HSr;|!XN)QX4jG*d)(JC04g zt_r^M$&|Zf7%OZ$5()8*nefFFI7gS)9Uy9L|8VDpKAG648^x4jD^V|-<1!5aeCAgt19V~@`w$X0!EW&xXyWDu~DZ$>^^-8lq2_lOIaIg4!4 zv;ybE04-~6NIm?(fIB0D>d{VLJ{W3}Vh;Hm?wuGf>w6 zNS+DHupZzLc>10(UIs>(@ycQ(0@i~u(EL4E7XTCjk5>vFz`8+<6zE*QYOEL_DY!TV zxU(5#It*iiwKYv@EBN$ycWx}`4Gl234j7D*0AP?^R=AM`Qgh7^c)OUfpWuI~{qygB z|35#xy?&PuKTLJp)Wg_^d7UP|`@@H^pVH6g>##~;-tPv;=YAN*a7=&qcIw~Z|Nr(X z^|{1u8t+zm%VACH@7~WedH=(l_Cwy(uM*flq5p*b? zK72m;Rv^pMG8w))|81GCIt|AK4of`#@RsrWZ;Q=gIi+7T;EPj_yiVSRZS3><_LED$ zxcKXF`=;E#fA#*~fB);6{jr{n>kH>fKCTNZc9(j~W#IU*4d8lJ}i^{E^zf0n{(v zeO1@b*7E6!e|ryt@7H`R^;Il?%3xG|H{m~9G-|^h9*r=b{uJ8Bwfzeq`$u>DIcxp- zyZ)Mc|56LSX-8hyf5c_}SW`Zh`ZTR?4f`wE`_GnZ!}0z$>f4ycfA|9&`mu?d@`qQ~ zhClovOp-nwUI(x9KYV_>d%fMgzx&Iga|Q1J`PC2iaJc`eCh;p~;LjF+Odzpp`h5E- zbNh{Ljhd!R!}>3bRNpD_$s)d_h=2IQ4?_ys)~C)TKYW1;e;%~^>fEnuLm1^>faH%A z{EY!#Q~wa9_pr=I5{S0IL z%K_Qfqw#k*`*rvKrB-~?mcPT!t~$q;j7X3Z-NgWW82TJ68~pm!>4_x zKO;JXeIKrWY>~K3>)YF8WAq;>`KxaJ>qg|$>yOp-R^R81w7k84r~Q~Nzr2|KTig5F zTmAm}b@jg0{afbvn@fLFCq7>DTju|pOMkQm>Nj2YCp7c7gt2d5KOffq)RNz&#ov4V z3DXV-^*?LMf8EZ|Hy3~0C;Ht~zmC%6w_W|rlQ)YY@IU{g{Hk(4%UHgC{aXI=%~hX5 z;V>pIsb7}q`Xt&SJ>lk0?$5$@R_Ie-z;|i zaqj%hh5r#Z`i+3}w`k9Qc6R>t>p$PZ$K{vSC%(Dpzn*>n0NM4>eCG+FU%2)^V&cEJ zAN9T0e}zc;!~1gze@B7OuRljrYuZ;t`@?ZwD)qqY;C{Pn_pPk`uR5hDk=WQ`1)^@;lJ%^tzT^&wtOSe*XTLXV3eO-SXGm z_?K?~O(XsuDgVZv#`y8$qkkP&{PFhxP2BMB&qn>WGktwixj}(%^_c{FG)AtMfZ|T#yPt*HP#n9Bh{T{E+@zNv-QwFCP>WdUbDUzm18v7p@ zg<~Xz(kQ|Fe-9Lgr}6*s0sZrL_ouH32H^g~hyPK9{h0qk=le4?>L1C+?}ldT!G_3P4*#LVLN~S;XNV@AI5w7 zA#QpY!P}-z^7{7Sy|xcOKGyi*9}fG&hpI`^fBdHpr`K40cn#dEY(9Kw(>`nZDos92 zuRXO7f2MM{{4eJBABG0j9gc4|c>jWv5ARR$y)OEH-iG|2V8%cE;|Ju!KVbBS|NY_1 zy#L<^jQ+>}=b!!+WfXoc{O1q9;7PF!W$!ioYYi*? zf7kkd{R?bqn&0Yw_`1G-{I`Fte=_x7-Q+7f_{IXhp8T)p{fkM5)BM(mPac)l$!CB1 z*BToAhc~zWG+@(^ei$Zb^MClm*X{bhUd3M}{@1^}F8H^PQ&4~ScplpH7i0cv_gj16 zApYy`9_d^*b2{`eiu~*E{wW-OcyrQ!fA}<7pRbtTihuj%7Qb`}?DlWI=JWLa3r>>1 z|A4*za2o!{;IIF%-+v&{-+#bS7QSQO@`=|GEQY@oLn(Mfyw2kIs~mibaoE3oahGry zAhi6DcHhkSKYU{?zyH{lfBew~;lGbx()13Czr#@MKN@Aq=JrF|r&+#yAG9f)fBN+i z=0!B?{)a3a!xA>)_WddujQPz~rhVV^KVKzB62H01XV}+2Un7Rm>~F3zue0VCsw6o4 zH&+R1d(;f+FVsq7+;6TmNu%lZ|FQSy{cRgrqA>jbd#7 zucf4W#@3J!2}x*^1VfOPG`8Q*fBv4Oc2t3YBroZ)rYDwwLM^9GojUs|>2r6p{uUv} zTQbk?`cC~lQkc}odo~U*7Tt~Q8(>s<*W2CtdnPffyyxAW?Q0`gY0n#-Zhed}@T|P^ zjotbLL7`iD*V~)*VXd&PyzAY)>KFq2U^af2^iQY$&Ne$+RT$ZOlj-6ff83e#wGm+P zJ(hm%(Y)7Y@$fBrWZlD5dTX!vy&=790 zcgYx7-Z}8KOWl5}`pn9VNt>o-X0D94y+;NczVS>x1*nuVGNIme`NrEn!bWw7x5X*;UWbFaq!)1_&vL5jFNZ+qA;+|$Af5* z!PwBr6h46C0ZYo;*bQ~HkKfMY8SoZ)B)}iZ+blwW!lD+yt50U=XBfRp<7l9_X<#wj z$s}DYfF&RNzhwsh4kDaFbdk;9=Fv%pJoq#R5YWI9;8EiO82%(0e+=jGBI)%8$l&2S z;BTiR@kKO=hx2UhESV= z9MbQ^O{t{<7p1Rgi|3oT}%A5B~FH_Fr6D`wVe*?bsN{y*}qQxq<|TR53|kdZB6}6&5P)qMwPaGp-`m-bLehax#iZ(KBC8X~lSF-OlYKn8_~rB-u1a z8dFdXAsaMZf;iB_SGA7#cFqUOat*J)`OAmMZCGUVsiq@GSt0@b0kjB zeOAbbhde~D_a3{2f1kfNIyh`a=#K+`oh1uA`{|;ePG(~PuaEcn0Nsmz5s=NJ#YLty zLjt^!e?TizprCH5xVr<=Gz|hfFla@y@iLEM9t|iKkdI+Zr%Y(hO8U0J1ASebr^9p7 z6QXvIPB}J?Mrl68h?%RXk+zdIDzH!iI8S(3Qu!s(pb%H8zU%cK^We{+yI=LPDt_@? z%`qbPyJkB`k8ga08vzPk_zWm={lnTYiMoGJe{1(^OkJ5=1(DbG#qSGK3B6O@$-eLh zxB2%eo=d}ZBAqU>C}tF~9VX!UfI7qN>Zc>#Za|W$Tr^x8Ahpq_1k45y_O(16XNbD2 zTm=|J8Y*^!JYP;|Aiz7>NpzAx|LGJBsmX|EXTCp=7IV1JSR2ht&8EWyT`G)a+G{?- ze+y2joZhXZJ!baEMy$)>VvDwDMc*vJl-5x~s zm6)u*#UI?fWJHa7kq+s7@H6^;wxYsO1Y(%ueTy{kxBY+gk?!?h?mzyIgD3rG2hSh1 z?C!G**sq@KMsp-y&sgVMk!`DwLplsX7bgz%>L zo+t-1Di6vin|l%G-LgQ}vcS|TfTU%tuGyXdfAv9i{sG6g zXMjIQrufiVgs%Wve2yXHJZ1NbMsX(Uo#|>}j=G$te=d_cqq<)-^j@_Ji|`HWf1e0v z1UJcZi2S+}XhpZWWA}Xvuf8Gr9>;f)4kex;;taW^4+zW-9n!goSkK!0dSwhz( znO;RiA}>Ms6`Iq|&$H!t1X3B`0o;m`1&s01h4sUN=`tCm*qSb~(>NWs3v&oe>Q?SU z{Hby$;!lOEuTezE{wKciXpEa&d(^?|yN{Z!z5uD&E!~3D*Q%?~yzc0If8h?ppIJOj zhmF%WcdFv^n>$U1k`xI^l#KHvc*4o%Kgyy}ata6|4mto}v>c+_0#J)J`ku0PM8ZCA zv#T&w!0O>So|-dgm6H>JHQoS4Kl7_bbD)m~$V5pzJZI(;8z`@cx6|wbUboNw}SB{As(Az4PJ^K8N=@g>UC zC*uS}C=^$5(ClP^0KnIHHs<3iAZpf7Y9=k>$;GL2xN4I#Z`(pc^!G$LZs12~;t~2N zoO&J+>`gZfXuTXSkk$$cPkF@H>jWrSJ{zY)les7IX$?tbNJ zpQJf$Fl*gdXBN=$JEY~!otH#c7y`omS#_smX4-SOIo_{->_y4tjOpV0&c}%3@LJIs zVE_B>$98o1Hl59I$@pRW%^j1ayzg1Ua*8N0)yP+A5qEy)&kEBkPQYe0r2BSyYN30d z7R+Imc>U!-!*leJfBpYnn~trP&$e+#JEQ^!fsWyGZUl#`krr7VZ04Rj5|}+&7|)de zUw9~;qfO-tfJVT0f%$0+%sw$wsI`nfmh^!0fC;%xTxOH`TRf<@J$Fs!sY{^p^4yos zTTI3`@8Zn;nvl=30m#jkE~GfOYHI@A&gOl*75XXa+TlNGe}Rp32ZKf~(_6Th+;8Z; z=flFRs-Ct=?b@?te%?QUJ@)L0mjjhQ-`kL}&)vi5`{E@S>Ir|)sgD#$$t7S*l*gyZ z;tKBJ1d#6nJ?Y+JEWtd{_kqE~87v&Bd&sL#5Z2NmnMR`w$hYZT7$82$mUIachRx=P z1Hd}W;|nREe^HbW5bMii1h?D&Btq#0oGo5mLitoWt~gbiCji!C(GGuth$t6?_Y~~z zgYS_j!c4wjdB7jR5%CDMX6L{iEzxs;x;7xoB)Q~c*m>jIzdf|4S+e2y^S$rhZM?Q6 zU#mk{ujJA7sPf@)*+lWjHWh{2h7YR?H^M$ZcHYp2e_*MF1%S|^*UOhD^qZ-rX$w?p zG+WVn(=WjLW{%lq8%2$6qePEj=n2Y}?0@BXTy}+hbh(37G^jF}`e&9ZvwlqdCm3^V%mc14T>Ertt#F8d*wA2^vO%vwJ0kjrogS5c7SCuQXQd%q-QUrWKOX4Mtra(ACV6eS}Spe~; zU?nM`0pIke-}I;7^rxRle_H0>@J);QO^fG_1v+uTR4&G;%^_F&vwPA`7r_I?6Hq!D1|!lf1=eB^6$4x#UDKox(hc+1GUC zu)w3k9ZsnjW1)LPmN2HH2z_C~rzjpnha;FxJYPt+YTJFaP4f>ZC_TdxC&h%D!yu3~ ze?L#~m@?mr(xC3Iri`KE=wWfe|!4bERcXUmsjM>xCI269t-Q234$;vm1CRd?6TwCk) z@>vD)O|93+@>;YlC@C-y#kadt9So}XRcqhd*}XRC?(Q0!_8Eg313`yyt&wZI#O2{>WqNs32eYi=9*cad?0^v{}f8aQh z`4prCbz?&lwLOKmed@3km9)r{@hLa!a|-m_y;0jf|e;pY{olk(e>ugz$F-o) z&8vf>-(NlNAN}XcgTMxe3%=JoJbLkJ|CfXQv;F^k@%s@Et(ys1?|qshOae?)E8^D@ zq2%8Z+VXGAH`@}tBpwaPWypESf4v;;`^QAcMcLC|`Lbw5{PYkgoOpzte|*%Zto$^Z z$a~GmR25Xr7tWGVi6lH^OkXqGJ~&o<={?S)CsK-JWba|6Tv+ZXm8j~yeYZK!(u}=lE->#&2 zEqWid+im2e#0)s0H`B1l7)`Q({?U4p_4FaDWYh~BiSw0#%=ih3f6u6E_DzEjk7yPN zw8=#@Fj@`RjX>fIo15C|OQQ>+*&9F)WG2LYhUVmJfV#qW*;^Ud>tM9~jl`y~G)fpy|+$BT1ywoDNLAjM@tFrXlT)-Z3=)C-Ddfbk$9+~TcZ`=Ph{I_DJfOU;MhRtI$3Jz`yb1V*`q@?# zpDvIWKx?d8f0VRV7|3eR{|n%=LD_2}vz~Ve9vj`SL}J}xZT$TxIi3SSm=rIfn1u{0 zdkiGO8kl!JrVlPKFS&FE0}7t7E|f19x_JPt3H-^VCA`B@J~2RUc~=BA6xb(wXDlQgv z={B!wu&F$T25bBCvxIViCBXRZ^*h*z`B}~x$cm}Q8j~JuFUmQbz^fO%Hl}wRNM` z0XQ=q{C-K=Q{n$32l}X--?X_OK>4#WGzizW>D>hrfbU+*1K0r2H;-E-3Vb5_qLvAX zE>q62o?VayP@}0Jupt#wW70Gy_ji4%5?igUe)A777fz$p^Pa~m3A~;CLMs>ev zXq0S{rHq2vc$HKov+yM_YlX9yMGdj7kxpEu`dyu{Or|(%!u5=I8L@&_#?fSBxe9cmmZ;GrI{J_;J&da%#hHTfKKiQkTb99duPp7|3P-hvLT7g<*viGERO8Po8b=*Uw>Bk<5hCY zA7RxiE+2aGxYT*)s|n5ZhN`rtUhjXBd8S$M;G`;`mHwj&u7-BydOJcODn$+J-RhmW z?s}YEyU~=cy@S@|f4?uKN3x}9S}`)zqj$4u)I*n?baCa_r9^e}yck5$4qT@N=DU>f zmUSWo^B88norWF;T)8`N!$-2XdGY#2E<(se#cnEzL!Qs7UUyOw3XrUTe{z8XTiK{A zd++yEg(3ApC8&4v;Wr-5iAHruq8kYz~sm9PI&%I7NGSp7`RC{Hi`VztBBYR3Z2;1MU3^ z059>4RjMqSpRTZ^`XEFU0=N{9PT$;lA9BG}&9G6CAG-kfP%q#wrlk<98*ie-v%GT&(B#isvG1~EjGld<< zDQwFke~Ob_EaFJ4PIwr_v)MQ$Q>-HU&$H>8_Kz^SEA_HK<@FUCDsd7g?4^ZHhPIcS zKq4cKMC#@S$F0(K67L4bWL`xBtb4hHojkO{P+$O(g;QLDWdm?U3Q5hiCQ!ab)3F`? z&^Sev-``3@CagAcLDoZD7CtD1Fr#T-*q-y{f7w|=Nt|HI!xAzbd$Ct1$uLGUud-iX z#L~xmp>j!OXkadkJH(nTvxQ63iv|w@>zg~$zbAT+K>Mg%Dkt&$E$4X?mTaH9kAjJK zqMdv!0|x#CkA)Kv+1b0bN`x|`Sfb4RC@)8u<{zW2leRu|uM0@JKxm@d+I ze=Piy`yx`vwWiQX1m;G2VRA>SE)O|V=rI}3kY!N8S#X1$XY=%bfOQ0f2UOC@GEwQfdwt~${I{PhW&umiJ|2w7Vtn`#cWH8Ag+f_h7tIJpgcQn-f5rxB!39oxtg>^Ak~y-)fL6vHvB!+~K3|OF zHx!|qof6x*s)C=3`i;|`^5lDhCQeG%7%HghU9fF9FJap`)mFl z=-5k50b~XZXN`Ae>yx%!GiBZu=tslXAVutj5E1K3t}P5R0S=f2YI~ zs!{O*mLvZMKrR_akNK;1^m97TIrE*4YSC#jRhkHyOD@H$75+1e$Zv;e{~Cs{{x}V$_>(rKH4)=`e1HXJ zEwD1%7=`}&LX&yg#$V9IAn#KyzlLRgQyY0?dW(w5BG-lLFT6UZBY2wUS`rzE84sfD z1n-EJm3Z(i;~OI8J0J+BSLg-yE|CZ{vXE3JU9_Ub$e545yf#H?MST=mfA|Sdd1`^% zfp+^664Y=22XqykT`4ggDQC4|;R_yQe{*zt;)olepyz=uC@^D;Q8h4$i)^0bMBgRj4C~mU3-~<6 z%th9?h@t1{8FF_@yhCU$F})A34)37il4Jx=y`5>4>R2t`P;>*&Y%z1a!@=d9%&QX*d-LXa3Z^Hz}v?6-jj8|f7q9Si5}_Ird=$( zrh%2fnMcN)MoZ43 z7nw&>d4ZbKNTz=-lVu`ia=?GpnT+wtZOli3rO&Sa8ajvccU>6qSGNr*H92GT_2yUj z@HVC>MF|GlQ}I_Fe~`&QpF2 zmYh6lnt-(Ae`k+xgwoHPPV+v7hZ%|*=x3z@$0L;EkD~(&Cf9Y02rCszE(rLgNQ@{6 zYG0;elUN)mG~%n7y7yQFL*5MxX~?GW~;?3XQt zNWM_Zr`GgYJ+Afm>2x?=jvPgPAt=*Wi%skdM_)7x+LQpI~YZzcg$^wrYIVdJ`%6a zgh3nBR{G(!GJJ@V?o)hdA45ukWPzN+9rvP>EE`AS642DI(6C{E&Z1q@%$lN!BDcH_ zhfm>6e^37O7$pLW_4)CvT(;*UxR)eGkQ#54EZDf3P0dssi*w#`Mw~VWJ*GLO-4WTK zTO=I|Nz?*SHS>pk_E8~3`~WJmFE9ZI?FC0>TE<~vnxQ$u=$7vL*f{h)6}-K-Rs&~W zOZ4~+Usx$_50imNK;=F1hG$&)r;_dIca$*EgJYm7M1u|F4%IHez9P=0zg zrMTON7A5`OyW2hIx!6DJ;eDqJ0xefGC{?$LHbUWQlZ7(v>+6PhuC3y}qv_RA&Ek(x zXM489YUcN=4S>_%szi%s(daypGvHc*f8PhdR7FvHJLrav0S6M=OQ!O@y|(*q{09Eug7KvsNQig)zESZjcihdzZWFYR0lU@%Pyqx{k7_rg%9W%?vP5PpRg;w8N z3Nd9^FdBH+dE;$S!goGpzQ}rLe`=SE7h11k_U~b`d>BP|%pej(jcl-pydNU#aoSP5=v4QoDpYgW3vye`>x@dNMj-|44l*)s|GJb9#Po&sVZZsQ+tU4**b*@ zN8-65qK=S#8_Sw*S`1BPEzS8-^hzu?rOz?)S(!?-!q%Xj6pim|n44rSe_a61fHy5y%GY$@X4Ny{K6U?j>+ zr{i=gv->K401`KHk>rvx-+8>C2lob+Qw03&*rf1@VIvYx`D0P4e^mKG2r52WVj)b< zI)wv66B`oFo$+@{pdCF2{Gn<-nC57XIYTjx_QiQZKBna1N(qo~l>!K`2UO0KGNa}x zkV3!+a($&@IY3d-%WFtE7SV1I3ukG#594X>Y{Bo)y-3=~6o}m&k~wBRY+1lx#BXWI zI%A&l%k@H8gNXDRe>h!HXlRwUo{vhb%$m@Uwtp@cWO@QLLykC@=fIU3l1YlAAHPwi(Tjl0sf#v1w4``H-2HP*;C_OnrYh7v<)I~peF%lL@Z;o8Mw zOJ43@XbVkD<`A*f7HP3l55Bh%x?nc<$e>|&8gDSjXZD`Ce}St(WvKDWN=*380MApM zDt!STVq1p(WFBEPP`Ti>@U__Ms@mne_;o`godA)?hGUsgS6f2r7!dZwOSTTE&^T8T zmD$a0HsmYRI)tVDDo!!7?d>aQWY3OMwDBh3RsM+Q~V^{Hcz{%&?Vo7FV|B0omBx4pf+?dlctn7WbEi>TWi*roNI z9b>JZN2Ne@0ahytjB4$ixkuyyAte*-;1%#s3G(=6e~i`pVK&C6-13AAegatsilM82 zwjwJOOKTB+i!am3a)MdgPZBDpL=|YUT`seGcT8oY;<(Pn*-1Q(RLM|`dp_(%%Z)Bj zw@!Cg4Y6-l7#C4OB%p|F)x`m=Q2Vx%1RvQTF*c5SXcajuOC$=DeeH#FppL3`!b<^Wg3pNVpIIh==Y#$uk-bE6 ze{z7KFg?REYgv+`^p#u=$@_?^w=nUR(f2tBH*N2je;4K| zm5-g(LFp(VSHW>g5*@oCi3>C$j>I_}f8_ndB_~qUHltHwYDH%mgDwimLB<#HRc@4% z0&)pAp(sx(%RQ9OKx8xaF4H>;+`Ar9P^8Z`<)n?oQ2~$+wBckU13HeBIIeW4EV&8t zKJkvJie!k)F-b)Ek#+Vwv6q-S*|U=3p+ScL`^kO(XP&bnZ?Eq?@9vX2GtPNAe;Ktz zd*iz-<-K5&0gJ4&c}nFH08!49%d&Y}2lc`CNF3t4XkerLMfOH)_#-%Jo^=tMV;3!P zM|t31UW-YL1-OqCy%{_E4UErw=i`r@U?-QpdVKJ5@5wWI@k~SZR5gqC=9@dVLzMja z-oD<jR7Jvj%x-)Oe}1P19Ys&AzE@tAIIZ%lvXHf}!ErvKGQE|MPFWbt zYV%Q{(z{8wjgn0MVO3^u5ng14b=gs1;(jF|4}GD;w=CSM>F~q_!)#@STQRGG9AB7Y z-)hpRKAXZsM83AdY$`G#j+|R$MJjV0H@e6bc7-nT706XF58^e@&QDRve>vgdYU&B^ z(7}v!=cvMjJ#D-Wesz@5pzt8;6Lo6P@|xxpk6kMP{#fu8T2>FljK#NT3C#k%3Ikpp zFTaA;;~a0F!1B0E&*$~Fw)lO8L**!wS8h8^sXv{)?N6LQ?zhPm)kR-Wt~>liI;G$n zv5#&2Wq?)4lOYgs!$2g0e@Ob%^S9`B(r{;REo{(xSpuV0^qOaLyb4Qdle@|o^kq;$ z-3Cf-{N-lfRdJA)|f)r1`vc!dU5ej8>2fW#?=|MYn2EEx9>p{E0LG3Y(KWj1K z#>U>12WR&kHzhI2*&0h$deVytkP*`28Sa(x$f6=;G3a4f8uju%EF;8J% zrv4ehoA#2rES>1F4seRJQ(g-8#Wh)_c@8YzJ?z}juP&|ij?)}3r~mKuvAArI zMx?0qS#P&Ze;{zspBvd^0L2E{>-6}(-8MxZ5mX;6ca1m2sW?xJXd3%UQU-bk|4okI z_i6A9+M)CJ)!pYq9?#@MJ71cNyCm)P_b#eh_i|m~*tjpuK_8V0%qs72uml>cF^;D>1ohhBAD91T-<;PfWK!He@E`$kp zKz8AQe`$6G0VSD|7$n(IkuBTCf{_05aW+bviUpif9SdS-!=+Z6W@0AlQ>St@rC?V8 z90c#><{;2UTk?WUTs<2$bnD1t!%COG$F-u7yS1R_VoPf5h>Qd zHazH#Eu{!oBDuBPz%SzP)Ny^eIqbUC#qNppy(r^A~8q0e}^K9 z38fbP?y9~D&Xv?iA$VJFV8b)nrtM|89O2`n_bK$O7lZgppSEF077U0_xR?3q}Az8I9# z-^j)EC%}yceDF7F_~7%1$t4Cd1O9p!h9OTgk&7h|3$eYo`57z72tUnx5*YUY7y+kv zc*D`_33|HYUkEtyt9P~cMO+{@BwcBK9=}cKso`NS$Va(bfOaS~XnZmqf6lMC0B!Gm zoaCMEZm+k0a0vgl*hU}^8nCVnGQ`}FZv8qLAR6b=8_T5)T85jIl z3;@yv^lOkF@3Ve-T2}q#eZa|udWfmdCog{MA0E8y_kVx>_{HMes*&WKkiK5!Pwx8+M&Xju@%NFEmy zLSyAX3Otxu2{0ZGv-wE)a1JbTV_8#4cG2Yq0bw%^^h7CSjCg=Sf62lRcPg=7*x`)< z+fLy>&NvW9IzW$j3?5W^3R3Cp|hqmUblyOT$af3%&nDfxpuY(yTKJ@n=Pwko-Ro;b2sNM}mEx|>JDt0$+Yn1WM` zPw9|2;~{ROxez!!_ssT2hhH_oPKN-$vN;hbH_VFR=< zhM+{AkiCRWe-)~E6mw>g$T&x9I4Sg?g+;3nWMHGkz`W^le>#*>Niw4f9d$8s*zK4w zEn}*IK{-^9lblcp9&yC9Z^WymHJku=-)ii^j4HxMgRDWENW_xLzhfuQ;gxf^QeG~dg1P~uH(K^NaDM9A!!NK%h zi+E-43dr%i6+L;>u3mn=77iiAd~OpT^aYY(RL8iqV(E7NO^3-XVBEN^rFAyq}< zVTO-HQ-x2C|1iI`h-xo-f@S63Oo^s&gD1Vveez~%f5C}Y}0L30I_41#+JsH zn0vsfF<=vBAVH+SoC3MR%RppAjn%zvk=J=b6&hv6S(C=1xTnUj$>UO0uVw$iWF!-< zT_C}YF&P?(dLov9jBt}#I)*{T`NQ-fEZ$^z`tSx+gN@*pSR(~8tYwl;rMj1P7Xhb3 z{N!HnhdoA`eqZH+4G+dApaEoB2?l}8EDFm_Yj zOkBdJkB#Q($f?qTT??V!=u|vu*cy&#wZ6cn_N>E(1)orCBEx;j0t2%(im6c{jKKVk z$hlePAEa}^84FL6adsiY`zGnxIbD2c!AtFNjZg2Qlrm?={vCF^oW7lA7gNd8e?-LU zpi?1=pD=jBfvxA1Tx~RuC$dTqCRzf)BUdx$<7o{{T6SREg?R-7PTLp>Fe9ox6h={) z^kSZ>Fk1u&iIc!lP0+pWB9X!fP8CDW^`mk^C<9CN%2omz^@;ML=p`aQO(9U(H5MSM%6qN(x1&hhQnVwEpFx6V* z=~)6tt3)X1`8XXEUCE!n_)4w~cd!=kWSc*1w_r{KS5;7Q!CRLVUbS77Sij;f75ehR z$KFyhS72Et@fqdpSPk4}GS9_suEE)xC-M`5;0ptwn&?kj8`9a_Tfd#bRu8qkQ9X~LcPQfQm%D-Pch;+Ki?@5& zc+y{lN-%V*9}wR5Cy6SKMf>j=^%43os8#_VpU!smJ*qP@>{k*``l~0fv0iuS0^|MT zh7iBIStBPYk0X+If0PU+vw8%E+}fhKF3KzH619P>5e`9reJZ|S$tw+`$+W+aPN*XyQ zO9&5}T?lV8i*Qp*VX2V`?y!+u?;81R<;#;ivHa#yCyg0>b73|Xep}*lpf1$$-hcVD z6(wx}glHgLHhMn1iypcTBdd-8`tm8CZbiGWPJ|IF?i;C;NR)hli+E9RTobh|t=-o? za`!YMe~2!0Uju7h15)9W>j-*fvEG2`>)Yh&BAd(dG1n$DHvQ@r=vR1s)fRV6B4kf% zqcAP#OECQnwPoIp43{9YPpc}6&^yqLDS3S~)uJhTo(!|IDTP>CZi$?KQuaVkih%pO zsC^}hi;>r3BCA)>Fd?VMwpyl|P#z*=4K8`Ye+vvAkY@BD)Y5L}p|};K1~c&Fxy+~f zV7ZGX2;*~+zf`Tx5HT7YJK9rTYdp#4$3X;9f?vZsP_gf(dso2>in7iFT*H6R8Xh$S zkHZdm%;-G$k4F`z#2>ctA3$-+;Nb&pSRVR>cUlz*$rxVcKU64KNXusoEYp#DhO90j ze;K1AKpVj;f~Mp95`XOHlA7>2XDYDT8WD_>3h>F2u!Joco>hcR6{|!$uM)W)@2DuA zM;BX%87%Y@RFYQ`Ba4Z1teN)(Rj;#F#}A`!Z+>sZRnRiYP;muq{Srtt9NJ=&s@q}? zv~rlxAkLmO*oU3uZK~J}Fj{df9(#zpe_wtt?r=Y}1?Jjb@9iD0M6nx+^sA81^>wzH z)@#UaC8&9Wu>vC%@Tt;Fi`Z$+%!8&?Y}pPjdb{*nL2g_WX_WQztLd07st(kxuK05X5~i_$Dr$GPvsYIoW~~L4Ip_h>pT*O32xq3Be@teJ zEA-(A4B6>y?$r&~94#l4t9~KxL12K5jqWWBpuChrqimaTuAfbdCo!cY1k_+olG%BJ z6?K3+Igr2Zqob1@s|dS=k{O07;*e8xb~ss{^~uYp@Tkuj5A>Uhcs?~=IDwFbpire0 z>8TR{?=WwHJ`n zi4=$>!=xZ1(F^6OqX%qsEsNFkhHA>lNGY!(H#h~NWgOi5g$7t#815xPrrh&dI6HBG z(S03(D_Ao9?&-F&&s#(%X&0Y!*`i57q?m$Kfa&Z_LH1znzfAgb*=M*wj z2+-v$d7j)kMoV+c97iLe+)-r!q^h;olkufbrzhFvArK-Raw^g>W0BS&$zklh7{58qtHam@84~nJGJjwe#`Q``5S|g*=V%d4O zZ(}@vQW!P5rR+M=F3PCAG(Tuj&5ZFFC!y4=Du~f--Hx7;0(9^^n_{`DQ(qcy91)#c z*-2JRcoa2I8>tkj)^}#AZ|OBGb9^@qaFQ^om)^5;mbc7wCd%pmZXR946o0eKGr@6G z+$t%6bcSatkuFP&iKtOg5C!LTI!`DrOe_gsr*r9s$_Wlh+j~VZBd6&iTH_+@l&?rt zA6k%hh}X#jC)50VE;ZSxn;*sV5iMw!ZcP9D{)1jdAb zIV-@Zex1%C)zCU&^5{NI>3_gtbT8*&X-Y42v>kCW82F76hRqZ5se*%AP^}l@uLV>@ zX&aGjx20=_Q!xfJ7g;T%Fyx#gVj&1@cL`xj7gj#mWbr1*$=I zvUHqr!6!N36rjGGra+YFG2KN?C&=~)-GIrJ8_!}MTt6lTOQhpJdw;s0By2E%w?F)l zCyT{68U64BL%S7G(6tB?MsQR7>`9VP{v*6PM!Iy<0uWH;vSE!9?-lzvqg#K06GqFjK=?#fv_Oa!O8wFF7cwkav=Mx$jR{M-3k{;8e=LhlQFeje9?sm=*nSsE>Ku8v=0~mQ-VeZ5 z&_2LNPL(d`)Z7|uAo{xZgAI4NH zgX5M%{0z267?pK@E<5ATwW5+$@D*xaw{-2rMw-rZnYqy__CZg?#i*E&*?8$IK`A&1 z%?rr1kzr1NBcq5DPzKFHc5#p(iDKe51*T) z(3tf|$`j<`hZrN=Bi6>V#dMUc=L($gQshet0N$0cF*C~}&n9sClz)W5I<;@se@HA#VgAnAT}}1}By?%SsiESQL6u@l4dkAt@Rc4cBR3MA9P` zD@2I#5nezPZ%JnMixktTB`8Uyz(-PAt}_teP^7XjlI9|GSicJJdPo5wl4t9Sr%VDy zAb-wsds9D`mr&t_ysm;&#H0Na*sWBELRf;v#ENJ6ikYv6onpfGg3Kb5j zeclv_4S>5irNH9Mnxf>Ei&HJ2A}UvJ1rH121a7`VfITfW?_)Pt^oYNa3T*o<<2Qno z`3{z($1*2IirQp?hw))S)%>Uu0v{@zRb^8YLoD4k8M}30IIHYTwBFC7lW{hD%YTX8 zCan2nXU)|0-6KZ{SPH;k?4jY5+Dzts;PiM+k=Gn0DnsLm_66#Kry=`a zC=z#q;!|EvekqQwNcNweNHe zh{{H9Qw){|47Xt*X746)boW8z?SIodhnY(vp~Rwn;CaiIBqt#F6-3P0H-w4|wJ^hT zS%8kZ5kR4S;H(Lb8nw=2Qm6^FSvr%HLgq%GG?;DyPwNaDnc~bN>CMPiIFdcjfh;sM z^w@#(NP2JYf$Xh1j$|__p2uG4X~d7{I2KlEC%m=|g1JbOUNAQ{ih3pLU4Ob81Z?X@ zuxX(K^OXbh(7UMv&@fPasctpsjJLE3yE_XYc9Lqw*FQMk!h5mtX~^HEv)stzBoq8d zYfKw!Pms8ZnEb13_ey36lc{E;o|cl8QxcNpJSW{h=Ohu$bxIO7WX}0Pi2_K_bM|?z zytd$q&Q*?2nOnxUqgCf<*?*n}z1{=c{Ep##rg;hY^&n6Vfq&#v*c}~VN-e}O zNte<4^^X9O#%s@TD)HVW;otG<#6TgZBia~UGexIYiqFa>fd3Dh&{%IC+is5dBMW?B zW+XeWC1$%PM#%-Jt;WcU{z~n$T@kJ3>*HHw4zRN z5n(?bPb!QOVyT;iiGQZIjgNS`lM512`BUnJq^AGyc}C?sUe;e3i(G&iF=Nsh_8G+X9s%;XaIUVjoGr2~=aLD=h&@`rrS zBq+@WWJ3XTWKZX_&%qj*khSt?|C~-qti4E-GoA8M;HXoPR-I*P4W&4zMN8RNf=H_i zTEYX3a*Yy5b+T)bo_jQ6?eEKf9Nf(#)N!7~!XE3ErHfY`SHXrl@v9<=%A9tcrha!%pMR~AzFyj=&hQO= z@8i~5wv<#X#ZueTv(%Tfii@W5v@F77bf5N`LOM&-8BWJI7 z1Wyk112eD-b1d`sF9^GS%Z6|LFNs^pKAFW<+FmzZ+7gv&AqYPNQ8$a|5 zR~wvfug1o(>K642qvf2qcL3^rQA!1)^qF;?kyl?<7-pKOY{qg7R()oe;D6-dY^Er50txB+NZ+_CJLqMj5QVU`uF+kS_b#ZSk`4FU){a-|%zjRd*>-pOdqLS5-r=O^*jV z*nnP}ZV#T8tXwya&t`34>bkkcTwEU>&%(X|y#RDigy-%}BRqxM zo!BcomMakOx4T_E86j$K`lso55egsN>3??WCOxYd{bU@A2 zoI^R$_I9>6Yj%r~;&4(#=5ZA;f*GZRgH2!~*X!2{6=P}7zIp@hZPkskRq^Nqxun)zxuJ2aQiYb!+p+r6t-R6CCZoy>6=>$kkD2Zryvo1)CsrM&o4u8z- z*_0?H9Ntj=(C$v%wV0zYT_Cdy6)FJYoG(mVhR6NIWhlF7oxHL#3>kAoqcrB;6rpp| z+1)d9zkdEOWQTUH4oNmt7MAY8u}FE1P9IyVlnx)=xY&}==9+QLhHgPvjl3ELWtfw- zUDYgq-9P;G;IRMl;8p+VAEF%>b$@+dpzVx%Ev1BG&u@bPRc~BOk=hZd=n&a_RD>z} zZ;BXG<$)x(f(#bAqCLf13C&_6!mUIVEcSm8Ypx{CL7I9`sDP&i()82Yn3s@33hp28TO437GU+dPWfq{yflEq@9Do(kB? z9W06Gnb^z^gc!nC)&q{~9_x-e>8 zCYR`dFWeB_I0XyJcF4(osS$sWzw1V-H)osU(*=u zbqFbi2ZKy2S1g;?R)6{Fns)4>tZ?fTh_%ZZ8CBSP>Jc+$RX^oGNyA2FMoj9*Cbn26 zx1d7Gh#+_8jx~bpsiU!41T>mC;DT-)mLloRo!?bKSs9V$#KPfUNP*J)%AD62#e*zqq`4ix_%%2LTK>R6iVdhVf zF5-{k&b)y2b86;~sJq;QV|g(Z0^^jmI>vO;$&sBE7l4+loxI z`Qv4%Rd6FPE~eD47;07oQM~bp1SaxKqkjN$kdzGW8c3?hyyUAmFMnJ<+x#g=Sn}q# zd2t%tkg1MCLwRmGzn8cCvF}0BY$49V!b4Y}3@emo2G&%%>XVlDHV`Au*uNhgespOI zl2h$eZ)PXoG~(|=vJ zP>MSlCm{5woO=V#VGoH+x(J_xIETY0Ja!OWfFMO^(qac6PTx;3j-xZGs4gMMdA;QH z@H)b@^;aBtDO|6z;J6M=N!YKhVgoi!9Z`w|Ck~D~MDBGyRe`J^ zRG8Bci=g$9N^X=ABvINSC*Dc?mVZlDOD8DU0|u9mo05w)w6p$3t}ceXcf!Xqti=xf zm?~|Pg|F~cz^ldlDd@V(?lmb`m-P9u4*l>lbq2GVE<~;CYz8OR36yRKy)mlGo2q(^ zp#vv;ml|-sQbp!K@3=~_jy2$OC7okWCNIaB?5NHK5^IScjUBiK!C12(9DiimbIJ5` z?JHzQ1lw-~O`nU}?&(}ED|fKcfT&wTtkf1|0rPIRJzsU?)_6H)_T~Q-~ zfVT2;86TRX%9Ol(Y~;U216j*(_%`Q%`T`*E>vLN?akBT)P--*EtbfM%Q)W5FpHF8M zrd7&1C0KPusLo%a4*-zLkKVP2awTO3r2AI%jCs7xyZ=NmHyBrd!a9)!Dqcmo+u{g> zY$D9qM&(r{O$1VfF|bW!+e4;B4QG!e(yC!+Imqmbf*M6(DH5T4c?w9AvVle&0+kf)ayPm5a(65F$14`&9PKnOs*o^)?Y7|xY(Ds3Bj5{Tf4{Jab zD504LQw<=qVAjcdX?A)`IWHBF@k%#7cSdUMT({*2=To(;_9Ok2c)7xh^tKT5nogvD zam=)l(Vt0BqNa-mw}z2tFR^}HJ(8OiR`T+c8xf`=Ix$QqX^Lcbo2y| zi*ekTulJ}WObxJ?G53oLs|AXnqq8+@k0@gua8hK+Zwu#~bb7?y2bQf!2)hD>y<_~S zTY<2gqknclF;^N#kO;FD&PI~9E6y}r^mRWV-n~Is?7q?hPeY@v+sG8Y8Ybeq4K4jz z!=ql~RcUz2I*@KhC(CpUJcou%fh85-GMdon1?Z}6g2n-$_j(!EgWH|bHoDt;|os%P$UO=OAiGNRkrGoCWVeCR-D_ND+IDK>HG3n#b zj#e~DYah>xDd%r|Pvd_yQ=Z|EbxcKghyho_vQ*fpRsk-q5L(Wq7;#$PIFWCh$iJ9$ z`8j!yj!UqdhOncBPdS%fwSn3NieRlk+&%Xz_r%o0(~(5b)%`f6$L-B|T~mH4i-s+d zDu3a}TO?Q;_k#^rk}ZFy#lxE?@cqa)`j+buZ?s%Fe4yKcH~deT@N>#_U>b*{Nw1!U zC}Sp^$V8BVD(goVUX$$14?Yh1V2&q93EqH__*-zBs;#K7Rqx=Nid#{C}xT z|0>i-#L23X@mx1^F2iQ5FgqLq-F`C)rZvZ>F8On}ciyTb5U(&E0Q=_!}YqMu@8s;s$Fx`e?H! zS_^=BbEjgg>6<&vU@Gd8L}cGs)qhHt11Yi!6{ayNg>_eS6I^5}J%P9w*r8lRP)bgB zJkBnXQQH$NZVgNR{xZ?Nx$Qg+3R{)YYE*4b^rQmLF%G(2kxm!&FSn%MxgF-b|Lqdc zKVR+=z<>QIT=#C8!qr;^L)2sJPx7-+!o(U`8S9nY@DI4r+1vP%2^y^`B7dvXGYZl^ zjA!|BjDbOq`L}%|&?Q))LcI4^rKp?iu@yN-wmbmEjBrWdJ{wWi$3Vqmqb&zMnNY&a zlnHc@1W-#wskEJerln ztetg{(fJM|)n)mUai5dhzsCYr8Ll)pgyE z_fHa43ZWJ0Dj+&JCSBg+Oo?h3FfES**7uoHa5`sNh@*jdJ_acH44!aK%w!}I^S|VM zLgXIUDf)z``ICcZPyaZ01t|0K;Q5oM&wsJeifbam7W{JbYya{7%fsKF9UMB&>&|+` z?e^x*{(l`EJnlb#f7R<(%rOEhm{YiZ_PMAc(l$)hyM(Y0>~rysXEiR*+&A?;!Z z!kHT@XRFknjJ)kOvdaSPvPP#-t+W+UCV*^%Xm(nRI4=OK@9X-UJAZ`MSjh*WTEi~J%D2(>qhPo z)cgy7g3tL!+R@Kg){?U-#UPuhLFY-F1Ikg#OhPtNQt>SEgwG1*?BU{=fbYWVYid^6 zolttt6U;9R9NGjXF-iZ23iG1YY=ULfsLOPs2fhHFU*-UJ?wOX5pCk?ZkND?zY81FcH6fv_grFW6)^a27FWN55o*IoS0$&KE3(V7m3UNivi23af4b?O?FAt7Nf% z_Abp+V`^&5e1T!)2F9TxTc%YkKu_E*oCz(B9@!^PP4*M!qaavz^Y<6 z6%4nBpex_ExORZ0bJO5?%PX3i`@5WfqLC3=QZV01*147?XD+M*oL5QJJ4mO?q%b1$ z=9>Cp&M95O{DP>fu5d5eBb~-wP?*!@VmVJl>LwU8NvXauN#yCGkmglneG^0~r%aKU z?2Zqwkv*DoK^u&$zYIM4rI|R}m@^RladLM+QF z^m=S}&l1!s)OuaStvaaXV3y^Gi$CJvyXVSd85Mhjx-F(+q$cuTKCq&zaTbqcjzzoX z%4x>dD7=adp$}J37*1wXqruz+WaL(E1herfu)uv^Oh7Nh{f-B%q^xk%n9*9)LDHua zbYQNohBLCa%q6BT=Ed@QD1)(ok-S*s>Ya__AtNTAgpn4)J>Ki`FvAv{q|+h@Imso< zFvu1OaErdgL>g&3X^WlYWN*5Jwk`e`UBGe+qru!$su0@51tAk?mF%%g#d!8pw(Q$p z@B-MB;BMrhx85^RO#oJ16ft5YUB0>R2=xM}QzM%>HuooQFSe~xceHYU#nB2Wj=lR3 zO1``z@v^tC()`I`${5bw>_fOJ_c5kaZhY6l3USSzAarx8B(R`6lSLNF+AFkQqf8_V z$5X-55NWp;DuJV0#;GtUi|TZ9{9pTJdRp{vQ5lH}To3`PJRiBOn!lU7Bp!3?G7qBW zJiQX)gE37?M~>Gx2i8n~jSTSqWaJL5{#fUR)%i{-3o=ip6UU6S5*m1CCwDZkF{)jFi2y-?82*$^d%8A-lEOJy++ha%(jiL$wt%R^zKc#G zn>Y0lIhdRzBj5=iFX!))mmtwEDCvRUQ)8<}NnT&aqYQYEKq=Cl_3B{w_DW>(#OLG`)md`XtVi z)%|XEs-JIns_f<1=c=TE{HZbLxM-?x^~yA-)koD zat;ckyco2e9Pl>jCw~HC8DO3|-Rtd>7)q63FvnYePRmBzsKMxn5#eG6+&ja)>0cQ; z6&PV_w>r0Jj6j?9E*meA0}gb(vt4`gNIeKvUi{{Ok`U9mv)8GO2{>MM+Fx8`a-bA- zX89`qwzFBC!F88LnrK@ve(jlH%S@4Ytm@TDg!X zo}a1kOQfrapvy}STzz|cHDv7KkbFt75p9%zV$I3nqI5hEhC8*1k>D{Ek1|dtC&B)= zYKT8p|K=4-Bdoe%JL}u^@!lFs-?4hY(kr&JUPoDBgHOv|ef0U8%(5J?@_&+f78t9u zehqq2Hda1~$KyUZK81$tZq;U5N{7U|a+Y26JKf#TkegfAM40kZCpJ1X>UIr23?~4^{ z+u5kDJ21w|mlMFpWIhRPPQeZ4O-r)i*o!Wqkk8k}*M;1B1V6&6^u0 zJ0yN9#$@J;(LIL?%4QW}D2J0-uXpgL9l6GFX{dU$pF@urIR~)o_1^D~MlDqTwouuu zL(=vmLR49sRL&_%#^ZFhNQV(kj@$lp6^#;>sL;Cv+at7u!;dVfC3~O`m7@=T0n~0e zn`iJ_eg${Jgj=_ww9VF|=UF;ulWLpCz9jz=oB$hdvC-cXtlhbogUk{c>I>CBE{q-2 zWpGtdOKikcMVEz0rszsPB7-w4Q-i(WOdrn^E?W+qm;mlFSH5_%&T8Yb6t6VqbEf&-%_Buj6s{UGQ!lH3%m@bf#qLab zrk~B1li6FWYfl^BxccvI^f0>o?+x@<+i8}s$~L{i5<8Ab`U=fZ+i+FxZtU&?_q4gU zv$X*d+V)m=YioCR2c*ND-OhGrYiAQ%Y;A08@4)}II`GFfzzf|;|C}!xYn|_6HYEEUFBSb1cm~MQeFzfv`AzRx-4u_dFB2$pNHJed`Y! zEY0=5*DxjIrXKu%`bb_u3uL9ZDDSUL89b594Hvv$dqqY}IrlhN*uHF2!3XNr^i|=> zdtO>`fP#yXRi@fTvh8drEQhoKryD*5see<+RPIvlkv9jnz26Phnwy#YL4ccmiAohd0iOEZ%v# zlEnrKyVuFIyR|8{k`zt+ z<#(?+!vnpR3B1I7jiQI#r#aseVBrr%WW&97f&tXxs8CnE9u3v&DP5H4+&mef#rL9^ z;dWA)RM}I1)8t3pE{8$>fbR|fH)ZpMvx>X=@ACOLQ_sg)b<$Iq&!?q5=V=-78D}e~ zkBFGXyN|pYByx$W1fobxgbt4$3L@wN26ED-w=lB+<>voIFsR%@XG(D>5c>`<(J3*- zL?A;tVH_&LA7PBfe0)W*PKIo0_WSg=moHu&?LR+%>P0W-$tlcq;Cg5@ngd<~5G6cC zqiEpakD3GSkh~~IKYz!8~z%N=5Z@}&CQRSVvRtt0h<858g6e+av9IYThRQZSU|nalM$tT>=A91 zxZ&-*bBr-=g6cSW3n?xXjx&jc(vcTWovQ7B4xEPwM+C}sis}L-bAVI~oH^1fDQr=w z)i9f50P_%bF7NS3Ym$c*iZVkjw&o~P?5CF0MnYjuRpybc2Yx$SDn1FLKe8ESW*D2X z?k%8o(wSNePLW|$=#Z3M(8(MI0pgq&=s=NdD5UpL6l3Q*K32SCH0TBztdK&?1LB*1 z9JX2Ef5u0@(-QM2oP2#MiXGv(@UGn+f#=a*35k9wD7eLSFn^MbDCcHwfDHqSdeJ_{ zNJhX^Wb=iHPk(bKUjo9sxx-Bj4KOhJG2mIR_k@4BUuaQOLR%^1ig0TAmg*ysEk9K? z^hYj5lBwT{v$VOzqrboCzkKm`G*=dXn_9~7;JaiVdW&3WI?ATqUhk#+RefPGYP|Q2 zSx{zW0mhSqoZ|T4VsQqboIzs4#Liju5NFJw{k!hMe9KSTNNS*wt2UK$W@tC^@U3>+ zv(9fYYbz(b($@OiFpH^!XE3oqkVa#p6>a%*DbG*~vJrZBWqh|{l3qW~;w+(mO<g9+b2sl0NjtGrU}Wr{=r z6}PBus+*g|1vdV+0$kVY0FkS0nb&Q-W4QxUDCBGZv(5*`VQoc! z)|!8rEAI`LAwWNi{#O1`*SBGRrC;sRP}ljYyLxv+ZpSwz1C+Q0`o^!;&b+%vuaQQ; zfBgH)Er3$2!G9|)#qw{yJyN!|b_Ua2IfH6$(6<5Fn_nqs(T~`Ru`K&Nj__ktdD*4j z*tdNpHpJ}UzjdiuHFxgY!JGyGxv_TEyv{6bC-B=qnlm&CpS6YIK8zNBXCQ7t+aD`# zz3ox{X(vi=H}EaZ)4K$*2CQ*&223FB0WW7`HRP+gvELqktO1Z~B1bjP_pgP@tT|Ms zbXkUj{pUh>g)M80_p4js;aItvGOzyIWU=Mi7|&Njxndl^jo4#3r$!a)h%VDeD@*vR)#sV8t`$!I-C%9Tk&9&COJ1H<;8GDlsZt z7rvO0;3U_%MXfJ?j77AfMZFc21hd?9 zAp%|Ug5>9Zi&>!ujl0hmhQ%BByZP*D*5eSM&=8|iytt5DV?~5(gztS~lsn@{QK>XmB zRNCA!MzGeWfD<*KW5hjv0R*@{aVtL|*k=uJ)D6=tLh9Ok>UWrf?p!{-2>P2WtKwC4 z&5OssDD156F|HR%T9f+=-zWMR&BO21=+>o-lcscHv_eBH@AloNt= zShvhXKEVio+)q~()tqJZvZ&O&*WMJY|xS|Z85B#@L|BoU!xK~vm&#bBEB4ee03VANtMh|U*R0HE1?mK&W*38?g zf@#y9QyD_mD|2T<%6=D2TwPd#ug}6Emp{cs(TW(~X5Bkc>wzZoNekY&mq+KeFAvJu z9lSfb-M#8*ORQ=R>H-MlH{I@ZzlK|>Uajt%R9F7%R_t~vbz6vIR_Nv;wJR%fuP(tY zzg&HP$LPhiQOrHSsZGreV`U5z)GQv znc64{x)cjB>N%tfRo~5wvchO4EK0y#&l6dDL4_eo3UYCt<%uNtBW{lLArh=I%#!P$ z7_UTOAz0=#=b-Wyj~Yj>2Z%I(DDb{Y;M076F*t4rwARRIZjkq*CdQCpJyFaJoZnmCS#Y|#KfrSN+!W`Ok%frO^-lJQlO>le+l(Q=3ji!?x?9brV? zj-K#!h!bDV#nSPbTu{8N7&FeJWIoS-<{0>gB^BfjQlJle7{{^#+XO}#rr8qOCK$b# z(=;wH;|kV&xqze26)FKtCvfr*zWD1r9ln(v^Qam-On`s)UGzHu^f5*csVuoOB* zV*RCfxyZ1-^N=brU~x`yyKq@Iijgvky5%BT8#4hd)A3?0o!Vptd7+4SAsjY;&lCrh zW7Qi3-4t&N9Bi6!tQHPUwQpo-BgT?*JXeOnpBQn8Hx*27xCES?C~CqHTmVC03ln+B z9#b2Ec)xNB-{~@L7T+h$CgUvEFy(#8B2i)kBXy@EKsz4PB&f!|M6-030Q3@3eKEOQ zh_EiKfPrun>jB(Mha#?hrPLyS`I$OGi?{xGsL)hMd@0^NQhM>$pt1-1l;wMGUnHw0 zeVGixtqEUtadJ`C+$x@9Njydko0YPdpM9+-@%Zc1RIFK6rB>OhI%Sn=l=%t~l@uT< zue@GbQ{5>Z^eJUAi^_bu+T;6-CAm?*lk$Jj@SIK}o$}-Rg$awEvw~77sd^Gag&rRHSlBj6Z zFNKhnl!`R<+NBaJkeXFwri{d_BrhfO(WN>8isPj=0ZLP(GWK;+tihBab7{&2_M5Ws+ul*Q*MQ)%h!Px^m8f^CfPjXY(@WZeH<71qqG!>?DvG$$xKIs$)?IY@YF3q1ti4Kk zD6UyAv3i}v75vd{aUPYc8itD)RxMswuV`V3{uzJqXmq=`rO_3r)*q&`^JI>tg#$Tx z_iB`uaywULiv#-NU9%v{mr(0k(_O9DEvREnRjl5`ib`3Zq}+S4U6xp9#L|)zd%r;a|IjczE!C2gg>P9i^ z#~B?3rBOEUs>D(dHW7qOyk6zESBGseE?7%hsH6FEYFYJtbJ8#hv%H}UdrtS5E>}!s z)ev_$@tDZSgGrF*X*OrQrv%Id(jJ`v=4l@m6X(ri}K2{-aDeu2b0NO zR3Mvw*lM1@7%3?s9q?Epae)EpXS50sjro2d=Nr648pXM{^e9E%*%BE;!}wK_LGGv? zS9~ivn##_y#n;{XQ5LyONe30N=@L1AhfLT~#r8`QEwKO-+arI0p6+Zg0``V% zY1yeZo+o$brhTa${XJ2GQfAc+%^$(Hu!W|s!sU+G#4ouc)zRM*sdzRg2(!yhh|#j1 z3Ts~^Eg#~dAw5gG#Dt=(Cho@7w3bLFnv5l36U-{h2+~E}6Y9@GJhNLNp}_p&X@6;d zm;fzhQI5yi8rekrfQ8Q{l%;gmgUM~b#m3jNq7}#YX%)+kmwv2j6S@p&66SvUUke0q z-kQ$Tf{c4GV1>w48xu?>RcX&wU_?NIz9wc|7hd$XGFtgA&FWAOiLuu`c*29R+R1Z0 zg1vTw;~0uRZv`P+N!lyq;yQpFPz zdFJ-o#38ANKdyv*e#XszYvWI#y}X&PfA;*AdinOYPUg)>Uhx#}`;Z%YOj1MzM1rYI zRy~i%Og24D&z5swX80@>j*+r|!=Oqi7u^@eRW4mP1R(8MMlMeC9ln=7Ixp~7uFdu*U7<=n`wF}PsHo1?6HaH%E zQMS9aYw`N`ynLL_I_&;6mQx46I-Q-J+90#HWfEWZbKoz^x2DtWT%-6q4}|*voT8p2 zsY0*nlB&P;%i4R+iV7ZoM*o#y-QRBQ9kR)kh`}~iC{Uxy=-pjo?>?7BS=vPd24qov zpz&R&yR)_4>ZF`2Q%Kbm7sT2>IBW;(d`2{j6!f0G_{Gt#+eX6W z0+0l&+Ro!EVG%?X)jVOAKN5i&vgZiPC6QM-rc0f&ClOUN6&ZMcP@{eVEC8C@VzQl4 z^+kEtwxg$0*6jggTG4Wf%oXtGG_G7oG)(8iWs1dUE<{bE7-uj{W};YX!AyCQNc&ur zq*Nv^HbZi79vMHILJz0I^H_|j=JlJFjo`Z!xFsBllx{Q%s}N6w#JeQpp)gpopM9+P zLS*R3y5}f`8|`*~n+qL92={bxrGp04FLJbW`cHP@rd5RGlz(OZjqysKc$-%)s5GKYn+bc2#vKc3TLeE#M4#lNgu)Fgl#_UI$ z&4V>|0j#K`Z5RfEaWXwyoHtRAOLejY?svA=ur2leS|FY1$%|(6Wdoi47LxnSWf-|%a zlOu6)`Mei>T+&Ye;2$sdpC4ivmv{LVG9A496~5~KLxJn(rw7lT=no{)G&);YZ?_r! z5N&kuw{8BhRI!7v3b;`doJWR1l}hHPx`+d9PK~ZKiW4tR;T00h@n#CdmLY7 ztnw0>4YBShmE*!qjM42SB^5g3F8arC06}zrS2D`V5Ovr1ES>{C&*S-3G+j>`;13W^G^akL~qGt422NTgtc6JE~nSZ~Y2J5PL;I`acqxbuN;`4&L!_4^i$(6H2h z(eU%Z*1tsp5P_cuYinzfnil-==mR}6pLhX@`Y)=PW-|qrY0}wLQE5$!8JM2qe};<(zT9(!W0nWn?VbMUoeeXAK3%SfH@-O49z^+x1Nos7zFuGR7{`K z#;Y{4H0+cd!ZPN^DRh#V+hV}ATqp;B?l9}7w94WlrL)kM-gX4a_%fX=CxYRySlYWP z(1!|Px2Yo-d%PSezax#&HUJ#9%pZRjCPI8MloA@{Gk8G6*Yp_FM_tNAu#^G~QgV?n zQ%EoZ8Bva6(weOu>;|?tIAA?0yOR+}B5;WfLrGyL8phW?Z#-C2p102YT)~G zkOv4A#%M-EDyKE};q=rn5Nh2%kU-SC|73`=CAhY8X; zS#EZC)z;-7Emf_j0I2dvc4BB(#@4qs<&(zq=*RLC+dP)q@q97rVG+wke>&`o z1Z`SvZj2{lMIJm1Q4m8d|K`rqDLFd21hI!(J7M}t;=4iW7Hpji^sej$+MJBW#nbX- z5?6DMW<3mUiFN64UMXuOP=-Wy4lsz_I$3j(aIJGr;UEPhF|JFuL@%_m6J!cTv0xr9 zlJU4*0n+8mcnD0K1>faV)m`Q5e-n+wrF~cc#D8VILCsLr!Jdb_oJlh2^)Pi`GBTWd zM3=AEv7JvztUQQp_aQkoTuh3@Y29Mw1PU5v9XU`r^nQ#|oQToW>-5+SVNzKhR7fso zp+GvM?kkn1K~YS)j8P1iPUK{@vk(0M{X|hCDX~x8OM*6e?x$C*!i)ybf1&dM+It;K zJ?UHVCOIdgJRi5lBUE(&!`3V^xUMfg6FzsUVy3uiN^HnV4Nhmm`4sF5zzg7ou<<~9 z{tZNx;53(VwM?C%9QwtnDKdN@Tu;%hAJdGmPg{;zL8d5xjJbXllAMG+O@7)!XdtaQGL;|#eG@AB%zgvX)m5Dm-f3sxKSZ}(07r?4`?OiWV!GoDUBE-8WU#vB$;rE9*idx5{JwK`r>X<2 z4IsK$gcSDs_GbU^*QY-p^?&>Q+0oON&z>H<65;+Z$!;6#N^Eo++nao;o=(fJQRWeg zY-6#~FxzoZ*C|w>e}WG-S!}pJqWnBPC4XtI`NW)Z#*aDH3h6cLFmnBc**upaN6x8aJ>j$bKeULLb8UqB}p}6_ALPB(=xD`D%a0_11;wkILxxl{B# z0bNt;_IP1cBPrCSHUS7b!_xssE*V4JwzO-|PBdJL8s05vHlusq4Q-0Pjjj=(Icr+; z5Wb2`VCrun0QzuGcWe>7(5A?W*#)xcBeF6sq)=TxU|=P3x`n^9gt(QZ(pPM+KWH= zruW%se;NQpw->!Y;|4m3X<_HOASo2K`I>;SUIK;<0S1eKzYZwYzZ_nKDg@QUh|ON~ zJiG4NKR*IgT6JAEtlSy z1~@DK%nSbvltQj_{cBuWU2+f%nP^BGm*U5Sf9!2NFBihgX=-7BK;MP4vz&_TefmS| z(e)^?54N5u76$k4igzWUdEP`?aU)QQ*&YmCx76-zc0D>jYcHYE-k#fN=_=!2uZP7M z<73kt9Fof&#lLOqg`rX(MfqrMTP0a(g~C51E~!ry$6t_?KC_f$Ek^vYLf*NCjHGKr>r(l25gvWqtn{Z@u# z`RcOOy+u5!ju{TQQ z>AR#KCwV`=noQ7Da@c>HTv7R%^c`R2!3hPzjCXdchw)XKKz<%$R@^)p0zw2rkvBG~ z*AIJ;PG(~n$fYxa(zU`d3XdpU5}${nNjJ8u=eDghp2$cQ+SHx(>gyB4gTt8ufBADe zJ2e0%5miUS^qG!^in*ZFRtl)#gyp~|oIInydq=+J1}+trgy*rS=ZJ=SSvZe>-L z@r}+_r|uyxAF+&XZUAY!E;QZIG}=_8s~g?DJ!7e#F-Be7Sob*7_Udfsf2#{BYDB_U z{FF*w2MP)oYh?1L22Yp_N9Q)LV7=2w0DnJi5vFOOE_oC=(k^+*m< zTrEjbcHJE!TaMRiP?o7L&3ZVe*|f6=XW$5z5N(K z7`ioqR?&@0%`ZW`&gLVo%9)ju|IUoQp@JxC7iS)X8^gJTDZf%jRDKTn| zcO?QbiZ#NblnciO0%=-f(j;~*;w`eg^$-3ycoof)HB|=@Bh1owQ(STMxpa>Hxlpyxm9g<@B zV~m5&F$07Qf7ZnqNE(wri()L1rN|VzkXUUi9d;03-t6y-n@`6>6#44v#suyq>{d;sJ5;mx;5S-#e z4rd+A=&~?o z9rW7$p}V#DaBF>+qi`nr4HaZi;ruL!$T;q^`EoLQi$1o?IV`XtDi7vrW_ScCMmLIw z!;H&%e~Dx&zoL!~&hm0PDq!@B<=ou@Bs#B?{4L^wkd*Sb$MDxLEmcEqU^x7@s6}Z{#2}W!FJ~ z-_4`5EK{c_`a6XZQ_!ql%>T8A(k}qnRF{o>f3ZA0ZDN4iJK#up08Eg9xh&D2nM!~x z^IVsVyf{xd50dUs?@&7Bkl%zd1L<+v(Jw|I`@6!jL*H@P5o@R@9_QK0@mvBkzCW7x za07wtQPgdUP$UYw$hfQhPUdY% zf2n$P)&RKt<<%%?Y0DtIvh#cVuL^5rf(o03c4E5O%ps6~%bZgiUAYUKxkTMQ`{)UO zHcmv&jtfd7h71S5LT3PizOigeHUsYAFf-2wlE^ngwFU%AvT-L@3W{q8bQQeygJ3Ey zGQD^%DTw)0{+@8;m$;BQ4F;w!>TE|1X}s34piDe%8q>neEbauEd4n^ErTtcpCz2{o49#63vY$h_PJ}!!L@a?*MEuh z%&b=nSfL-Hx2}N|yXn^N2F-A`fmF>&K}G-udZp)W1J4@XX#~FP7QQT6#fx8}4H37+ zZv=;bb5ji0#8aja*TmRyx>#TxbVORoDW4>3GQkxHe0k6A4d?Ywm<3RZH5hb_G6pn63!HHUMQewk+`qL0`YckLXv|;HcV&SesMHonF_v<;%=~f`ik{ zIWsErLW7=mwvStp{HJsRYR4L%Gw7P zxpZS);U}t!VHWjSAw;gi8iML-EJP22n+dx-H%*;xc9t5xIX4Yha`d-M&G??4ue6$f zB2eUEx+k8kJ^tyjp$g>Is1em!L!}C|t-jTreD_`S0`BB@X>#FtYv-mDc{3>!0#@{! zA*(R(DmVvGqtk85te7S{r}HExmoe5*(4!6fI#ldytEpJ9d2$xdM`Ki(Ajhm`hw8>Q zdDx1PM5?vqlG39Z$xH4T>KGwDz7?r|G7AjLfN*u7GVof&OlFh4wrKDlQCbUC!H;PBxZwuZ^PeO&WU zz8o%+S?+1|!w(%06;QdT$xHixhaViGAWj*j3Dub>QL5k^t4h{V$v>O4y?~Buf_xe0 zQXUDJ!xg@!JXr4PeJNqf0Mf{lgzLgId!D5Z1_NA-e(>X3ou41|haaNi4=HE?t35v- z0$;wA@O_p{e*hr-$e8B;a@Ay=_ttDR5h`pc4k7{F=xqPgv}fBewi}LrIAK0YtxcX@ zaGlqmEhS#`plP=q{mPk)i-=0NpnV_*xEK8)XIc{};7Co{6~r(-TVq+Aa$ue%bCHmb z-|JC*sgp^>N4!=*y>Af6ToAoU%(j8frZ^asNENTGsVAj!OApCD5NuYE?Zh;UVxl+2 zZZ9s&VKfeh5Z6Id-@bc)Mz;nP$HlyZbs-b;YE}kuVBMy&?{JktjS1G%jw%(Ai9WSiblx(GR|J$>e#66yG?%h0dEkvLD$xQqWwHiCMR-6@(^nD zWEhOG>NBO>#a#F_2R6G(UW0ULDAegA66*oY%K$(C>;$DE#RSATrIiE#(E^2Cw)T+- zpAY@ULRsT{C`2nz{ST46n4H6-&di4(-3L5IaOBM(C9ON>2l8Q%zuQ2bNVappdUPNa*h{*3nZaLUZ36wEjlU-W|& zo-2bUaTRjeJYJ^Fc3kV*WTO?E16);1^%8DNQg8$W-T(og)fb4 z?Ud6kC-rHBd=+X#)h*%`{ltcCSm##vD7VckD_yRU<3Kupjak_{o3j~XM7u5^!engb zNF*k6s_s7c7nt(vo!2UuZ#=WOpV@hT_O^XVsiFZfjNHMB3Hnf2PU!Z7Ln;Ec=;#;> zFScsnLUUeeGj#vlWHk@;<4_HYhZ@Q?PBvU{{{egcB%wUMz+4411@rhKI(Yo#SI1V# zjtywRq1wcMhQ9}${y55q@fZ%3G`63RJ>XpCF|;bnS)wJmP2hpoPhSsKdAtpd8^W!Q z{poy8bgTMMCS+RqMHV$kkM{Hrq0f}LhNre)h+H5h$V9^*CYRLKda>pn(L3yhR5{YY zLyu>i`Iu6OC#qqA8x+&zfF5K?NgHQgGM2g*e~eOp)-vCQ+1{)@7p_VzTU4s;Z6)sY zBkr-OFI}0)(3~%&>#g8|_vViJN^+K{I6_OK_j4~o znptr{oKY!8x1$C#XPjnR3LDm#^923Wkaq(;nr5PB580CO-#amsFq|u#ve30F@3w^jTafJ(-@INL()_ElagB0oFwaW-`ybv2HU<|2#M_=Dt<-=L<^8j~ymJ zgMc9dY>geyMV6#+Ts)JJ%8iP}?1w`T#73M`dy4xt4vwobNw%Y3vkUC1CDsG`evUPN z#xNtWS{H8KGUpNiq*?Vs1@DZDgp|8w3!W#ZC}DE3Qy7(e7>48om7|^FN+h&BSu$sO zmu_>8(!e@l*@9CRBS>Je3*`CpC08^HjLKSG)CDgV$VSlxIHcUl${#YcciyEcHlF0n z@WAOr;|5CSG5eXUsU*(mNQ60-b6Kf>B#!RBHA;S*17~+vOq&69o}s6g@S+OCIpga9 zAW8comu9Ph4TFcyFl^IOk_~vd(z`Y|sNiNTSh0mBN1mJt+X4~hVs^X^f`eqZaH4Rs zhOXp-s8E7Y&;xpTOfv%`CPongRj^EGyiraf=#Ya5`?g}C30;ba9655sPth}ft|7dL zig#q`nOHS&{B!!Xpg17;;y&xL3wO&9_RzDBq*!oyGRT(KN1qYgmE4;_jbX++ozP zsC<)spot$QmA>?ZPVJQpZfFO89uPSpkEwKenmK$2v-c0LVF&N^9!LXtAxQ!$rIk6J z{zBh~hdkWtb=S?H!HmBCMEq@jL{awkXGYYO#CQelIjCQ0uc+y^ z5rZr4!RdA^Ju@!IQfBPwSv`TAt=Ihl>n{3KY*=v*y_Gxgr`rH40vbnucBS~?f?4D* ze`t=;uw;}U08&jJry!OXsnrV=8Ow!`19ee$ZDRot17U+u;RA)P9lRF^ruSHh0{o`o zUvyzk?6^oiu@>e5HBa%XMo~3hF0u)Nm)IM*<4O^XA5-3+mhD81(YN32+!uG##rc&r z@Irea48&sGDU(eIwunc6B455a2aTv9xm*xt{g3m+52DqF%!Q?KeATbUNi!Dl2T+~U zE6q<9tlWC5Yq8<~ z2Q`_n>+6Mm{ax>CGM{Jjp7(nl-@;kTg-6Rqhdik{N6JzJEQPT^LMJ;t%@a3qnCVwn zj=gSzBy+y6Mc=|pGtiOkiD$5O^6TK2JOyi2=EQG4<7-T{<{Vd@jQVq4)nkPliql|MM)JN24rZMaBZ_ESbZ{EFw>4NbRjLxfn}hl;pE? zVU@p=Rp!nz`eU9g&(2{5NFG&rAz_E36hSD}%Ag<{2-bjqESzvXjb$!W9w*3dm=hk# zXi-tM(X1RJf~EijT(NSLv6WbC2#wur>3A3aIo-sr7gR6Rhe7=Z7Y8l%acUbKaAaT!Glqa zQ8;pB5jL-X@7y%eM~z~QXm%45hDBwmYnNTuDy~|yr_PIp^@0DIF`Q{unk7W8Gyhww zcik%&g_8?%0reYNvFYT=d}<9{uL5@E zrue-T_IVkqLMaQEAR9UU?*=T(ZWJ{i^p^jT#;$jNpEwID;htR* z&4@5LlShsi$OC7dUArBy=@#Q)q@w(S3Xv@*2DK9^zKa;6R;Afc6`-R~FsUe8Lk%mC z%VC-=b1v{_sDBHCqWLKvV-0DExVdl`7+RdYadB$zHiG4+u1wx=o6VtMNy-w_4OV(iK!2a zSj5#n9@3cy0izu8Wktv5(g@8Z84LDj{7FyE=S(0TMe89V0c1gVgH(nyU~C|L%Of|X zDE>Hg(DdY5p>A9#HSTJ}QBI&S`d;&Y*Lb&d|%C@Wl24G3=EνqBc3N5TI%b;^CSYJ&S1hW9 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 &mP`4Hz$oD)|+;be5yAu}4-)D0czj=RMXOk#3 zZNb%LDxkxXr{%?{u~9cBL|yqWFIIWAW-UU;m`q?^VP#m{t$^Ez*h|f@XYM~AjcPknLVc5f7^+#T=M(hRm_fj*^1rvf+zMY8CRO+ zq@vrWVV376W(HB((WGLlQHr4~>qzNq%2r#5HiQMj_;XGbQcbz5akzi6lNktK(3vpe zIX?-Na0k+fw;b!gEqwIQABk#MF{K)n9UZYC^Sq+<++yn9e^ zhU{a7a}j}tvgpJ>0UI=|lE^e^HAn7pF7o|F=@0{_CN|Qh4*h=_ligS7rxdkHW#se% z6pNQmSW0jw5rc#>jySYng>_wW5eM)-%~W;WjF%3#d^4z>h@L)jwEJ?98zYWs9IZe& zx;?7TW~9f@IY%(tVBqPisV$qHnb}M`+DXIS;(peoVzha_0AkmHDRHs5w!%J!NvpYo|)`1 zl}%@fX7y|SW~QQOh{^#S$0Jgvu517@DAVrI+0Waqbj%Q`1Qa1;TC4=}@{lP+0P7$( zS&5<`7`}s~qLJZbvI9@;z&1=LCWL8xwhWiCj2Y8~FAaaq*Q#Ryb8kqk3r=zz(T(Ah z3KnT#hz`1ZsGyo)F~xQ?s8H3|13O-i$cmx(Mcq)hX-QPF4+Jdc^D#ZBXJw$oa21}5 z$i8TS$XH^_G-c%Ga}k9p@@y%!)u~Z=k$POdJ_8=+6rHue*eZm6rOjkl%b0i_oi@E> zI_Ge=re=STE~0sC#x)%spR_v%!IN*En7bi-U1;xBp}a=@rN!^QA0MSz>tOrvEK=obDMSaLXrld*g zP@^wQ5ogi@wltofqwNg|X1xU38LNIzMrtUA&Pe?ja2@Z6+T@siAg{jhO4KWXA+Ul8 z>}zIopGYPsoC66aVKIk@!6Wgh?FaB zWZHj1zSqfJtl*x!8Fp`(t$ z-|!2vlM(lh8?qdF(|R{lp@PB)2oq?cb%fG)4FOIXz3js&_Txs^X~gj+@pL6h2RlqE9hTEUK7ubb~H7%*>2q9Cd6R;6v_?%53w2Xfs zG)9EuhADj%fErF#qAW1X3ZPD@FGa&Dtw}4FN<>EJ@+9XR(tN%KHpO-YTvW}98KW3j z1`o5TTabwc$g^!kTT*23mohL|R%BAWCdC@)RA66ooU>uS;A&2;Vou>X-bzvYi|RsR=iM0I071Z( zO%aqv7$j_S0Xk}A474^vE6dN~tnrkLc=ZO>kqg#yj*Fy&PBk%7Bg*1FC3hh$k!w%% z)Wax2gLY(|Lu^qD)m~CPpzHD5AWI5#zwRkLg3b;P$*+%B>~PpM+BEI~>PWp!PbNn% au6$1}B*fI)SdDsWY+} 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[F=Hy~~Q+mh{1SAN#^ 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γ{F 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⋘R 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
kffPzZ;yPqs?4T8&ZyW2X?I?I!V- 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 M|C0BPEdaPe0P04b-~a#s diff --git a/yarn-project/standard-contracts/src/standard_contract_data.ts b/yarn-project/standard-contracts/src/standard_contract_data.ts index dcdf15369de1..c5fb724e0e31 100644 --- a/yarn-project/standard-contracts/src/standard_contract_data.ts +++ b/yarn-project/standard-contracts/src/standard_contract_data.ts @@ -20,16 +20,16 @@ export const StandardContractSalt: Record = { }; export const StandardContractAddress: Record = { - AuthRegistry: AztecAddress.fromString('0x132d50137a60029242c7fd4106a6759ed80f9604272444a279f55855009c00c1'), - MultiCallEntrypoint: AztecAddress.fromString('0x2ee665f76facc4c7ea213616657d52ea7c60cf85d023a270e3f604e32794f093'), - PublicChecks: AztecAddress.fromString('0x132bfb0d4f5a7c48f678f33adaaaf0ad6c3cc327ce59a0780c38c529f15d0e12'), + AuthRegistry: AztecAddress.fromString('0x0aa7da8bcba8fe32d529a88b9ed88bbbd92bec786030bfe994069078a72c81f5'), + MultiCallEntrypoint: AztecAddress.fromString('0x1fc54b9700679a1a646109cec4b80a20b8b8b51eb57c4b4f024d68d891459d09'), + PublicChecks: AztecAddress.fromString('0x2841f0c768709c41248713f64fcce28dcdb31c75cc65d7144cfee81c31d6e82a'), HandshakeRegistry: AztecAddress.fromString('0x041b57f2e7316dff3b3b3aa5ec5f9cc781da576caf4b3779e92e8b273ded3d49'), }; export const StandardContractClassId: Record = { - AuthRegistry: Fr.fromString('0x0092acd5e757fa1d06cd905565297d8124f217a768cec1a02068bc2d0ebf2b9d'), - MultiCallEntrypoint: Fr.fromString('0x007fc5ec8871ff94360265e6b6b1232190a7d03f0f31ecb8bbf30a6b662eec97'), - PublicChecks: Fr.fromString('0x294f662f898a92cac3d399bd74fa663fc78f6c047b634f0f27999c1824f215fc'), + AuthRegistry: Fr.fromString('0x13042ef20d04be7c8dd0a73d0e223422f3f354971c90cbd531b60a452b6eec8a'), + MultiCallEntrypoint: Fr.fromString('0x1a99b3c16d91abfbcd8180f2bb20ee50a28f70ad1387c9cdf0a2dfaf16556e72'), + PublicChecks: Fr.fromString('0x197114e7c7faf9690c897705b1afffa0dc56373d64fe3cc2a1e74073b1e95a69'), HandshakeRegistry: Fr.fromString('0x13877d703cd5fe3f26eb26a3e4c8ef61c2783c5d2776df2515d6e255b978f681'), }; @@ -38,17 +38,17 @@ export const StandardContractClassIdPreimage: Record< { artifactHash: Fr; privateFunctionsRoot: Fr; publicBytecodeCommitment: Fr } > = { AuthRegistry: { - artifactHash: Fr.fromString('0x156fc10524113f2e4b58c3ef2da61b4dde7b18cf0486c9fc6367144c9197abb2'), + artifactHash: Fr.fromString('0x1c319bd046bbf2386f8f75dadf91c5cd1b0a6f7feac9637ed0a567f51f32ade2'), privateFunctionsRoot: Fr.fromString('0x17b584350f4c3ccafd8f688729afb9feab8976114fb40012e9dee65022c072a4'), publicBytecodeCommitment: Fr.fromString('0x2545f39893766508ce37bb5cea5e4dcab04c6f7f79f3089b1c076876e9d268b2'), }, MultiCallEntrypoint: { - artifactHash: Fr.fromString('0x23fd6702fbc025fa691c6110e915d61ad233fa01bf68b31903e3ad46433babd9'), + artifactHash: Fr.fromString('0x1999d4c4102d083917a16047bdffe2825f16f0ebf3af5dc1670de5abd85ff212'), privateFunctionsRoot: Fr.fromString('0x0e68dfbb256e80b08b3aef47aca1f2669e97a9c6259787893c1223ac083ad5d5'), publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e'), }, PublicChecks: { - artifactHash: Fr.fromString('0x047d1aafa35b25c15c5b3890e965826fd1041b13bc152322885ad3e61b06d534'), + artifactHash: Fr.fromString('0x2a6108541277cf042e4f1583bcc572a042c2327709460f8377fa55674ebc1754'), privateFunctionsRoot: Fr.fromString('0x202860adb1b8975971eeaf571aaaa88a27f4035290d58532ae7d60b0dfaad54c'), publicBytecodeCommitment: Fr.fromString('0x013c4f854a5c87c9daf86c5f9bc07a42c2a061f1d924a5b3564ec7edc8e18cb7'), }, From 72ce06c1802d32bc9201f823f2a497809341c34b Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 08:46:24 +0000 Subject: [PATCH 079/197] remove redundant declaration --- noir-projects/aztec-nr/aztec/src/entities/mod.nr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noir-projects/aztec-nr/aztec/src/entities/mod.nr b/noir-projects/aztec-nr/aztec/src/entities/mod.nr index 93fe7c4b1618..e41e2ef11763 100644 --- a/noir-projects/aztec-nr/aztec/src/entities/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/entities/mod.nr @@ -37,7 +37,7 @@ impl RawEntity { { let n = ::N; assert_eq(self.body.len(), n, "entity body length mismatch"); - let mut fields: [Field; ::N] = [0; ::N]; + let mut fields = [0; ::N]; for i in 0..n { fields[i] = self.body.get(i); } From c5d745a860c217669071adf46f7700b93d422051 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 09:15:38 +0000 Subject: [PATCH 080/197] address code review feedback --- .../aztec-nr/aztec/src/entities/mod.nr | 8 +++---- .../noir-structs/entity_output.ts | 11 ++++++++++ .../noir-structs/fact_output.ts | 10 +++++++++ .../oracle/oracle_type_mappings.ts | 10 ++------- .../oracle/utility_execution_oracle.ts | 22 +++++++++---------- .../storage/entity_store/entity_service.ts | 7 +++--- 6 files changed, 42 insertions(+), 26 deletions(-) create mode 100644 yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts create mode 100644 yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts diff --git a/noir-projects/aztec-nr/aztec/src/entities/mod.nr b/noir-projects/aztec-nr/aztec/src/entities/mod.nr index e41e2ef11763..205281bd703b 100644 --- a/noir-projects/aztec-nr/aztec/src/entities/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/entities/mod.nr @@ -30,7 +30,7 @@ pub(crate) struct RawEntity { } impl RawEntity { - /// Deserializes the raw body field-array into `T` and wraps it, with its location, as a typed [`Entity`]. + /// Deserializes the raw body field-array into `T` and wraps it as a typed [`Entity`]. unconstrained fn into_entity(self, contract_address: AztecAddress, scope: AztecAddress) -> Entity where T: Deserialize, @@ -47,7 +47,7 @@ impl RawEntity { /// The identity a value carries when stored as an entity body. /// -/// Implementors supply the two ids the store needs to address an entity: a per-type `entity_type_id` shared by every +/// Implementors supply the two ids the store needs to identify an entity: a per-type `entity_type_id` shared by every /// entity of the same kind, and a per-instance `entity_id` derived from the value's content. pub trait EntityBody { /// The type id shared by all entities of this kind. @@ -57,7 +57,7 @@ pub trait EntityBody { fn entity_id(self) -> Field; } -/// A handle to an entity in the store: its location, typed body, and the facts recorded against it. +/// A handle to an entity in the store. #[derive(Deserialize, Serialize)] pub struct Entity { pub contract_address: AztecAddress, @@ -107,7 +107,7 @@ where get_entities::(contract_address, scope, T::entity_type_id()) } - /// Records a retractable fact about this entity, originated at `(block_number, block_hash)`. + /// Logs a retractable fact about this entity, originated at `(block_number, block_hash)`. /// /// The fact is pruned from the store if that block is reorg'd away. Note a fact's retractability is independent of /// the entity's, so either kind of entity may carry retractable facts. diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts new file mode 100644 index 000000000000..e2b3e87167d7 --- /dev/null +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts @@ -0,0 +1,11 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; + +import type { EphemeralArray } from './ephemeral_array.js'; +import type { FactOutput } from './fact_output.js'; + +/** + * Returned by `getEntity`/`getEntities`: the entity body plus its facts. + * + * A TS version of the `RawEntity` struct in `entities/mod.nr`. + */ +export type EntityOutput = { body: EphemeralArray; facts: EphemeralArray }; diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts new file mode 100644 index 000000000000..bdb9b2726362 --- /dev/null +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts @@ -0,0 +1,10 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; + +import type { EphemeralArray } from './ephemeral_array.js'; + +/** + * A single fact returned within an entity by `getEntity`. + * + * A TS version of the `Fact` struct in `entities/mod.nr`. + */ +export type FactOutput = { factTypeId: Fr; payload: EphemeralArray }; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 29717be6f8ed..cb4954d881fc 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -38,8 +38,10 @@ import { BlockHeader, TxEffect, TxHash } from '@aztec/stdlib/tx'; import type { OriginBlock } from '../../storage/entity_store/index.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; +import type { EntityOutput } from '../noir-structs/entity_output.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import { EventValidationRequest } from '../noir-structs/event_validation_request.js'; +import type { FactOutput } from '../noir-structs/fact_output.js'; import { LogRetrievalRequest } from '../noir-structs/log_retrieval_request.js'; import { LogRetrievalResponse } from '../noir-structs/log_retrieval_response.js'; import type { NoteData } from '../noir-structs/note_data.js'; @@ -375,11 +377,6 @@ export const RESOLVED_TX: TypeMapping = { serialization: { fn: resolved => [resolved.toFields()] }, }; -/** - * A single fact returned within an entity by `getEntity` - **/ -export type FactOutput = { factTypeId: Fr; payload: EphemeralArray }; - /** * Output mapping for a fact. Serializes to `[factTypeId, payloadSlot]`, where `payloadSlot` is the slot of the * fact's payload (its own ephemeral array of fields). Output-only: facts are returned to Noir, never received. @@ -404,9 +401,6 @@ export const ORIGIN_BLOCK: TypeMapping = { }, }; -/** Returned by `getEntity`/`getEntities`: the entity body plus its facts. */ -export type EntityOutput = { body: EphemeralArray; facts: EphemeralArray }; - /** * Output mapping for an entity. Serializes to `[bodySlot, factsSlot]`: the body as a slot of fields, and the facts as * a slot of `[factTypeId, payloadSlot]` rows. Output-only: entities are returned to Noir, never received. diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index e5f401ad79fc..764e1db6ff7e 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -58,8 +58,10 @@ import type { RecipientTaggingStore } from '../../storage/tagging_store/recipien import type { SenderAddressBookStore } from '../../storage/tagging_store/sender_address_book_store.js'; import { EphemeralArrayService } from '../ephemeral_array_service.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; +import type { EntityOutput } from '../noir-structs/entity_output.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import type { EventValidationRequest } from '../noir-structs/event_validation_request.js'; +import type { FactOutput } from '../noir-structs/fact_output.js'; import type { LogRetrievalRequest } from '../noir-structs/log_retrieval_request.js'; import type { LogRetrievalResponse } from '../noir-structs/log_retrieval_response.js'; import type { NoteData } from '../noir-structs/note_data.js'; @@ -73,7 +75,6 @@ import type { TransientArrayService } from '../transient_array_service.js'; import { buildACIRCallback } from './acir_callback.js'; import type { IMiscOracle, IUtilityExecutionOracle } from './interfaces.js'; import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js'; -import type { EntityOutput, FactOutput } from './oracle_type_mappings.js'; /** Args for UtilityExecutionOracle constructor. */ export type UtilityExecutionOracleArgs = { @@ -715,15 +716,14 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra * Asserts the executing contract may access `contractAddress`'s entity store. Entities are isolated per contract, so * a contract may only operate on its own entities. */ - private assertOwnContract(contractAddress: AztecAddress): void { + #assertOwnContract(contractAddress: AztecAddress): void { if (!contractAddress.equals(this.contractAddress)) { - // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`); } } /** Builds the Noir-facing ENTITY output (body + facts as nested ephemeral arrays) from a stored entity. */ - private toEntityOutput(entity: Entity): EntityOutput { + #toEntityOutput(entity: Entity): EntityOutput { return { body: EphemeralArray.fromValues(this.ephemeralArrayService, entity.body), facts: EphemeralArray.fromValues( @@ -750,7 +750,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra body: Fr[], originBlock: Option, ): Promise { - this.assertOwnContract(contractAddress); + this.#assertOwnContract(contractAddress); return this.entityService.createEntity( new EntityKey(contractAddress, scope, entityTypeId, entityId), body, @@ -772,7 +772,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra payload: Fr[], originBlock: Option, ): Promise { - this.assertOwnContract(contractAddress); + this.#assertOwnContract(contractAddress); return this.entityService.recordFact( new EntityKey(contractAddress, scope, entityTypeId, entityId), factTypeId, @@ -790,14 +790,14 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra scope: AztecAddress, entityTypeId: Fr, ): Promise> { - this.assertOwnContract(contractAddress); + this.#assertOwnContract(contractAddress); const entities = await this.entityService.getEntities( new EntityTypeKey(contractAddress, scope, entityTypeId), this.jobId, ); return EphemeralArray.fromValues( this.ephemeralArrayService, - entities.map(entity => this.toEntityOutput(entity)), + entities.map(entity => this.#toEntityOutput(entity)), ); } @@ -808,7 +808,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra entityTypeId: Fr, entityId: Fr, ): Promise { - this.assertOwnContract(contractAddress); + this.#assertOwnContract(contractAddress); const entity = await this.entityService.getEntity( new EntityKey(contractAddress, scope, entityTypeId, entityId), this.jobId, @@ -819,7 +819,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra `typeId=${entityTypeId.toString()} id=${entityId.toString()}`, ); } - return this.toEntityOutput(entity); + return this.#toEntityOutput(entity); } /** Permanently deletes an entity and all of its facts. */ @@ -829,7 +829,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra entityTypeId: Fr, entityId: Fr, ): Promise { - this.assertOwnContract(contractAddress); + this.#assertOwnContract(contractAddress); return this.entityService.terminateEntity( new EntityKey(contractAddress, scope, entityTypeId, entityId), this.jobId, diff --git a/yarn-project/pxe/src/storage/entity_store/entity_service.ts b/yarn-project/pxe/src/storage/entity_store/entity_service.ts index e96a4c06c8ac..53448177050f 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_service.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_service.ts @@ -6,9 +6,10 @@ import type { Entity, EntityStore } from './entity_store.js'; import type { EntityKey, EntityTypeKey, OriginBlock } from './entity_store_keys.js'; /** - * Wraps an {@link EntityStore} with scope-based access control. Each operation asserts the scope embedded in the entity - * key (or entity-type key) is in the allowed scopes list before delegating to the store, mirroring the role - * `CapsuleService` plays for `CapsuleStore`. Per-contract isolation is enforced by the oracle handler. + * Wraps an {@link EntityStore} with scope-based access control. + * + * Each operation asserts the scope embedded in the entity key (or entity-type key) is in the allowed scopes list + * before delegating to the store. */ export class EntityService { constructor( From 36e27aba8b02b1fc7ad897058f4649d00da435f8 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 09:26:11 +0000 Subject: [PATCH 081/197] code review --- .../{entity_output.ts => entity.ts} | 4 ++-- .../noir-structs/{fact_output.ts => fact.ts} | 2 +- .../oracle/oracle_type_mappings.ts | 8 ++++---- .../oracle/utility_execution_oracle.ts | 19 ++++++++++++------- 4 files changed, 19 insertions(+), 14 deletions(-) rename yarn-project/pxe/src/contract_function_simulator/noir-structs/{entity_output.ts => entity.ts} (65%) rename yarn-project/pxe/src/contract_function_simulator/noir-structs/{fact_output.ts => fact.ts} (77%) diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts similarity index 65% rename from yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts rename to yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts index e2b3e87167d7..d1d5399143c0 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity_output.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts @@ -1,11 +1,11 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import type { EphemeralArray } from './ephemeral_array.js'; -import type { FactOutput } from './fact_output.js'; +import type { Fact } from './fact.js'; /** * Returned by `getEntity`/`getEntities`: the entity body plus its facts. * * A TS version of the `RawEntity` struct in `entities/mod.nr`. */ -export type EntityOutput = { body: EphemeralArray; facts: EphemeralArray }; +export type Entity = { body: EphemeralArray; facts: EphemeralArray }; diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts similarity index 77% rename from yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts rename to yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts index bdb9b2726362..20730a0a3d52 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_output.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts @@ -7,4 +7,4 @@ import type { EphemeralArray } from './ephemeral_array.js'; * * A TS version of the `Fact` struct in `entities/mod.nr`. */ -export type FactOutput = { factTypeId: Fr; payload: EphemeralArray }; +export type Fact = { factTypeId: Fr; payload: EphemeralArray }; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index cb4954d881fc..137acdb0089f 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -38,10 +38,10 @@ import { BlockHeader, TxEffect, TxHash } from '@aztec/stdlib/tx'; import type { OriginBlock } from '../../storage/entity_store/index.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; -import type { EntityOutput } from '../noir-structs/entity_output.js'; +import type { Entity } from '../noir-structs/entity.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import { EventValidationRequest } from '../noir-structs/event_validation_request.js'; -import type { FactOutput } from '../noir-structs/fact_output.js'; +import type { Fact } from '../noir-structs/fact.js'; import { LogRetrievalRequest } from '../noir-structs/log_retrieval_request.js'; import { LogRetrievalResponse } from '../noir-structs/log_retrieval_response.js'; import type { NoteData } from '../noir-structs/note_data.js'; @@ -381,7 +381,7 @@ export const RESOLVED_TX: TypeMapping = { * Output mapping for a fact. Serializes to `[factTypeId, payloadSlot]`, where `payloadSlot` is the slot of the * fact's payload (its own ephemeral array of fields). Output-only: facts are returned to Noir, never received. */ -export const FACT: TypeMapping = { +export const FACT: TypeMapping = { serialization: { fn: f => [f.factTypeId, f.payload.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[])], }, @@ -405,7 +405,7 @@ export const ORIGIN_BLOCK: TypeMapping = { * Output mapping for an entity. Serializes to `[bodySlot, factsSlot]`: the body as a slot of fields, and the facts as * a slot of `[factTypeId, payloadSlot]` rows. Output-only: entities are returned to Noir, never received. */ -export const ENTITY: TypeMapping = { +export const ENTITY: TypeMapping = { serialization: { fn: e => [ e.body.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[]), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 764e1db6ff7e..3860aa5690cd 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -51,17 +51,22 @@ import type { AddressStore } from '../../storage/address_store/address_store.js' import type { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; import { EntityKey, EntityTypeKey } from '../../storage/entity_store/index.js'; -import type { Entity, EntityService, OriginBlock } from '../../storage/entity_store/index.js'; +import type { + Entity as EntityFromStore, + EntityService, + Fact as FactFromStore, + OriginBlock, +} from '../../storage/entity_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; import type { SenderAddressBookStore } from '../../storage/tagging_store/sender_address_book_store.js'; import { EphemeralArrayService } from '../ephemeral_array_service.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; -import type { EntityOutput } from '../noir-structs/entity_output.js'; +import type { Entity } from '../noir-structs/entity.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import type { EventValidationRequest } from '../noir-structs/event_validation_request.js'; -import type { FactOutput } from '../noir-structs/fact_output.js'; +import type { Fact } from '../noir-structs/fact.js'; import type { LogRetrievalRequest } from '../noir-structs/log_retrieval_request.js'; import type { LogRetrievalResponse } from '../noir-structs/log_retrieval_response.js'; import type { NoteData } from '../noir-structs/note_data.js'; @@ -723,13 +728,13 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra } /** Builds the Noir-facing ENTITY output (body + facts as nested ephemeral arrays) from a stored entity. */ - #toEntityOutput(entity: Entity): EntityOutput { + #toEntityOutput(entity: EntityFromStore): Entity { return { body: EphemeralArray.fromValues(this.ephemeralArrayService, entity.body), facts: EphemeralArray.fromValues( this.ephemeralArrayService, entity.facts.map( - (fact): FactOutput => ({ + (fact: FactFromStore): Fact => ({ factTypeId: fact.factTypeId, payload: EphemeralArray.fromValues(this.ephemeralArrayService, fact.payload), }), @@ -789,7 +794,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra contractAddress: AztecAddress, scope: AztecAddress, entityTypeId: Fr, - ): Promise> { + ): Promise> { this.#assertOwnContract(contractAddress); const entities = await this.entityService.getEntities( new EntityTypeKey(contractAddress, scope, entityTypeId), @@ -807,7 +812,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra scope: AztecAddress, entityTypeId: Fr, entityId: Fr, - ): Promise { + ): Promise { this.#assertOwnContract(contractAddress); const entity = await this.entityService.getEntity( new EntityKey(contractAddress, scope, entityTypeId, entityId), From 61d806e20f20d33fb64d116e6586897fa0d19e70 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 09:33:08 +0000 Subject: [PATCH 082/197] code review --- .../noir-structs/entity.ts | 2 +- .../contract_function_simulator/noir-structs/fact.ts | 2 +- .../oracle/oracle_type_mappings.ts | 12 ------------ 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts index d1d5399143c0..475d119adbec 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/entity.ts @@ -4,7 +4,7 @@ import type { EphemeralArray } from './ephemeral_array.js'; import type { Fact } from './fact.js'; /** - * Returned by `getEntity`/`getEntities`: the entity body plus its facts. + * Returned by EntityService `getEntity`/`getEntities`: the entity body plus its facts. * * A TS version of the `RawEntity` struct in `entities/mod.nr`. */ diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts index 20730a0a3d52..262f0824eb56 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts @@ -3,7 +3,7 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import type { EphemeralArray } from './ephemeral_array.js'; /** - * A single fact returned within an entity by `getEntity`. + * A single fact returned within an entity by `EntityService#getEntity`. * * A TS version of the `Fact` struct in `entities/mod.nr`. */ diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 137acdb0089f..b3cb232d8b03 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -377,20 +377,12 @@ export const RESOLVED_TX: TypeMapping = { serialization: { fn: resolved => [resolved.toFields()] }, }; -/** - * Output mapping for a fact. Serializes to `[factTypeId, payloadSlot]`, where `payloadSlot` is the slot of the - * fact's payload (its own ephemeral array of fields). Output-only: facts are returned to Noir, never received. - */ export const FACT: TypeMapping = { serialization: { fn: f => [f.factTypeId, f.payload.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[])], }, }; -/** - * Input mapping for an optional entity/fact origin block. Reads two ACVM slots `blockNumber` (u32) and `blockHash` - * (a field) into the store's `OriginBlock` shape. Used inside `OPTION(ORIGIN_BLOCK)`. - */ export const ORIGIN_BLOCK: TypeMapping = { deserialization: { fn: ([blockNumberReader, blockHashReader]) => ({ @@ -401,10 +393,6 @@ export const ORIGIN_BLOCK: TypeMapping = { }, }; -/** - * Output mapping for an entity. Serializes to `[bodySlot, factsSlot]`: the body as a slot of fields, and the facts as - * a slot of `[factTypeId, payloadSlot]` rows. Output-only: entities are returned to Noir, never received. - */ export const ENTITY: TypeMapping = { serialization: { fn: e => [ From f66f58bcc16a09a7ad49598fab459161f6c9cff5 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 09:38:57 +0000 Subject: [PATCH 083/197] code review --- .../entity_store/entity_service.test.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts index 19feb764fb5d..447639e977a1 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_service.test.ts @@ -17,6 +17,8 @@ describe('EntityService', () => { const disallowedScope = AztecAddress.fromField(new Fr(3)); const typeId = new Fr(10); const entityId = new Fr(20); + const factTypeId = new Fr(30); + const factPayload = new Fr(40); const keyFor = (scope: AztecAddress) => new EntityKey(contract, scope, typeId, entityId); const typeKeyFor = (scope: AztecAddress) => new EntityTypeKey(contract, scope, typeId); @@ -34,6 +36,23 @@ describe('EntityService', () => { expect(entity?.body).toEqual([new Fr(99)]); }); + it('delegates recordFact for an allowed scope', async () => { + const service = new EntityService(store, [allowedScope]); + await service.createEntity(keyFor(allowedScope), [new Fr(99)], undefined, jobId); + await service.recordFact(keyFor(allowedScope), factTypeId, [factPayload], undefined, jobId); + + const entity = await service.getEntity(keyFor(allowedScope), jobId); + expect(entity?.facts).toEqual([{ factTypeId, payload: [factPayload], originBlock: undefined }]); + }); + + it('delegates terminate for an allowed scope', async () => { + const service = new EntityService(store, [allowedScope]); + await service.createEntity(keyFor(allowedScope), [new Fr(99)], undefined, jobId); + await service.terminateEntity(keyFor(allowedScope), jobId); + + expect(await service.getEntity(keyFor(allowedScope), jobId)).toBeUndefined(); + }); + it('rejects a disallowed scope on create', () => { const service = new EntityService(store, [allowedScope]); expect(() => service.createEntity(keyFor(disallowedScope), [new Fr(99)], undefined, jobId)).toThrow( @@ -46,6 +65,18 @@ describe('EntityService', () => { expect(() => service.getEntities(typeKeyFor(disallowedScope), jobId)).toThrow(/not in the allowed scopes/); }); + it('rejects a disallowed scope on recordFact', () => { + const service = new EntityService(store, [allowedScope]); + expect(() => service.recordFact(keyFor(disallowedScope), factTypeId, [factPayload], undefined, jobId)).toThrow( + /not in the allowed scopes/, + ); + }); + + it('rejects a disallowed scope on terminate', () => { + const service = new EntityService(store, [allowedScope]); + expect(() => service.terminateEntity(keyFor(disallowedScope), jobId)).toThrow(/not in the allowed scopes/); + }); + it('always allows the zero (global) scope', async () => { const service = new EntityService(store, []); await service.createEntity(keyFor(AztecAddress.ZERO), [new Fr(7)], undefined, jobId); From 02ffaeb49691d596a746633c2d2943d4abdfa93c Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 10:00:13 +0000 Subject: [PATCH 084/197] fix test --- .../standard/handshake_registry_contract/src/test.nr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr b/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr index f60c0d970bf4..0f9dad94a243 100644 --- a/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr +++ b/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr @@ -536,8 +536,8 @@ unconstrained fn multiple_senders_discovered_for_same_recipient() { discovered.items.get(0).eph_pk.x != discovered.items.get(1).eph_pk.x, "distinct senders should produce distinct ephemeral public keys", ); - assert_eq(discovered.items.get(0).mode, ONCHAIN_CONSTRAINED); - assert_eq(discovered.items.get(1).mode, ONCHAIN_UNCONSTRAINED); + assert_eq(discovered.items.get(0).mode, ONCHAIN_UNCONSTRAINED); + assert_eq(discovered.items.get(1).mode, ONCHAIN_CONSTRAINED); } #[test] From c47b4737eb72cc0022b23bd3e5650e5ca505e369 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 11:08:03 +0000 Subject: [PATCH 085/197] update snapshots --- .../amm_contract/snapshots__expanded.snap | 17 +-- .../token_contract/snapshots__expanded.snap | 103 +++++++++--------- 2 files changed, 61 insertions(+), 59 deletions(-) diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap index da5b739dff4e..6c7b1a8dad95 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap @@ -2,6 +2,7 @@ source: tests/snapshots.rs expression: stdout --- + use aztec::macros::aztec; use aztec::macros::aztec; @@ -1144,7 +1145,7 @@ pub contract AMM { returns_hash.get_preimage() } - pub fn swap_exact_tokens_for_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_in: u128, amount_out_min: u128, authwit_nonce: Field) { + pub fn swap_tokens_for_exact_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_out: u128, amount_in_max: u128, authwit_nonce: Field) { let mut serialized_params: [Field; 5] = [0_Field; 5]; let mut offset: u32 = 0_u32; let serialized_member: [Field; 1] = ::serialize(token_in); @@ -1159,13 +1160,13 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_in); + let serialized_member: [Field; 1] = ::serialize(amount_out); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_out_min); + let serialized_member: [Field; 1] = ::serialize(amount_in_max); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1177,14 +1178,14 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2960373586_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2620890703_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); returns_hash.get_preimage() } - pub fn swap_tokens_for_exact_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_out: u128, amount_in_max: u128, authwit_nonce: Field) { + pub fn swap_exact_tokens_for_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_in: u128, amount_out_min: u128, authwit_nonce: Field) { let mut serialized_params: [Field; 5] = [0_Field; 5]; let mut offset: u32 = 0_u32; let serialized_member: [Field; 1] = ::serialize(token_in); @@ -1199,13 +1200,13 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_out); + let serialized_member: [Field; 1] = ::serialize(amount_in); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_in_max); + let serialized_member: [Field; 1] = ::serialize(amount_out_min); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1217,7 +1218,7 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2620890703_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2960373586_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap index dacdd91f08fc..b13af9550268 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap @@ -2,6 +2,7 @@ source: tests/snapshots.rs expression: stdout --- + use aztec::macros::aztec; use aztec::macros::aztec; @@ -1108,81 +1109,81 @@ pub contract Token { } } - pub fn mint_to_public(self, to: AztecAddress, amount: u128) { - let mut serialized_params: [Field; 2] = [0_Field; 2]; + pub fn constructor(self, admin: AztecAddress, name: str<31>, symbol: str<31>, decimals: u8) { + let mut serialized_params: [Field; 64] = [0_Field; 64]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(to); + let serialized_member: [Field; 1] = ::serialize(admin); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(name); + let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1159421870_Field); - // Safety: comment added by `nargo expand` - unsafe { - aztec::context::calls::PublicCall::<14, 2, ()>::new(self.address, selector, "mint_to_public", serialized_params).call(self.context) - } - } - - pub fn finalize_transfer_to_private(self, amount: u128, partial_note: PartialUintNote) { - let mut serialized_params: [Field; 2] = [0_Field; 2]; - let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(amount); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(symbol); + let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(partial_note); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 1] = ::serialize(decimals); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2599745508_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1578322623_Field); // Safety: comment added by `nargo expand` unsafe { - aztec::context::calls::PublicCall::<28, 2, ()>::new(self.address, selector, "finalize_transfer_to_private", serialized_params).call(self.context) + aztec::context::calls::PublicCall::<11, 64, ()>::new(self.address, selector, "constructor", serialized_params).call(self.context) } } - pub fn constructor(self, admin: AztecAddress, name: str<31>, symbol: str<31>, decimals: u8) { - let mut serialized_params: [Field; 64] = [0_Field; 64]; + pub fn mint_to_public(self, to: AztecAddress, amount: u128) { + let mut serialized_params: [Field; 2] = [0_Field; 2]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(admin); + let serialized_member: [Field; 1] = ::serialize(to); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(name); - let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; + let serialized_member: [Field; 1] = ::serialize(amount); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(symbol); - let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1159421870_Field); + // Safety: comment added by `nargo expand` + unsafe { + aztec::context::calls::PublicCall::<14, 2, ()>::new(self.address, selector, "mint_to_public", serialized_params).call(self.context) + } + } + + pub fn finalize_transfer_to_private(self, amount: u128, partial_note: PartialUintNote) { + let mut serialized_params: [Field; 2] = [0_Field; 2]; + let mut offset: u32 = 0_u32; + let serialized_member: [Field; 1] = ::serialize(amount); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(decimals); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 1] = ::serialize(partial_note); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1578322623_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2599745508_Field); // Safety: comment added by `nargo expand` unsafe { - aztec::context::calls::PublicCall::<11, 64, ()>::new(self.address, selector, "constructor", serialized_params).call(self.context) + aztec::context::calls::PublicCall::<28, 2, ()>::new(self.address, selector, "finalize_transfer_to_private", serialized_params).call(self.context) } } @@ -1208,15 +1209,6 @@ pub contract Token { } } - pub fn _reduce_total_supply(self, amount: u128) { - let serialized_params: [Field; 1] = ::serialize(amount); - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2253390209_Field); - // Safety: comment added by `nargo expand` - unsafe { - aztec::context::calls::PublicCall::<20, 1, ()>::new(self.address, selector, "_reduce_total_supply", serialized_params).call(self.context) - } - } - pub fn transfer_in_public(self, from: AztecAddress, to: AztecAddress, amount: u128, authwit_nonce: Field) { let mut serialized_params: [Field; 4] = [0_Field; 4]; let mut offset: u32 = 0_u32; @@ -1251,6 +1243,15 @@ pub contract Token { } } + pub fn _reduce_total_supply(self, amount: u128) { + let serialized_params: [Field; 1] = ::serialize(amount); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2253390209_Field); + // Safety: comment added by `nargo expand` + unsafe { + aztec::context::calls::PublicCall::<20, 1, ()>::new(self.address, selector, "_reduce_total_supply", serialized_params).call(self.context) + } + } + pub fn set_admin(self, new_admin: AztecAddress) { let serialized_params: [Field; 1] = ::serialize(new_admin); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2519591682_Field); @@ -1334,10 +1335,10 @@ pub contract Token { } impl CallSelf<&mut aztec::context::PrivateContext> { - pub fn transfer(self, to: AztecAddress, amount: u128) { + pub fn _recurse_subtract_balance(self, account: AztecAddress, amount: u128) -> u128 { let mut serialized_params: [Field; 2] = [0_Field; 2]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(to); + let serialized_member: [Field; 1] = ::serialize(account); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1349,17 +1350,17 @@ pub contract Token { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1968158567_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1536394406_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); returns_hash.get_preimage() } - pub fn _recurse_subtract_balance(self, account: AztecAddress, amount: u128) -> u128 { + pub fn transfer(self, to: AztecAddress, amount: u128) { let mut serialized_params: [Field; 2] = [0_Field; 2]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(account); + let serialized_member: [Field; 1] = ::serialize(to); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1371,7 +1372,7 @@ pub contract Token { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1536394406_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1968158567_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); @@ -1710,18 +1711,18 @@ pub contract Token { } impl CallSelfStatic<&mut aztec::context::PrivateContext> { - pub fn private_get_symbol(self) -> FieldCompressedString { + pub fn private_get_name(self) -> FieldCompressedString { let serialized_params: [Field; 0] = []; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1295669651_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(3516522363_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, true); returns_hash.get_preimage() } - pub fn private_get_name(self) -> FieldCompressedString { + pub fn private_get_symbol(self) -> FieldCompressedString { let serialized_params: [Field; 0] = []; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(3516522363_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1295669651_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, true); From a32d295a6e4d04916c000a930ee23d49549fb8f2 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 11:34:13 +0000 Subject: [PATCH 086/197] bump oracles --- noir-projects/aztec-nr/aztec/src/oracle/version.nr | 2 +- yarn-project/pxe/src/oracle_version.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/version.nr b/noir-projects/aztec-nr/aztec/src/oracle/version.nr index 258e230809f6..ff8f9a5afe2d 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/version.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/version.nr @@ -11,7 +11,7 @@ /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. pub global ORACLE_VERSION_MAJOR: Field = 30; -pub global ORACLE_VERSION_MINOR: Field = 0; +pub global ORACLE_VERSION_MINOR: Field = 1; /// Asserts that the version of the oracle is compatible with the version expected by the contract. pub fn assert_compatible_oracle_version() { diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index 315f9a75769f..b926a058c4f8 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -11,7 +11,7 @@ /// if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency without actually /// using any of the new oracles then there is no reason to throw. export const ORACLE_VERSION_MAJOR = 30; -export const ORACLE_VERSION_MINOR = 0; +export const ORACLE_VERSION_MINOR = 1; /// This hash is computed from the `ORACLE_REGISTRY` declaration (each oracle's name, ordered parameter names and /// types, and return type) and is used to detect when the oracle interface changes. When it does, you need to either: @@ -19,4 +19,4 @@ export const ORACLE_VERSION_MINOR = 0; /// - increment only `ORACLE_VERSION_MINOR` if the change is additive (a new oracle was added). /// /// These constants must be kept in sync between this file and `noir-projects/aztec-nr/aztec/src/oracle/version.nr`. -export const ORACLE_INTERFACE_HASH = 'd602d15784c80c3b180848c53e5650a2c7111176c7b8abc61e53e220c00b5ef8'; +export const ORACLE_INTERFACE_HASH = '2867be53215ab2e3464553ee2a34643a8ffd411e7797ae6db1e532e85029e33d'; From 64bca4ecad259e135553f8dee776caadeb938296 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 12:31:37 +0000 Subject: [PATCH 087/197] bump snapshots --- .../expand/amm_contract/snapshots__expanded.snap | 8 ++++---- .../snapshots__expanded.snap | 9 +++++---- .../avm_test_contract/snapshots__expanded.snap | 6 +++--- .../snapshots__expanded.snap | 9 +++++---- .../snapshots__expanded.snap | 7 ++++--- .../expand/token_contract/snapshots__expanded.snap | 12 ++++++------ 6 files changed, 27 insertions(+), 24 deletions(-) diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap index 6c7b1a8dad95..f511b86a33b5 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap @@ -383,7 +383,7 @@ pub contract AMM { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -800,8 +800,8 @@ pub contract AMM { aztec::context::calls::UtilityCall::<27, 3, u128>::new(self.target_contract, selector, "get_amount_in_for_exact_out", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -837,7 +837,7 @@ pub contract AMM { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap index 32db6054f5b6..7de41cfc8c2d 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap @@ -2,6 +2,7 @@ source: tests/snapshots.rs expression: stdout --- + use aztec::macros::aztec; use aztec::macros::aztec; @@ -141,7 +142,7 @@ contract AvmGadgetsTest { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: aztec::protocol::address::AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -303,8 +304,8 @@ contract AvmGadgetsTest { aztec::context::calls::PublicCall::<15, 300, [u8; 32]>::new(self.target_contract, selector, "keccak_hash_300", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -335,7 +336,7 @@ contract AvmGadgetsTest { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap index b04644838350..ee7535c9dff9 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap @@ -731,7 +731,7 @@ pub contract AvmTest { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -1684,7 +1684,7 @@ pub contract AvmTest { aztec::context::calls::PublicCall::<46, 23, ()>::new(self.target_contract, selector, "nested_call_to_add_n_times_different_addresses", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { let serialized_params: [Field; 321] = messages.serialize(); let selector: FunctionSelector = FunctionSelector::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) @@ -1721,7 +1721,7 @@ pub contract AvmTest { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap index 88d4e8960623..5081b41a59d9 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap @@ -2,6 +2,7 @@ source: tests/snapshots.rs expression: stdout --- + use aztec::macros::aztec; use aztec::macros::aztec; @@ -162,7 +163,7 @@ pub contract PublicFnsWithEmitRepro { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: aztec::protocol::address::AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -274,8 +275,8 @@ pub contract PublicFnsWithEmitRepro { aztec::context::calls::PublicCall::<5, 1, ()>::new(self.target_contract, selector, "fn_09", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -311,7 +312,7 @@ pub contract PublicFnsWithEmitRepro { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap index d2b1886ef0a6..908d41ff9e1c 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap @@ -2,6 +2,7 @@ source: tests/snapshots.rs expression: stdout --- + use aztec::macros::aztec; use aztec::macros::aztec; @@ -108,7 +109,7 @@ contract StorageProofTest { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -231,7 +232,7 @@ contract StorageProofTest { aztec::context::calls::PublicStaticCall::<13, 1290, ()>::new(self.target_contract, selector, "account_proof", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { let serialized_params: [Field; 321] = messages.serialize(); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) @@ -263,7 +264,7 @@ contract StorageProofTest { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap index b13af9550268..9c8109dabdfa 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap @@ -402,7 +402,7 @@ pub contract Token { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -1002,8 +1002,8 @@ pub contract Token { aztec::context::calls::UtilityCall::<18, 1, u128>::new(self.target_contract, selector, "balance_of_private", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -1039,7 +1039,7 @@ pub contract Token { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] @@ -3875,8 +3875,8 @@ mod test { let transfer_amount: u128 = 1000_Field as u128; let transfer_call: aztec::context::calls::PrivateCall<42, 4, ()> = Token::at(token_contract_address).transfer_in_private_with_offchain_delivery(owner, recipient, transfer_amount, 0_Field); env.call_private(owner, transfer_call); - let messages: BoundedVec = env.offchain_messages(); - let mut batch: BoundedVec = BoundedVec::::new(); + let messages: BoundedVec = env.offchain_messages(); + let mut batch: BoundedVec = BoundedVec::::new(); for i in 0_u32..messages.len() { batch.push(messages.get(i)); }; From 92b7ca6f992c66cf106d5a161910f93a2c65e074 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 18 Jun 2026 12:59:55 +0000 Subject: [PATCH 088/197] fix CI --- .../contract_function_simulator/oracle/private_execution.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts index 8ffc95b42825..ee276092f644 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts @@ -291,6 +291,7 @@ describe('Private Execution test suite', () => { keyStore = mock(); capsuleStore = mock(); entityStore = mock(); + entityStore.getEntities.mockResolvedValue([]); l2TipsStore = mock(); privateEventStore = mock(); senderAddressBookStore = mock(); From f550dcea41bd08fa80ac81f9999e4d84f3c3b95c Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 08:22:12 +0000 Subject: [PATCH 089/197] enhance block synchronizer tests --- .../block_synchronizer.test.ts | 224 +++++++++++------- 1 file changed, 135 insertions(+), 89 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index bcd169fd9165..ed51f91e2aab 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -28,7 +28,7 @@ import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; import { EntityStore } from '../storage/entity_store/entity_store.js'; -import { EntityKey, EntityTypeKey } from '../storage/entity_store/entity_store_keys.js'; +import { EntityKey, EntityTypeKey, type OriginBlock } from '../storage/entity_store/entity_store_keys.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { BlockSynchronizer } from './block_synchronizer.js'; @@ -82,6 +82,18 @@ describe('BlockSynchronizer', () => { number: block.number, }); + // The L2BlockId (number + hash) for a block, as carried by block-stream events. + const blockId = async (block: L2Block): Promise => + makeL2BlockId(block.number, (await block.hash()).toString()); + + // Configures the node to serve `block` by hash. + const serveBlock = async (block: L2Block) => { + const response = await blockResponse(block); + getBlock.mockImplementation(param => + Promise.resolve(param instanceof BlockHash && param.equals(response.hash) ? response : undefined), + ); + }; + // Builds a note DAO anchored to the given block id (caller adds it to the store and commits). const noteAt = (contract: AztecAddress, block: L2BlockId): Promise => NoteDao.random({ contractAddress: contract, l2BlockNumber: block.number, l2BlockHash: block.hash }); @@ -129,10 +141,7 @@ describe('BlockSynchronizer', () => { it('updates anchor block on a reorg', async () => { const reorgBlock = await L2Block.random(BlockNumber(3)); - const reorgResponse = await blockResponse(reorgBlock); - getBlock.mockImplementation(param => - Promise.resolve(param instanceof BlockHash && param.equals(reorgResponse.hash) ? reorgResponse : undefined), - ); + await serveBlock(reorgBlock); await synchronizer.handleBlockStreamEvent({ type: 'blocks-added', @@ -140,7 +149,7 @@ describe('BlockSynchronizer', () => { }); await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', - block: makeL2BlockId(reorgBlock.number, reorgResponse.hash.toString()), + block: await blockId(reorgBlock), checkpointed: { block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), @@ -208,12 +217,11 @@ describe('BlockSynchronizer', () => { // Block 3 is the fork point (a real block the node still serves); 4 and 5 are on the abandoned fork. const forkBlock = await L2Block.random(BlockNumber(3)); - const block3 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); const block4 = makeL2BlockId(BlockNumber(4), Fr.random().toString()); const block5 = makeL2BlockId(BlockNumber(5), Fr.random().toString()); // Seed a note at each block, anchored to that block's id. - const noteAt3 = await noteAt(contract, block3); + const noteAt3 = await noteAt(contract, await blockId(forkBlock)); const noteAt4 = await noteAt(contract, block4); const noteAt5 = await noteAt(contract, block5); await noteStore.addNotes([noteAt3, noteAt4, noteAt5], scope, 'note-job'); @@ -223,7 +231,7 @@ describe('BlockSynchronizer', () => { const eventIdAt3 = Fr.random(); const eventIdAt4 = Fr.random(); const eventIdAt5 = Fr.random(); - await storeEvent(contract, scope, eventIdAt3, block3); + await storeEvent(contract, scope, eventIdAt3, await blockId(forkBlock)); await storeEvent(contract, scope, eventIdAt4, block4); await storeEvent(contract, scope, eventIdAt5, block5); await privateEventStore.commit('event-job'); @@ -233,15 +241,12 @@ describe('BlockSynchronizer', () => { await anchorBlockStore.setHeader(anchorBlock5.header); // The node serves the fork-point block; it becomes the new anchor after the prune. - const forkResponse = await blockResponse(forkBlock); - getBlock.mockImplementation(param => - Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), - ); + await serveBlock(forkBlock); // Prune back to block 3 (orphaning blocks 4 and 5). await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', - block: block3, + block: await blockId(forkBlock), checkpointed: { block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), @@ -294,50 +299,73 @@ describe('BlockSynchronizer', () => { expect(await privateEventStore.eventIdsAtBlock(9)).toEqual([eventId9.toString()]); }); - it('chain-pruned deletes a retractable entity originating above the fork, along with all its facts', async () => { - const contract = await AztecAddress.random(); + it('chain-pruned retracts retractable entity at pruned block heights or above', async () => { + const jobId = 'entity-job'; + + // Block 5 will be the fork point: the prune keeps it and abandons only blocks strictly above it. + const lastSurvivingBlock = await L2Block.random(BlockNumber(5)); + + const contractAddress = await AztecAddress.random(); const scope = await AztecAddress.random(); + const entityTypeId = Fr.random(); - const entityId = Fr.random(); - const nonRetractableFactType = Fr.random(); - const jobId = 'entity-job'; - // Block 5 is the fork point; block 10 is on the abandoned fork (above the fork). - const forkBlock = await L2Block.random(BlockNumber(5)); - const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); - const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; + const survivingEntityId = Fr.random(); + const survivingEntityKey = EntityKey.from({ + contractAddress, + scope, + entityTypeId, + entityId: survivingEntityId, + }); - const entityKey = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId }); + // A retractable entity originating exactly at the fork point: the fork point is kept, so it must survive. + await entityStore.createEntity( + survivingEntityKey, + [Fr.random()], + { + blockNumber: lastSurvivingBlock.number, + blockHash: (await lastSurvivingBlock.hash()).toFr(), + }, + jobId, + ); + + const retractedEntityId = Fr.random(); + const retractedEntityKey = EntityKey.from({ + contractAddress: contractAddress, + scope, + entityTypeId, + entityId: retractedEntityId, + }); + + // A retractable entity originating just above the fork, carrying a non-retractable fact: the prune must delete + // the entity, taking said non-retractable fact with it. + await entityStore.createEntity( + retractedEntityKey, + [Fr.random()], + { blockNumber: lastSurvivingBlock.number + 1, blockHash: Fr.random() }, + jobId, + ); + await entityStore.recordFact(retractedEntityKey, Fr.random(), [Fr.random()], undefined, jobId); - // A retractable entity originating on the abandoned fork, carrying a non-retractable fact: the prune must - // delete the entity wholesale, taking even that non-retractable fact with it. - await entityStore.createEntity(entityKey, [Fr.random()], orphanedOriginBlock, jobId); - await entityStore.recordFact(entityKey, nonRetractableFactType, [Fr.random()], undefined, jobId); await store.transactionAsync(() => entityStore.commit(jobId)); - // The entity and its fact must be present before the prune. + // Both entities must be present before the prune. expect( - await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), - ).toHaveLength(1); - expect((await entityStore.getEntity(entityKey, jobId))!.facts).toHaveLength(1); - - // The verification reads above pin the job; release it so the prune's rollback is not blocked. - await entityStore.discardStaged(jobId); + await entityStore.getEntities(EntityTypeKey.from({ contractAddress, scope, entityTypeId }), jobId), + ).toHaveLength(2); + await store.transactionAsync(() => entityStore.commit(jobId)); - // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). + // Some blocks later... const anchorBlock10 = await L2Block.random(BlockNumber(10)); await anchorBlockStore.setHeader(anchorBlock10.header); - // The node serves the fork-point block; it becomes the new anchor after the prune. - const forkResponse = await blockResponse(forkBlock); - getBlock.mockImplementation(param => - Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), - ); + // The node serves the fork-point block (number 5), so it becomes the new anchor after the prune. + await serveBlock(lastSurvivingBlock); - // Prune back to block 5, orphaning block 10 where the retractable entity originates. + // Prune back to block 5, dropping block 6 where the retractable entity originates. await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', - block: block5, + block: await blockId(lastSurvivingBlock), checkpointed: { block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), @@ -348,59 +376,77 @@ describe('BlockSynchronizer', () => { }, }); - // The retractable entity is gone wholesale, taking its non-retractable fact with it. - expect( - await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), - ).toHaveLength(0); - expect(await entityStore.getEntity(entityKey, jobId)).toBeUndefined(); + // Only the fork-point entity survives. The one originating above the fork is gone. + const entities = await entityStore.getEntities( + EntityTypeKey.from({ contractAddress, scope, entityTypeId }), + jobId, + ); + expect(entities).toHaveLength(1); + expect(entities[0].key.entityId.equals(survivingEntityId)).toBe(true); + expect(await entityStore.getEntity(retractedEntityKey, jobId)).toBeUndefined(); + expect((await entityStore.getEntity(survivingEntityKey, jobId))!.facts).toHaveLength(0); }); - it('chain-pruned keeps a non-retractable entity but deletes its facts originating above the fork', async () => { - const contract = await AztecAddress.random(); + it('chain-pruned keeps a non-retractable entity and its facts up to the fork point, deleting only those above it', async () => { + const jobId = 'entity-job'; + + // Block 5 is the fork point: the prune keeps it and abandons only blocks strictly above it. + const lastSurvivingBlock = await L2Block.random(BlockNumber(5)); + + const contractAddress = await AztecAddress.random(); const scope = await AztecAddress.random(); + const entityTypeId = Fr.random(); const entityId = Fr.random(); - const retractableFactType = Fr.random(); + const retractedFactType = Fr.random(); + const forkPointFactType = Fr.random(); const nonRetractableFactType = Fr.random(); - const jobId = 'entity-job'; - - // Block 5 is the fork point; block 10 is on the abandoned fork (above the fork). - const forkBlock = await L2Block.random(BlockNumber(5)); - const block5 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); - const orphanedOriginBlock = { blockNumber: 10, blockHash: Fr.random() }; - const entityKey = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId }); + const entityKey = EntityKey.from({ contractAddress, scope, entityTypeId, entityId }); - // A non-retractable entity carrying one non-retractable fact and one retractable fact that originates on the - // abandoned fork: the prune must keep the entity and its non-retractable fact, deleting only the orphaned fact. + // A non-retractable entity carrying three facts: a non-retractable one, a retractable one anchored to the fork + // point (block 5), and a retractable one originating just above it (block 6). The prune must keep the entity, its + // non-retractable fact, and the fork-point fact, deleting only the orphaned fact. await entityStore.createEntity(entityKey, [Fr.random()], undefined, jobId); await entityStore.recordFact(entityKey, nonRetractableFactType, [Fr.random()], undefined, jobId); - await entityStore.recordFact(entityKey, retractableFactType, [], orphanedOriginBlock, jobId); + await entityStore.recordFact( + entityKey, + forkPointFactType, + [], + { + blockNumber: lastSurvivingBlock.number, + blockHash: (await lastSurvivingBlock.hash()).toFr(), + }, + jobId, + ); + await entityStore.recordFact( + entityKey, + retractedFactType, + [], + { blockNumber: lastSurvivingBlock.number + 1, blockHash: Fr.random() }, + jobId, + ); await store.transactionAsync(() => entityStore.commit(jobId)); - // The entity and both its facts must be present before the prune. + // The entity and all three facts must be present before the prune. expect( - await entityStore.getEntities(EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), jobId), + await entityStore.getEntities(EntityTypeKey.from({ contractAddress, scope, entityTypeId }), jobId), ).toHaveLength(1); - expect((await entityStore.getEntity(entityKey, jobId))!.facts).toHaveLength(2); + expect((await entityStore.getEntity(entityKey, jobId))!.facts).toHaveLength(3); - // The verification reads above pin the job; release it so the prune's rollback is not blocked. - await entityStore.discardStaged(jobId); + await store.transactionAsync(() => entityStore.commit(jobId)); - // Set the anchor to block 10 so the prune guard passes (anchor is above the fork point). + // Some blocks later... const anchorBlock10 = await L2Block.random(BlockNumber(10)); await anchorBlockStore.setHeader(anchorBlock10.header); - // The node serves the fork-point block; it becomes the new anchor after the prune. - const forkResponse = await blockResponse(forkBlock); - getBlock.mockImplementation(param => - Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), - ); + // The node serves the fork-point block, so it becomes the new anchor after the prune. + await serveBlock(lastSurvivingBlock); - // Prune back to block 5, orphaning block 10 where the retractable fact originates. + // Prune back to block 5, orphaning block 6 where the retractable fact originates. await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', - block: block5, + block: await blockId(lastSurvivingBlock), checkpointed: { block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), @@ -411,16 +457,20 @@ describe('BlockSynchronizer', () => { }, }); - // The non-retractable entity survives, keeping only its non-retractable fact. - const active = await entityStore.getEntities( - EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId }), + // The non-retractable entity survives, keeping its non-retractable fact and the fork-point fact. Only the fact + // originating above the fork is gone. + const entities = await entityStore.getEntities( + EntityTypeKey.from({ contractAddress: contractAddress, scope, entityTypeId }), jobId, ); - expect(active).toHaveLength(1); - expect(active[0].key.entityId.equals(entityId)).toBe(true); - const remaining = (await entityStore.getEntity(entityKey, jobId))!.facts; - expect(remaining).toHaveLength(1); - expect(remaining[0].factTypeId.equals(nonRetractableFactType)).toBe(true); + expect(entities).toHaveLength(1); + expect(entities[0].key.entityId.equals(entityId)).toBe(true); + + const remainingFactTypes = (await entityStore.getEntity(entityKey, jobId))!.facts.map(fact => fact.factTypeId); + expect(remainingFactTypes).toHaveLength(2); + expect(remainingFactTypes.some(factType => factType.equals(nonRetractableFactType))).toBe(true); + expect(remainingFactTypes.some(factType => factType.equals(forkPointFactType))).toBe(true); + expect(remainingFactTypes.some(factType => factType.equals(retractedFactType))).toBe(false); }); it('notes below the fork survive and remain queryable after a prune', async () => { @@ -429,11 +479,10 @@ describe('BlockSynchronizer', () => { // Block 1 is the fork point (a real block the node still serves); 2 and 3 are on the abandoned fork. const forkBlock = await L2Block.random(BlockNumber(1)); - const block1 = makeL2BlockId(forkBlock.number, (await forkBlock.hash()).toString()); const block2 = makeL2BlockId(BlockNumber(2), Fr.random().toString()); const block3 = makeL2BlockId(BlockNumber(3), Fr.random().toString()); - const noteAt1 = await noteAt(contract, block1); + const noteAt1 = await noteAt(contract, await blockId(forkBlock)); const noteAt2 = await noteAt(contract, block2); const noteAt3 = await noteAt(contract, block3); await noteStore.addNotes([noteAt1, noteAt2, noteAt3], scope, 'note-job'); @@ -444,15 +493,12 @@ describe('BlockSynchronizer', () => { await anchorBlockStore.setHeader(anchorBlock3.header); // The node serves the fork-point block; it becomes the new anchor after the prune. - const forkResponse = await blockResponse(forkBlock); - getBlock.mockImplementation(param => - Promise.resolve(param instanceof BlockHash && param.equals(forkResponse.hash) ? forkResponse : undefined), - ); + await serveBlock(forkBlock); // Prune back to block 1 (orphaning blocks 2 and 3). await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', - block: block1, + block: await blockId(forkBlock), checkpointed: { block: makeL2BlockId(BlockNumber.ZERO, GENESIS_BLOCK_HEADER_HASH.toString()), checkpoint: makeL2CheckpointId(CheckpointNumber.ZERO, GENESIS_CHECKPOINT_HEADER_HASH.toString()), From 754743933b3b2a67b986e90f33a89489d034c7f4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 09:40:15 +0000 Subject: [PATCH 090/197] further explain entity store --- yarn-project/pxe/src/storage/entity_store/entity_store.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index f17a0532e634..f80c91fe4c1f 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -37,6 +37,12 @@ type StagedOp = /** * Stores immutable facts about entities, isolated by contract and scope. * + * An entity is a contract-defined record identified by an {@link EntityKey} (contract, scope, entity type, and + * id) and carrying an opaque (to PXE) body. A fact is a contract-defined immutable, typed datum attached to an entity. + * + * What makes this store different to, for example, the `CapsuleStore`, is that it is designed to support use cases + * where resilience to reorgs is needed, for which we need to introduce the concept of retractability. + * * Both entities and facts can be retractable or non-retractable. They are retractable if they are associated to an * origin block; they are non-retractable if they are not associated to an origin block. * From 7568955ddce35e6ffd7430a8cb2de8705a9c1e00 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 10:52:59 +0000 Subject: [PATCH 091/197] address code review feedback --- .../src/storage/entity_store/entity_store.ts | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index f80c91fe4c1f..7b7e8b7e4e13 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -41,10 +41,10 @@ type StagedOp = * id) and carrying an opaque (to PXE) body. A fact is a contract-defined immutable, typed datum attached to an entity. * * What makes this store different to, for example, the `CapsuleStore`, is that it is designed to support use cases - * where resilience to reorgs is needed, for which we need to introduce the concept of retractability. + * where resilience to reorgs is needed, via what be call _retractability_. * * Both entities and facts can be retractable or non-retractable. They are retractable if they are associated to an - * origin block; they are non-retractable if they are not associated to an origin block. + * origin block. * * Retractable entities and all their facts are removed from the store when their origin block is pruned (typically due * to a reorg). Retractable facts are likewise removed from the store when their origin block is pruned. @@ -69,19 +69,19 @@ export class EntityStore implements StagedStore { #store: AztecAsyncKVStore; - /** Primary entity records; each holds the entity body and optional origin block. */ + /** Primary index of entity records. Each holds the entity body and optional origin block. */ #entities: AztecAsyncMap; /** Index for delete-on-prune of retractable entities (those with an origin block). */ #entitiesByBlock: AztecAsyncMultiMap; - /** Primary fact records, deduplicated by fact key. */ + /** Primary index of fact records. */ #facts: AztecAsyncMap; /** Index for efficient entity-level fold. */ #factsByEntity: AztecAsyncMultiMap; - /** Index for delete-on-prune (retractable facts only). */ + /** Index for delete-on-prune of retractable facts (those with an origin block). */ #factsByBlock: AztecAsyncMultiMap; /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ @@ -111,15 +111,15 @@ export class EntityStore implements StagedStore { * Creates an entity. Idempotent, with first-write-wins semantics. * * If `originBlock === undefined`, the entity is non-retractable: it survives reorgs. A defined origin block makes the - * entity retractable: on a prune above its block, the entity and all its facts are deleted. + * entity retractable: on a prune below its block, the entity and all its facts are deleted. * * An entity is identified solely by its {@link EntityKey} (contract, scope, entityTypeId, entityId). If an entity * with that key already exists, this call is a no-op: the existing entity, its body, origin block or lackthereof, * and all its facts, are left untouched and the supplied `entityBody`/`originBlock` are ignored. * * Creating a duplicate key never throws, so callers may re-run creation unconditionally without first checking - * existence. This matters because Noir has no exception handling: a throw on an existing key would abort the whole - * utility run with no way to recover. + * existence. This matters because Noir has no exception handling: a throw on an existing key would abort contract + * execution with no way to recover. * * Users that need different behavior (updating an entity, branching on its current state, or distinguishing * instances by block, to cite a few examples) must either read it first via {@link getEntity} / {@link getEntities} @@ -145,8 +145,8 @@ export class EntityStore implements StagedStore { * * Rejects if its entity does not exist. * - * `originBlock === undefined` marks the fact non-retractable (it survives reorgs); a defined origin block ties the - * fact to a specific block and it will be deleted on prune. + * If `originBlock === undefined`, the fact is non-retractable: it survives reorgs. A defined origin block makes the + * fact retractable: on a prune below its block, it will be deleted. * * Facts are returned in creation order by the getEntity and getEntities read methods. * @@ -174,6 +174,9 @@ export class EntityStore implements StagedStore { /** * Terminate an entity, making it (and all its facts) unavailable. * + * This is typically done when the entity has finalized and there's no more work to do, to save disk space and to + * avoid re-processing the entity indefinitely. + * * Throws if the entity does not exist. */ terminateEntity(key: EntityKey, jobId: string): Promise { @@ -239,6 +242,10 @@ export class EntityStore implements StagedStore { case 'terminateEntity': await this.#deleteEntity(op.key.toString()); break; + default: { + const _exhaustive: never = op; + throw new Error(`Unhandled EntityStore staged op kind: ${JSON.stringify(_exhaustive)}`); + } } } this.#clearJobData(jobId); @@ -264,7 +271,11 @@ export class EntityStore implements StagedStore { throw new Error('PXE entity store rollback is not allowed while jobs are running'); } + // Remove all affected retractable entities and all their facts const removedEntities = await this.#retractEntities(toBlock); + + // Remove all affected retractable facts remaining (facts belonging to retractable entities were removed by + // #retractEntities, see above) const removedFacts = await this.#retractFacts(toBlock); this.logger.verbose('rolled back entity store', { removedEntities, removedFacts, toBlock }); @@ -272,12 +283,13 @@ export class EntityStore implements StagedStore { /** * Deletes every retractable entity (and all its facts) whose origin block is above `toBlock`, returning the count - * removed. Snapshots the by-block index before mutating so we never delete from the multimap we are iterating. + * removed. * * Requires to be run in a transactionAsync context. */ async #retractEntities(toBlock: BlockNum): Promise { const entitiesToRetract: EntityKeyStr[] = []; + // Snapshot the by-block index before mutating so we never delete from the multimap we are iterating. for await (const [, entityKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { entitiesToRetract.push(entityKey); } @@ -334,7 +346,7 @@ export class EntityStore implements StagedStore { /** * Reads the given entity records by key into a Map keyed by entity key, skipping keys with no committed record. * - * This is purely auxiliary function that produces the input shape {@link #readFactsFromDb} consumes, it exists + * This is a purely auxiliary function that produces the input shape {@link #readFactsFromDb} consumes, it exists * mainly for better readability of the store. * * Reads are not wrapped in a transaction: the caller owns the transaction boundary. @@ -465,6 +477,10 @@ export class EntityStore implements StagedStore { } break; } + default: { + const _exhaustive: never = op; + throw new Error(`Unhandled EntityStore staged op kind: ${JSON.stringify(_exhaustive)}`); + } } } return result; From 13fd6a864c6289f49e10114d923efb6deff373a0 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 11:28:11 +0000 Subject: [PATCH 092/197] more test coverage --- .../storage/entity_store/entity_store.test.ts | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index a4a13d71b21b..0ec63701f21a 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -431,6 +431,71 @@ describe('EntityStore', () => { await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); }); + it('a staged create-then-terminate makes the entity non-existent to later ops in the same job', async () => { + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.terminateEntity(entityKey1, JOB); + + await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( + 'non-existent entity', + ); + await expect(store.terminateEntity(entityKey1, JOB)).rejects.toThrow('non-existent entity'); + + // Committing the create-then-terminate pair persists nothing. + await kv.transactionAsync(() => store.commit(JOB)); + expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); + expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); + }); + + it('a staged create-then-terminate drops a committed entity for later ops in the same job', async () => { + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'recreate-then-terminate-job'; + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); + await store.terminateEntity(entityKey1, JOB2); + + await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2)).rejects.toThrow( + 'non-existent entity', + ); + await expect(store.terminateEntity(entityKey1, JOB2)).rejects.toThrow('non-existent entity'); + + // Committing JOB2 removes the previously committed entity. + await kv.transactionAsync(() => store.commit(JOB2)); + expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); + expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); + }); + + it('repeated staged creates followed by a single terminate leave the entity non-existent', async () => { + // The idea of this test is to cover entity creation idempotency + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await store.terminateEntity(entityKey1, JOB); + + expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); + await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( + 'non-existent entity', + ); + await expect(store.terminateEntity(entityKey1, JOB)).rejects.toThrow('non-existent entity'); + + // Committing the collapsed creates plus the terminate persists nothing. + await kv.transactionAsync(() => store.commit(JOB)); + expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); + expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); + }); + + it('a staged terminate-then-create makes a committed entity exist again for later ops in the same job', async () => { + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'recreate-job'; + await store.terminateEntity(entityKey1, JOB2); + await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); + + await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2)).resolves.not.toThrow(); + await expect(store.terminateEntity(entityKey1, JOB2)).resolves.not.toThrow(); + }); + it('recording a fact before its entity is created in the same job is rejected', async () => { await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( 'non-existent entity', From b4a11050be8454d4722fb370e675493c8da7c259 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 11:39:30 +0000 Subject: [PATCH 093/197] extract deleteFact --- .../src/storage/entity_store/entity_store.ts | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 7b7e8b7e4e13..525c85e28161 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -305,25 +305,22 @@ export class EntityStore implements StagedStore { * Requires to be run in a transactionAsync context. */ async #retractFacts(toBlock: BlockNum): Promise { - // Snapshot the orphaned (block, factKey) pairs before mutating so we never delete from the cursor we are iterating. - const factsToRetract: { block: BlockNum; factKey: FactKeyStr }[] = []; - for await (const [block, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { - factsToRetract.push({ block, factKey }); + // Snapshot the orphaned fact keys before mutating so we never delete from the cursor we are iterating. + const factKeysToRetract: FactKeyStr[] = []; + for await (const [, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { + factKeysToRetract.push(factKey); } await Promise.all( - factsToRetract.map(async ({ block, factKey }) => { + factKeysToRetract.map(async factKey => { const buf = await this.#facts.getAsync(factKey); if (!buf) { return; } const { fact } = deserializeFact(buf); - const entityKey = fact.entityKey.toString(); - await this.#facts.delete(factKey); - await this.#factsByBlock.deleteValue(block, factKey); - await this.#factsByEntity.deleteValue(entityKey, factKey); + await this.#deleteFact(factKey, fact); }), ); - return factsToRetract.length; + return factKeysToRetract.length; } /** @@ -527,6 +524,19 @@ export class EntityStore implements StagedStore { } } + /** + * Deletes a fact from the primary store and its indexes (`#factsByEntity`, plus `#factsByBlock` if retractable). + * + * Caller must wrap in a transaction. + */ + async #deleteFact(factKey: FactKeyStr, fact: StoredFact): Promise { + await this.#facts.delete(factKey); + await this.#factsByEntity.deleteValue(fact.entityKey.toString(), factKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); + } + } + /** * Deletes an entity from persistent storage. */ @@ -545,11 +555,7 @@ export class EntityStore implements StagedStore { throw new Error(`Fact not found for factKey ${factKey}`); } const { fact } = deserializeFact(buf); - await this.#facts.delete(factKey); - await this.#factsByEntity.deleteValue(entityKey, factKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); - } + await this.#deleteFact(factKey, fact); }), ); const entityBuf = await this.#entities.getAsync(entityKey); From 1f39d9dea730a01f2904bb99589a63453a4e4805 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 12:05:04 +0000 Subject: [PATCH 094/197] change stored entity encoding --- .../__snapshots__/EntityStore.json | 8 ++++---- .../pxe/src/storage/entity_store/stored_entity.ts | 7 +++---- yarn-project/pxe/src/storage/entity_store/stored_fact.ts | 7 +++---- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json index 9c2d33b2a777..fc4543fc57d0 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -2,11 +2,11 @@ "entities": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa00000001000000000000000000000000000000000000000000000000000000000000000500000001000000060000000000000000000000000000000000000000000000000000000000000002" + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa00000001000000000000000000000000000000000000000000000000000000000000000501000000060000000000000000000000000000000000000000000000000000000000000002" }, { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000" + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000" } ], "entities_by_block": [ @@ -18,11 +18,11 @@ "facts": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", - "value": "0000000100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000" + "value": "0000000100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" }, { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", - "value": "0000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000000000001000000050000000000000000000000000000000000000000000000000000000000000001" + "value": "0000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_entity": [ diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts index 0c66e6d2d6d7..0203424d5ba8 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts @@ -20,7 +20,6 @@ export class StoredEntity { } toBuffer(): Buffer { - const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( this.key.contractAddress, this.key.scope, @@ -28,7 +27,7 @@ export class StoredEntity { this.key.entityId, this.body.length, ...this.body, - originBlockTag, + this.originBlock !== undefined, this.originBlock ? this.originBlock.blockNumber : 0, this.originBlock ? this.originBlock.blockHash : Fr.ZERO, ); @@ -42,10 +41,10 @@ export class StoredEntity { const entityId = reader.readObject(Fr); const bodyLen = reader.readNumber(); const body = reader.readArray(bodyLen, Fr); - const originBlockTag = reader.readNumber(); + const hasOriginBlock = reader.readBoolean(); const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); - const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; + const originBlock = hasOriginBlock ? { blockNumber, blockHash } : undefined; return new StoredEntity(new EntityKey(contractAddress, scope, entityTypeId, entityId), [...body], originBlock); } } diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index e69c82c21a7c..be2535dcb510 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -35,7 +35,6 @@ export class StoredFact { } toBuffer(): Buffer { - const originBlockTag = this.originBlock ? 1 : 0; return serializeToBuffer( this.entityKey.contractAddress, this.entityKey.scope, @@ -44,7 +43,7 @@ export class StoredFact { this.factTypeId, this.payload.length, ...this.payload, - originBlockTag, + this.originBlock !== undefined, this.originBlock ? this.originBlock.blockNumber : 0, this.originBlock ? this.originBlock.blockHash : Fr.ZERO, ); @@ -59,10 +58,10 @@ export class StoredFact { const factTypeId = reader.readObject(Fr); const payloadLen = reader.readNumber(); const payload = reader.readArray(payloadLen, Fr); - const originBlockTag = reader.readNumber(); + const hasOriginBlock = reader.readBoolean(); const blockNumber = reader.readNumber(); const blockHash = reader.readObject(Fr); - const originBlock = originBlockTag === 1 ? { blockNumber, blockHash } : undefined; + const originBlock = hasOriginBlock ? { blockNumber, blockHash } : undefined; return new StoredFact( new EntityKey(contractAddress, scope, entityTypeId, entityId), factTypeId, From fe234b3c2f6cdd1143013a210f2257a880dde1ea Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 12:21:46 +0000 Subject: [PATCH 095/197] add logs for defensive cases --- yarn-project/pxe/src/storage/entity_store/entity_store.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 525c85e28161..6992690f6d8d 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -314,6 +314,11 @@ export class EntityStore implements StagedStore { factKeysToRetract.map(async factKey => { const buf = await this.#facts.getAsync(factKey); if (!buf) { + // The by-block index just yielded this factKey, so a missing primary record means the indexes are out of + // sync. Log as this should be unreachable unless there is a bug. + this.logger.warn('Skipping retraction of a fact missing from the primary store: by-block index is stale', { + factKey, + }); return; } const { fact } = deserializeFact(buf); @@ -357,6 +362,9 @@ export class EntityStore implements StagedStore { const buf = bufs[i]; if (buf !== undefined) { entities.set(entityKey, StoredEntity.fromBuffer(buf)); + } else { + // Expected for entities that exist only as staged ops or not at all (staged ops are layered on by the caller). + this.logger.debug('No committed record for entity key; skipping', { entityKey }); } }); return entities; From 0d27ad22b3a67378c3af69458d76ac3b2dfd9877 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 12:42:33 +0000 Subject: [PATCH 096/197] minor tweak --- yarn-project/pxe/src/storage/entity_store/entity_store.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 6992690f6d8d..40b3a2811dd6 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -364,7 +364,7 @@ export class EntityStore implements StagedStore { entities.set(entityKey, StoredEntity.fromBuffer(buf)); } else { // Expected for entities that exist only as staged ops or not at all (staged ops are layered on by the caller). - this.logger.debug('No committed record for entity key; skipping', { entityKey }); + this.logger.debug('No committed record for entity key: skipping', { entityKey }); } }); return entities; From b3a2331198d1d53e067fc6a21d57d96cffce12fc Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 13:30:41 +0000 Subject: [PATCH 097/197] linter --- .../pxe/src/block_synchronizer/block_synchronizer.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index ed51f91e2aab..dabe595fe6f5 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -28,7 +28,7 @@ import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; import { EntityStore } from '../storage/entity_store/entity_store.js'; -import { EntityKey, EntityTypeKey, type OriginBlock } from '../storage/entity_store/entity_store_keys.js'; +import { EntityKey, EntityTypeKey } from '../storage/entity_store/entity_store_keys.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { BlockSynchronizer } from './block_synchronizer.js'; From 391f21ec98e8bf44abe0935d94b208baab3e917d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Fri, 19 Jun 2026 15:10:05 +0000 Subject: [PATCH 098/197] fix ci --- .../pxe/src/block_synchronizer/block_synchronizer.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 3199239960fa..8145909fdfa8 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -806,6 +806,7 @@ describe('BlockSynchronizer', () => { anchorBlockStore, noteStore, privateEventStore, + entityStore, tipsStore, contractSyncService, { syncChainTip: 'proposed' }, From 33b95b5575245f63ebae31e6776c83d5fa6ec958 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 07:23:09 +0000 Subject: [PATCH 099/197] wip --- .../__snapshots__/EntityStore.json | 7 +- .../__snapshots__/opened_stores.json | 4 - .../schema_tests.ts | 1 - .../storage/entity_store/entity_store.test.ts | 150 ++++++------------ .../src/storage/entity_store/entity_store.ts | 53 ++----- .../storage/entity_store/stored_fact.test.ts | 14 +- .../src/storage/entity_store/stored_fact.ts | 15 -- 7 files changed, 70 insertions(+), 174 deletions(-) diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json index fc4543fc57d0..9e3bfd83c4ee 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json @@ -18,11 +18,11 @@ "facts": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", - "value": "0000000100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" }, { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", - "value": "0000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_entity": [ @@ -40,6 +40,5 @@ "key": "num:5", "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" } - ], - "fact_seq": "num:2" + ] } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index ac6cd4f7b6b2..cc8bfb90ad91 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -45,10 +45,6 @@ "name": "events_by_contract_selector", "kind": "multimap" }, - { - "name": "fact_seq", - "kind": "singleton" - }, { "name": "facts", "kind": "map" diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 04139b2db8de..25d573fc39eb 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -240,7 +240,6 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ facts: await snapshotMap(kvStore.openMap('facts')), facts_by_entity: await snapshotMap(kvStore.openMultiMap('facts_by_entity')), facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), - fact_seq: await snapshotSingleton(kvStore.openSingleton('fact_seq')), }), }, diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts index 0ec63701f21a..9a22bbbdbd44 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts @@ -50,29 +50,12 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts.map(f => f.factTypeId)).toEqual([factTypeA, factTypeB]); - }); - - it('returns facts in creation order', async () => { - const payloads = Array.from({ length: 8 }, () => Fr.random()); - await store.createEntity(entityKey1, [], undefined, JOB); - for (const payload of payloads.slice(0, 5)) { - await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB); - } - await kv.transactionAsync(() => store.commit(JOB)); - - // Later facts, committed by a second job, follow the earlier ones. - const JOB2 = 'later-job'; - for (const payload of payloads.slice(5)) { - await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB2); - } - await kv.transactionAsync(() => store.commit(JOB2)); - - const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts.map(f => f.payload[0])).toEqual(payloads); + expect(new Set(facts.map(f => f.factTypeId.toString()))).toEqual( + new Set([factTypeA, factTypeB].map(f => f.toString())), + ); }); - it('staged facts follow committed facts in creation order (read-your-writes)', async () => { + it('a job sees its own staged facts alongside committed ones (read-your-writes)', async () => { const payloads = Array.from({ length: 4 }, () => Fr.random()); await store.createEntity(entityKey1, [], undefined, JOB); await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); @@ -84,7 +67,7 @@ describe('EntityStore', () => { await store.recordFact(entityKey1, factTypeA, [payloads[3]], undefined, JOB2); const { facts } = (await store.getEntity(entityKey1, JOB2))!; - expect(facts.map(f => f.payload[0])).toEqual(payloads); + expect(new Set(facts.map(f => f.payload[0].toString()))).toEqual(new Set(payloads.map(f => f.toString()))); }); it('dedups identical (entity, factType, payload, originBlock) fact records idempotently', async () => { @@ -98,7 +81,7 @@ describe('EntityStore', () => { expect(facts).toHaveLength(1); }); - it('re-recording an identical fact (same origin block) is a no-op keeping its original fact position', async () => { + it('re-recording an identical fact (same origin block) is a no-op', async () => { const blockFiveFact = Fr.random(); const plainFact = Fr.random(); const origin5 = { blockNumber: 5, blockHash: Fr.random() }; @@ -113,8 +96,10 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB2)); const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts.map(f => f.payload[0])).toEqual([blockFiveFact, plainFact]); - expect(facts[0].originBlock?.blockNumber).toBe(5); + expect(new Set(facts.map(f => f.payload[0].toString()))).toEqual( + new Set([blockFiveFact, plainFact].map(f => f.toString())), + ); + expect(facts.find(f => f.payload[0].equals(blockFiveFact))!.originBlock?.blockNumber).toBe(5); }); it('the same payload at a different origin block is a distinct fact', async () => { @@ -125,7 +110,8 @@ describe('EntityStore', () => { await kv.transactionAsync(() => store.commit(JOB)); const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts.map(f => f.originBlock?.blockNumber)).toEqual([5, 10]); + expect(facts).toHaveLength(2); + expect(new Set(facts.map(f => f.originBlock?.blockNumber))).toEqual(new Set([5, 10])); }); it('the same payload at two origin blocks yields independent facts pruned per block', async () => { @@ -156,7 +142,7 @@ describe('EntityStore', () => { expect(entityIdsOf(entities).sort()).toEqual([entityId1, entityId2].sort()); }); - it('getEntities returns each entity complete with body and facts in creation order', async () => { + it('getEntities returns each entity complete with body and facts', async () => { const entityBody = [Fr.random()]; await store.createEntity(entityKey1, entityBody, undefined, JOB); await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); @@ -166,7 +152,9 @@ describe('EntityStore', () => { const entities = await store.getEntities(entityTypeKey, JOB); expect(entities).toHaveLength(1); expect(entities[0].body).toEqual(entityBody); - expect(entities[0].facts.map(f => f.factTypeId)).toEqual([factTypeA, factTypeB]); + expect(new Set(entities[0].facts.map(f => f.factTypeId.toString()))).toEqual( + new Set([factTypeA, factTypeB].map(f => f.toString())), + ); }); it('lists an entity as active even when it has zero facts', async () => { @@ -225,7 +213,9 @@ describe('EntityStore', () => { const { body, facts } = (await store.getEntity(entityKey1, JOB))!; expect(body).toEqual(entityBody); - expect(facts.map(f => f.factTypeId)).toEqual([factTypeA, factTypeB]); + expect(new Set(facts.map(f => f.factTypeId.toString()))).toEqual( + new Set([factTypeA, factTypeB].map(f => f.toString())), + ); }); it('getEntity returns the body and empty facts for an entity with zero facts', async () => { @@ -522,10 +512,14 @@ describe('EntityStore', () => { // Only job 1's fact is committed; job 2 still layers its staged fact on top. expect((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0])).toEqual([payloads[0]]); - expect((await store.getEntity(entityKey1, JOB2))!.facts.map(f => f.payload[0])).toEqual(payloads); + expect(new Set((await store.getEntity(entityKey1, JOB2))!.facts.map(f => f.payload[0].toString()))).toEqual( + new Set(payloads.map(f => f.toString())), + ); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0])).toEqual(payloads); + expect(new Set((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0].toString()))).toEqual( + new Set(payloads.map(f => f.toString())), + ); }); it('a job that has only read still blocks rollback until it is discarded', async () => { @@ -622,76 +616,32 @@ describe('EntityStore', () => { }); }); - describe('creation order', () => { - it('per-entity creation order is preserved when recording interleaves entities', async () => { - const aPayloads = [Fr.random(), Fr.random()]; - const bPayloads = [Fr.random(), Fr.random()]; - await store.createEntity(entityKey1, [], undefined, JOB); - await store.createEntity(entityKey2, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [aPayloads[0]], undefined, JOB); - await store.recordFact(entityKey2, factTypeA, [bPayloads[0]], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [aPayloads[1]], undefined, JOB); - await store.recordFact(entityKey2, factTypeA, [bPayloads[1]], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0])).toEqual(aPayloads); - expect((await store.getEntity(entityKey2, JOB))!.facts.map(f => f.payload[0])).toEqual(bPayloads); - // getEntities returns the same per-entity order. byId keys on bigint, not Fr: object keys compare by reference. - const entities = await store.getEntities(entityTypeKey, JOB); - const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); - expect(byId.get(entityId1.toBigInt())!.map(f => f.payload[0])).toEqual(aPayloads); - expect(byId.get(entityId2.toBigInt())!.map(f => f.payload[0])).toEqual(bPayloads); - }); - - it('creation order is preserved after a prune removes facts from the middle', async () => { - const first = Fr.random(); - const middle = Fr.random(); - const last = Fr.random(); - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [first], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [middle], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [last], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.transactionAsync(() => store.rollback(5)); - - expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0])).toEqual([first, last]); - }); - - it('facts re-recorded after a terminate take fresh creation positions', async () => { - const [p1, p2] = [Fr.random(), Fr.random()]; - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [p1], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [p2], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Terminate wipes the facts; re-recording them in reverse order is a new creation order. - const JOB2 = 'replay-job'; - await store.terminateEntity(entityKey1, JOB2); - await store.createEntity(entityKey1, [], undefined, JOB2); - await store.recordFact(entityKey1, factTypeA, [p2], undefined, JOB2); - await store.recordFact(entityKey1, factTypeA, [p1], undefined, JOB2); - await kv.transactionAsync(() => store.commit(JOB2)); - - expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0])).toEqual([p2, p1]); - }); - - it('creation order continues across store reopens', async () => { - const payloads = Array.from({ length: 4 }, () => Fr.random()); - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payloads[1]], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // A fresh EntityStore over the same kv store continues the persisted sequence instead of restarting it. - const reopened = new EntityStore(kv); - const JOB2 = 'reopened-job'; - await reopened.recordFact(entityKey1, factTypeA, [payloads[2]], undefined, JOB2); - await reopened.recordFact(entityKey1, factTypeA, [payloads[3]], undefined, JOB2); - await kv.transactionAsync(() => reopened.commit(JOB2)); + it('attributes interleaved fact recordings to the correct entity', async () => { + const aPayloads = [Fr.random(), Fr.random()]; + const bPayloads = [Fr.random(), Fr.random()]; + await store.createEntity(entityKey1, [], undefined, JOB); + await store.createEntity(entityKey2, [], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [aPayloads[0]], undefined, JOB); + await store.recordFact(entityKey2, factTypeA, [bPayloads[0]], undefined, JOB); + await store.recordFact(entityKey1, factTypeA, [aPayloads[1]], undefined, JOB); + await store.recordFact(entityKey2, factTypeA, [bPayloads[1]], undefined, JOB); + await kv.transactionAsync(() => store.commit(JOB)); - expect((await reopened.getEntity(entityKey1, JOB2))!.facts.map(f => f.payload[0])).toEqual(payloads); - }); + expect(new Set((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0].toString()))).toEqual( + new Set(aPayloads.map(f => f.toString())), + ); + expect(new Set((await store.getEntity(entityKey2, JOB))!.facts.map(f => f.payload[0].toString()))).toEqual( + new Set(bPayloads.map(f => f.toString())), + ); + // getEntities attributes the same facts to each entity. byId keys on bigint, not Fr: object keys compare by reference. + const entities = await store.getEntities(entityTypeKey, JOB); + const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); + expect(new Set(byId.get(entityId1.toBigInt())!.map(f => f.payload[0].toString()))).toEqual( + new Set(aPayloads.map(f => f.toString())), + ); + expect(new Set(byId.get(entityId2.toBigInt())!.map(f => f.payload[0].toString()))).toEqual( + new Set(bPayloads.map(f => f.toString())), + ); }); describe('rollback boundaries and index hygiene', () => { diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts index 40b3a2811dd6..c6d8884358c6 100644 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ b/yarn-project/pxe/src/storage/entity_store/entity_store.ts @@ -1,12 +1,12 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import { createLogger } from '@aztec/foundation/log'; import { Semaphore } from '@aztec/foundation/queue'; -import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap, AztecAsyncSingleton } from '@aztec/kv-store'; +import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; import type { EntityKey, EntityTypeKey, OriginBlock } from './entity_store_keys.js'; import { StoredEntity } from './stored_entity.js'; -import { type Fact, StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; +import { type Fact, StoredFact, factKeyStrOf } from './stored_fact.js'; type JobId = string; type BlockNum = number; @@ -22,10 +22,10 @@ type EntityKeyStr = string; /** Serialized form of a fact's identity (built by {@link factKeyStrOf}), used as kv-store map keys. */ type FactKeyStr = string; -/** An entity as returned by the store: its key and body, plus its facts in creation order. */ +/** An entity as returned by the store: its key and body, plus its facts. Facts are returned in no particular order. */ export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; -/** Internal auxiliary type to deal with fact ordering and idempotency */ +/** Internal auxiliary type that keys facts by their identity, so re-recording the same fact is idempotent. */ type EntityWithFacts = { key: EntityKey; body: Fr[]; facts: Map }; /** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ @@ -52,8 +52,6 @@ type StagedOp = * Conversely, non-retractable entities and facts survive reorgs. Non-retractable entities must then be explicitly * terminated, so as not to keep consuming resources (storage and compute) indefinitely. * - * Order of facts in an entity is stable, respecting original creation order. - * * This enables Aztec.nr to implement complex workflows such as offchain reception or partial note processing by * storing structured data that is guaranteed to exist conditionally to certain blocks being included in the chain, * while leaving the complexity of ensuring said guarantees to PXE. @@ -84,9 +82,6 @@ export class EntityStore implements StagedStore { /** Index for delete-on-prune of retractable facts (those with an origin block). */ #factsByBlock: AztecAsyncMultiMap; - /** Monotonic counter assigning each newly committed fact its creation-order sequence number. */ - #factSeq: AztecAsyncSingleton; - /** Job uncommitted data */ #opsForJob: Map; @@ -102,7 +97,6 @@ export class EntityStore implements StagedStore { this.#facts = store.openMap('facts'); this.#factsByEntity = store.openMultiMap('facts_by_entity'); this.#factsByBlock = store.openMultiMap('facts_by_block'); - this.#factSeq = store.openSingleton('fact_seq'); this.#opsForJob = new Map(); this.#jobLocks = new Map(); } @@ -148,10 +142,8 @@ export class EntityStore implements StagedStore { * If `originBlock === undefined`, the fact is non-retractable: it survives reorgs. A defined origin block makes the * fact retractable: on a prune below its block, it will be deleted. * - * Facts are returned in creation order by the getEntity and getEntities read methods. - * - * Idempotent: re-recording an identical fact (same entity, fact type, payload, and origin block) is a no-op, - * keeping its creation position. The same payload tied to a different origin block is a distinct fact. + * Idempotent: re-recording an identical fact (same entity, fact type, payload, and origin block) is a no-op. The + * same payload tied to a different origin block is a distinct fact. */ recordFact( entityKey: EntityKey, @@ -207,7 +199,7 @@ export class EntityStore implements StagedStore { } /** - * Returns all active entities of a given type, together with their facts in creation order. + * Returns all active entities of a given type, together with their facts. */ async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { const typeKey = entityTypeKey.toString(); @@ -321,7 +313,7 @@ export class EntityStore implements StagedStore { }); return; } - const { fact } = deserializeFact(buf); + const fact = StoredFact.fromBuffer(buf); await this.#deleteFact(factKey, fact); }), ); @@ -371,7 +363,7 @@ export class EntityStore implements StagedStore { } /** - * Attaches each entity's committed facts (in creation order), returning the entities-with-facts keyed by entity key. + * Attaches each entity's committed facts, returning the entities-with-facts keyed by entity key. * * Reads are not wrapped in a transaction: the caller owns the transaction boundary. */ @@ -384,7 +376,7 @@ export class EntityStore implements StagedStore { } /** - * Loads the committed facts for an entity keyed by their fact key, in creation order. + * Loads the committed facts for an entity keyed by their fact key. * * Caller must wrap in a transaction. */ @@ -400,8 +392,8 @@ export class EntityStore implements StagedStore { const factKeys = [...factReads.keys()]; const bufs = await Promise.all(factReads.values()); - // Await-free tail: deserialize and order. No DB ops from here on. - const loaded: { factKey: FactKeyStr; seq: number; fact: StoredFact }[] = []; + // Await-free tail: deserialize. No DB ops from here on. + const facts = new Map(); for (let i = 0; i < factKeys.length; i++) { const factKey = factKeys[i]; const buf = bufs[i]; @@ -410,14 +402,9 @@ export class EntityStore implements StagedStore { // are corrupt. throw new Error(`Fact not found for factKey ${factKey}`); } - const { seq, fact } = deserializeFact(buf); - loaded.push({ factKey, seq, fact }); + facts.set(factKey, StoredFact.fromBuffer(buf).toFact()); } - - // Multimap value order is backend-dependent (insertion order on IndexedDB, value-sorted on LMDB). We sort by the - // sequence number so facts always come back in creation order without needing to resort to timestamps. - loaded.sort((a, b) => a.seq - b.seq); - return new Map(loaded.map(({ factKey, fact }) => [factKey, fact.toFact()])); + return facts; } /** @@ -491,13 +478,6 @@ export class EntityStore implements StagedStore { return result; } - /** Returns the next fact sequence number, persisting the incremented counter. */ - async #nextFactSeq(): Promise { - const next = ((await this.#factSeq.getAsync()) ?? 0) + 1; - await this.#factSeq.set(next); - return next; - } - /** * Writes a newly created entity to persistent storage. * @@ -524,8 +504,7 @@ export class EntityStore implements StagedStore { this.logger.debug(`Ignoring already recorded fact`, { factKey }); return; } - const seq = await this.#nextFactSeq(); - await this.#facts.set(factKey, serializeFact(seq, fact)); + await this.#facts.set(factKey, fact.toBuffer()); await this.#factsByEntity.set(fact.entityKey.toString(), factKey); if (fact.originBlock !== undefined) { await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); @@ -562,7 +541,7 @@ export class EntityStore implements StagedStore { // corrupt. throw new Error(`Fact not found for factKey ${factKey}`); } - const { fact } = deserializeFact(buf); + const fact = StoredFact.fromBuffer(buf); await this.#deleteFact(factKey, fact); }), ); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts index 02e5e8ac52b1..d67b7639c8a5 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts @@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; import { EntityKey } from './entity_store_keys.js'; -import { StoredFact, deserializeFact, factKeyStrOf, serializeFact } from './stored_fact.js'; +import { StoredFact, factKeyStrOf } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); @@ -59,16 +59,4 @@ describe('StoredFact', () => { expect(a.payloadHash()).not.toEqual(b.payloadHash()); expect(a.payloadHash()).toEqual(c.payloadHash()); }); - - it('round-trips a stored fact with its sequence number', () => { - const fact = new StoredFact(key, factType, [new Fr(9n)], { - blockNumber: 12, - blockHash: new Fr(0xabcn), - }); - for (const seq of [0, 1, 2 ** 32 - 1]) { - const back = deserializeFact(serializeFact(seq, fact)); - expect(back.seq).toBe(seq); - expect(back.fact).toEqual(fact); - } - }); }); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts index be2535dcb510..befa234f4fc8 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/entity_store/stored_fact.ts @@ -78,18 +78,3 @@ export function factKeyStrOf(fact: StoredFact): string { const origin = fact.originBlock ? `${fact.originBlock.blockNumber}:${fact.originBlock.blockHash}` : 'none'; return `${fact.entityKey}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; } - -/** - * Serializes a fact for storage, prefixed with the monotonic sequence number assigned when it was first committed. - */ -export function serializeFact(seq: number, fact: StoredFact): Buffer { - return serializeToBuffer(seq, fact); -} - -/** Deserializes a fact. */ -export function deserializeFact(buffer: Buffer): { seq: number; fact: StoredFact } { - const reader = BufferReader.asReader(buffer); - const seq = reader.readNumber(); - const fact = StoredFact.fromBuffer(reader); - return { seq, fact }; -} From 160015164e0bf24661ba75376354f9e79745536e Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 10:21:17 +0000 Subject: [PATCH 100/197] refactor entity -> fact collection --- .../block_synchronizer.test.ts | 159 ++-- .../block_synchronizer/block_synchronizer.ts | 6 +- yarn-project/pxe/src/pxe.ts | 6 +- .../__snapshots__/EntityStore.json | 44 -- .../__snapshots__/FactStore.json | 54 ++ .../__snapshots__/opened_stores.json | 14 +- .../schema_tests.ts | 47 +- .../storage/entity_store/entity_store.test.ts | 717 ------------------ .../src/storage/entity_store/entity_store.ts | 588 -------------- .../storage/entity_store/entity_store_keys.ts | 48 -- .../pxe/src/storage/entity_store/index.ts | 1 - .../entity_store/stored_entity.test.ts | 38 - .../src/storage/entity_store/stored_entity.ts | 50 -- .../src/storage/fact_store/fact_store.test.ts | 504 ++++++++++++ .../pxe/src/storage/fact_store/fact_store.ts | 531 +++++++++++++ .../src/storage/fact_store/fact_store_keys.ts | 46 ++ .../pxe/src/storage/fact_store/index.ts | 3 + .../stored_fact.test.ts | 21 +- .../stored_fact.ts | 26 +- yarn-project/pxe/src/storage/index.ts | 2 +- .../pxe/src/storage/open_pxe_stores.ts | 6 +- 21 files changed, 1281 insertions(+), 1630 deletions(-) delete mode 100644 yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json create mode 100644 yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json delete mode 100644 yarn-project/pxe/src/storage/entity_store/entity_store.test.ts delete mode 100644 yarn-project/pxe/src/storage/entity_store/entity_store.ts delete mode 100644 yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts delete mode 100644 yarn-project/pxe/src/storage/entity_store/index.ts delete mode 100644 yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts delete mode 100644 yarn-project/pxe/src/storage/entity_store/stored_entity.ts create mode 100644 yarn-project/pxe/src/storage/fact_store/fact_store.test.ts create mode 100644 yarn-project/pxe/src/storage/fact_store/fact_store.ts create mode 100644 yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts create mode 100644 yarn-project/pxe/src/storage/fact_store/index.ts rename yarn-project/pxe/src/storage/{entity_store => fact_store}/stored_fact.test.ts (75%) rename yarn-project/pxe/src/storage/{entity_store => fact_store}/stored_fact.ts (74%) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 8145909fdfa8..5406ef81225c 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -26,8 +26,8 @@ import { type MockProxy, mock } from 'jest-mock-extended'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js'; -import { EntityStore } from '../storage/entity_store/entity_store.js'; -import { EntityKey, EntityTypeKey } from '../storage/entity_store/entity_store_keys.js'; +import { FactStore } from '../storage/fact_store/fact_store.js'; +import { FactCollectionKey, FactCollectionTypeKey } from '../storage/fact_store/fact_store_keys.js'; import { NoteStore } from '../storage/note_store/note_store.js'; import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { BlockSynchronizer } from './block_synchronizer.js'; @@ -45,7 +45,7 @@ describe('BlockSynchronizer', () => { let anchorBlockStore: AnchorBlockStore; let noteStore: NoteStore; let privateEventStore: PrivateEventStore; - let entityStore: EntityStore; + let factStore: FactStore; let aztecNode: MockProxy; let getBlock: NodeGetBlockMock; let blockStream: MockProxy; @@ -64,7 +64,7 @@ describe('BlockSynchronizer', () => { anchorBlockStore, noteStore, privateEventStore, - entityStore, + factStore, tipsStore, contractSyncService, config, @@ -125,7 +125,7 @@ describe('BlockSynchronizer', () => { anchorBlockStore = new AnchorBlockStore(store); noteStore = new NoteStore(store); privateEventStore = new PrivateEventStore(store); - entityStore = new EntityStore(store); + factStore = new FactStore(store); contractSyncService = mock(); synchronizer = createSynchronizer(); }); @@ -325,61 +325,57 @@ describe('BlockSynchronizer', () => { expect(await privateEventStore.eventIdsAtBlock(9)).toEqual([eventId9.toString()]); }); - it('chain-pruned retracts retractable entity at pruned block heights or above', async () => { - const jobId = 'entity-job'; + it('chain-pruned retracts facts at pruned block heights or above, dropping collections left empty', async () => { + const jobId = 'fact-job'; // Block 5 will be the fork point: the prune keeps it and abandons only blocks strictly above it. const lastSurvivingBlock = await L2Block.random(BlockNumber(5)); const contractAddress = await AztecAddress.random(); const scope = await AztecAddress.random(); + const factCollectionTypeId = Fr.random(); + const typeKey = FactCollectionTypeKey.from({ contractAddress, factCollectionTypeId }); - const entityTypeId = Fr.random(); - - const survivingEntityId = Fr.random(); - const survivingEntityKey = EntityKey.from({ + // A collection whose only fact is retractable and anchored to the fork point (block 5): the fork point is kept, + // so the fact and its collection must survive. + const survivingCollectionId = Fr.random(); + const survivingCollectionKey = FactCollectionKey.from({ contractAddress, - scope, - entityTypeId, - entityId: survivingEntityId, + factCollectionTypeId, + factCollectionId: survivingCollectionId, }); - - // A retractable entity originating exactly at the fork point: the fork point is kept, so it must survive. - await entityStore.createEntity( - survivingEntityKey, + await factStore.recordFact( + survivingCollectionKey, + Fr.random(), [Fr.random()], - { - blockNumber: lastSurvivingBlock.number, - blockHash: (await lastSurvivingBlock.hash()).toFr(), - }, + { blockNumber: lastSurvivingBlock.number, blockHash: (await lastSurvivingBlock.hash()).toFr() }, + scope, jobId, ); - const retractedEntityId = Fr.random(); - const retractedEntityKey = EntityKey.from({ - contractAddress: contractAddress, - scope, - entityTypeId, - entityId: retractedEntityId, + // A collection whose only fact is retractable and originates just above the fork (block 6): the prune deletes the + // fact, and the now-empty collection disappears entirely. + const retractedCollectionId = Fr.random(); + const retractedCollectionKey = FactCollectionKey.from({ + contractAddress, + factCollectionTypeId, + factCollectionId: retractedCollectionId, }); - - // A retractable entity originating just above the fork, carrying a non-retractable fact: the prune must delete - // the entity, taking said non-retractable fact with it. - await entityStore.createEntity( - retractedEntityKey, + await factStore.recordFact( + retractedCollectionKey, + Fr.random(), [Fr.random()], { blockNumber: lastSurvivingBlock.number + 1, blockHash: Fr.random() }, + scope, jobId, ); - await entityStore.recordFact(retractedEntityKey, Fr.random(), [Fr.random()], undefined, jobId); - await store.transactionAsync(() => entityStore.commit(jobId)); + await store.transactionAsync(() => factStore.commit(jobId)); - // Both entities must be present before the prune. - expect( - await entityStore.getEntities(EntityTypeKey.from({ contractAddress, scope, entityTypeId }), jobId), - ).toHaveLength(2); - await store.transactionAsync(() => entityStore.commit(jobId)); + // Both collections must be present before the prune. + expect(await factStore.getFactCollectionsByType(typeKey, [scope], jobId)).toHaveLength(2); + // Release the read job so the prune's rollback is not blocked by an in-flight job. + await factStore.discardStaged(jobId); // Some blocks later... const anchorBlock10 = await L2Block.random(BlockNumber(10)); @@ -388,7 +384,7 @@ describe('BlockSynchronizer', () => { // The node serves the fork-point block (number 5), so it becomes the new anchor after the prune. await serveBlock(lastSurvivingBlock); - // Prune back to block 5, dropping block 6 where the retractable entity originates. + // Prune back to block 5, dropping block 6 where the retracted fact originates. await synchronizer.handleBlockStreamEvent({ type: 'chain-pruned', block: await blockId(lastSurvivingBlock), @@ -402,19 +398,16 @@ describe('BlockSynchronizer', () => { }, }); - // Only the fork-point entity survives. The one originating above the fork is gone. - const entities = await entityStore.getEntities( - EntityTypeKey.from({ contractAddress, scope, entityTypeId }), - jobId, - ); - expect(entities).toHaveLength(1); - expect(entities[0].key.entityId.equals(survivingEntityId)).toBe(true); - expect(await entityStore.getEntity(retractedEntityKey, jobId)).toBeUndefined(); - expect((await entityStore.getEntity(survivingEntityKey, jobId))!.facts).toHaveLength(0); + // Only the fork-point collection survives. The one whose sole fact originated above the fork is gone. + const collections = await factStore.getFactCollectionsByType(typeKey, [scope], jobId); + expect(collections).toHaveLength(1); + expect(collections[0].key.factCollectionId.equals(survivingCollectionId)).toBe(true); + expect(await factStore.getFactCollection(retractedCollectionKey, [scope], jobId)).toBeUndefined(); + expect((await factStore.getFactCollection(survivingCollectionKey, [scope], jobId))!.facts).toHaveLength(1); }); - it('chain-pruned keeps a non-retractable entity and its facts up to the fork point, deleting only those above it', async () => { - const jobId = 'entity-job'; + it('chain-pruned keeps a collection and its facts up to the fork point, deleting only those above it', async () => { + const jobId = 'fact-job'; // Block 5 is the fork point: the prune keeps it and abandons only blocks strictly above it. const lastSurvivingBlock = await L2Block.random(BlockNumber(5)); @@ -422,45 +415,42 @@ describe('BlockSynchronizer', () => { const contractAddress = await AztecAddress.random(); const scope = await AztecAddress.random(); - const entityTypeId = Fr.random(); - const entityId = Fr.random(); + const factCollectionTypeId = Fr.random(); + const factCollectionId = Fr.random(); const retractedFactType = Fr.random(); const forkPointFactType = Fr.random(); const nonRetractableFactType = Fr.random(); - const entityKey = EntityKey.from({ contractAddress, scope, entityTypeId, entityId }); + const typeKey = FactCollectionTypeKey.from({ contractAddress, factCollectionTypeId }); + const collectionKey = FactCollectionKey.from({ contractAddress, factCollectionTypeId, factCollectionId }); - // A non-retractable entity carrying three facts: a non-retractable one, a retractable one anchored to the fork - // point (block 5), and a retractable one originating just above it (block 6). The prune must keep the entity, its + // A collection carrying three facts: a non-retractable one, a retractable one anchored to the fork point (block + // 5), and a retractable one originating just above it (block 6). The prune must keep the collection, its // non-retractable fact, and the fork-point fact, deleting only the orphaned fact. - await entityStore.createEntity(entityKey, [Fr.random()], undefined, jobId); - await entityStore.recordFact(entityKey, nonRetractableFactType, [Fr.random()], undefined, jobId); - await entityStore.recordFact( - entityKey, + await factStore.recordFact(collectionKey, nonRetractableFactType, [Fr.random()], undefined, scope, jobId); + await factStore.recordFact( + collectionKey, forkPointFactType, [], - { - blockNumber: lastSurvivingBlock.number, - blockHash: (await lastSurvivingBlock.hash()).toFr(), - }, + { blockNumber: lastSurvivingBlock.number, blockHash: (await lastSurvivingBlock.hash()).toFr() }, + scope, jobId, ); - await entityStore.recordFact( - entityKey, + await factStore.recordFact( + collectionKey, retractedFactType, [], { blockNumber: lastSurvivingBlock.number + 1, blockHash: Fr.random() }, + scope, jobId, ); - await store.transactionAsync(() => entityStore.commit(jobId)); + await store.transactionAsync(() => factStore.commit(jobId)); - // The entity and all three facts must be present before the prune. - expect( - await entityStore.getEntities(EntityTypeKey.from({ contractAddress, scope, entityTypeId }), jobId), - ).toHaveLength(1); - expect((await entityStore.getEntity(entityKey, jobId))!.facts).toHaveLength(3); - - await store.transactionAsync(() => entityStore.commit(jobId)); + // The collection and all three facts must be present before the prune. + expect(await factStore.getFactCollectionsByType(typeKey, [scope], jobId)).toHaveLength(1); + expect((await factStore.getFactCollection(collectionKey, [scope], jobId))!.facts).toHaveLength(3); + // Release the read job so the prune's rollback is not blocked by an in-flight job. + await factStore.discardStaged(jobId); // Some blocks later... const anchorBlock10 = await L2Block.random(BlockNumber(10)); @@ -483,16 +473,15 @@ describe('BlockSynchronizer', () => { }, }); - // The non-retractable entity survives, keeping its non-retractable fact and the fork-point fact. Only the fact - // originating above the fork is gone. - const entities = await entityStore.getEntities( - EntityTypeKey.from({ contractAddress: contractAddress, scope, entityTypeId }), - jobId, - ); - expect(entities).toHaveLength(1); - expect(entities[0].key.entityId.equals(entityId)).toBe(true); + // The collection survives, keeping its non-retractable fact and the fork-point fact. Only the fact originating + // above the fork is gone. + const collections = await factStore.getFactCollectionsByType(typeKey, [scope], jobId); + expect(collections).toHaveLength(1); + expect(collections[0].key.factCollectionId.equals(factCollectionId)).toBe(true); - const remainingFactTypes = (await entityStore.getEntity(entityKey, jobId))!.facts.map(fact => fact.factTypeId); + const remainingFactTypes = (await factStore.getFactCollection(collectionKey, [scope], jobId))!.facts.map( + fact => fact.factTypeId, + ); expect(remainingFactTypes).toHaveLength(2); expect(remainingFactTypes.some(factType => factType.equals(nonRetractableFactType))).toBe(true); expect(remainingFactTypes.some(factType => factType.equals(forkPointFactType))).toBe(true); @@ -806,7 +795,7 @@ describe('BlockSynchronizer', () => { anchorBlockStore, noteStore, privateEventStore, - entityStore, + factStore, tipsStore, contractSyncService, { syncChainTip: 'proposed' }, diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts index 50e1310475a5..5675dee647ec 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.ts @@ -10,7 +10,7 @@ import type { BlockHeader } from '@aztec/stdlib/tx'; import type { BlockSynchronizerConfig } from '../config/index.js'; import type { ContractSyncService } from '../contract_sync/contract_sync_service.js'; import type { AnchorBlockStore } from '../storage/anchor_block_store/index.js'; -import type { EntityStore } from '../storage/entity_store/entity_store.js'; +import type { FactStore } from '../storage/fact_store/fact_store.js'; import type { NoteStore } from '../storage/note_store/index.js'; import type { PrivateEventStore } from '../storage/private_event_store/private_event_store.js'; import { blockStreamSourceFromAztecNode } from './block_stream_source.js'; @@ -32,7 +32,7 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler { private readonly anchorBlockStore: AnchorBlockStore, private readonly noteStore: NoteStore, private readonly privateEventStore: PrivateEventStore, - private readonly entityStore: EntityStore, + private readonly factStore: FactStore, private readonly l2TipsStore: L2TipsKVStore, private readonly contractSyncService: ContractSyncService, private readonly config: Partial = {}, @@ -154,7 +154,7 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler { await this.store.transactionAsync(async () => { await this.noteStore.rollback(event.block.number); await this.privateEventStore.rollback(event.block.number); - await this.entityStore.rollback(event.block.number); + await this.factStore.rollback(event.block.number); await this.updateAnchorBlockHeader(newAnchorBlockHeader); }); break; diff --git a/yarn-project/pxe/src/pxe.ts b/yarn-project/pxe/src/pxe.ts index 9b90c209e335..2a3c5b80d5f5 100644 --- a/yarn-project/pxe/src/pxe.ts +++ b/yarn-project/pxe/src/pxe.ts @@ -274,7 +274,7 @@ export class PXE { capsuleStore, keyStore, l2TipsStore, - entityStore, + factStore, } = openPxeStores(store, initialBlockHash); const contractSyncService = new ContractSyncService( node, @@ -290,7 +290,7 @@ export class PXE { anchorBlockStore, noteStore, privateEventStore, - entityStore, + factStore, l2TipsStore, contractSyncService, config, @@ -304,7 +304,7 @@ export class PXE { recipientTaggingStore, privateEventStore, noteStore, - entityStore, + factStore, contractSyncService, ]); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json deleted file mode 100644 index 9e3bfd83c4ee..000000000000 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/EntityStore.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "entities": [ - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa00000001000000000000000000000000000000000000000000000000000000000000000501000000060000000000000000000000000000000000000000000000000000000000000002" - }, - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000" - } - ], - "entities_by_block": [ - { - "key": "num:6", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa" - } - ], - "facts": [ - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", - "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" - } - ], - "facts_by_entity": [ - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none" - }, - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" - } - ], - "facts_by_block": [ - { - "key": "num:5", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" - } - ] -} diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json new file mode 100644 index 000000000000..5686d77632ab --- /dev/null +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json @@ -0,0 +1,54 @@ +{ + "facts": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002", + "value": "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa000000000000000000000000000000000000000000000000000000000000000300000001000000000000000000000000000000000000000000000000000000000000000501000000060000000000000000000000000000000000000000000000000000000000000002" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", + "value": "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", + "value": "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" + } + ], + "facts_by_collection": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" + } + ], + "scopes_by_fact": [ + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000001" + } + ], + "facts_by_block": [ + { + "key": "num:5", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "num:6", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002" + } + ] +} diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index cc8bfb90ad91..af597e41e83b 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -29,14 +29,6 @@ "name": "contracts_instances", "kind": "map" }, - { - "name": "entities", - "kind": "map" - }, - { - "name": "entities_by_block", - "kind": "multimap" - }, { "name": "events_by_block_number", "kind": "multimap" @@ -54,7 +46,7 @@ "kind": "multimap" }, { - "name": "facts_by_entity", + "name": "facts_by_collection", "kind": "multimap" }, { @@ -116,6 +108,10 @@ { "name": "pxe_l2_tips", "kind": "map" + }, + { + "name": "scopes_by_fact", + "kind": "multimap" } ] } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 25d573fc39eb..09a6e5597c58 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -39,8 +39,8 @@ import { AddressStore } from '../address_store/address_store.js'; import { AnchorBlockStore } from '../anchor_block_store/index.js'; import { CapsuleStore } from '../capsule_store/capsule_store.js'; import { ContractStore } from '../contract_store/contract_store.js'; -import { EntityStore } from '../entity_store/entity_store.js'; -import { EntityKey } from '../entity_store/entity_store_keys.js'; +import { FactStore } from '../fact_store/fact_store.js'; +import { FactCollectionKey } from '../fact_store/fact_store_keys.js'; import { NoteStore } from '../note_store/note_store.js'; import { PrivateEventStore } from '../private_event_store/private_event_store.js'; import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '../tagging_store/index.js'; @@ -217,28 +217,41 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ }, { - name: 'EntityStore', + name: 'FactStore', writeToStore: async kvStore => { - const entityStore = new EntityStore(kvStore); + const factStore = new FactStore(kvStore); const jobId = 'fixture-job'; const contract = AztecAddress.fromBigInt(100n); const scope = AztecAddress.fromBigInt(1n); - const entityTypeId = new Fr(7n); - const keyA = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xaan) }); - const keyB = EntityKey.from({ contractAddress: contract, scope, entityTypeId, entityId: new Fr(0xbbn) }); - // Retractable entity (origin block 6): the entity and all its facts are pruned on a reorg above block 6. - await entityStore.createEntity(keyA, [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId); - // Non-retractable entity carrying a body, with a non-retractable and a retractable fact. - await entityStore.createEntity(keyB, [new Fr(8n)], undefined, jobId); - await entityStore.recordFact(keyB, new Fr(1n), [new Fr(9n)], undefined, jobId); - await entityStore.recordFact(keyB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, jobId); - await kvStore.transactionAsync(() => entityStore.commit(jobId)); + const factCollectionTypeId = new Fr(7n); + const keyA = FactCollectionKey.from({ + contractAddress: contract, + factCollectionTypeId, + factCollectionId: new Fr(0xaan), + }); + const keyB = FactCollectionKey.from({ + contractAddress: contract, + factCollectionTypeId, + factCollectionId: new Fr(0xbbn), + }); + // A collection whose only fact is retractable (origin block 6): pruned on a reorg above block 6. + await factStore.recordFact( + keyA, + new Fr(3n), + [new Fr(5n)], + { blockNumber: 6, blockHash: new Fr(2n) }, + scope, + jobId, + ); + // A collection with a non-retractable and a retractable fact. + await factStore.recordFact(keyB, new Fr(1n), [new Fr(9n)], undefined, scope, jobId); + await factStore.recordFact(keyB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, scope, jobId); + await kvStore.transactionAsync(() => factStore.commit(jobId)); }, snapshotStore: async kvStore => ({ - entities: await snapshotMap(kvStore.openMap('entities')), - entities_by_block: await snapshotMap(kvStore.openMultiMap('entities_by_block')), facts: await snapshotMap(kvStore.openMap('facts')), - facts_by_entity: await snapshotMap(kvStore.openMultiMap('facts_by_entity')), + facts_by_collection: await snapshotMap(kvStore.openMultiMap('facts_by_collection')), + scopes_by_fact: await snapshotMap(kvStore.openMultiMap('scopes_by_fact')), facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), }), }, diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts deleted file mode 100644 index 9a22bbbdbd44..000000000000 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.test.ts +++ /dev/null @@ -1,717 +0,0 @@ -import { Fr } from '@aztec/foundation/curves/bn254'; -import type { AztecAsyncKVStore } from '@aztec/kv-store'; -import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; -import { AztecAddress } from '@aztec/stdlib/aztec-address'; - -import { EntityStore } from './entity_store.js'; -import { EntityKey, EntityTypeKey } from './entity_store_keys.js'; - -describe('EntityStore', () => { - let contract: AztecAddress; - let scope: AztecAddress; - let entityTypeId: Fr; - let factTypeA: Fr; - let factTypeB: Fr; - let entityId1: Fr; - let entityId2: Fr; - let entityKey1: EntityKey; - let entityKey2: EntityKey; - let entityTypeKey: EntityTypeKey; - const JOB = 'fact-store-test-job'; - - let kv: AztecAsyncKVStore; - let store: EntityStore; - - beforeEach(async () => { - contract = await AztecAddress.random(); - scope = await AztecAddress.random(); - entityTypeId = Fr.random(); - factTypeA = Fr.random(); - factTypeB = Fr.random(); - entityId1 = Fr.random(); - entityId2 = Fr.random(); - entityKey1 = EntityKey.from({ contractAddress: contract, scope, entityTypeId: entityTypeId, entityId: entityId1 }); - entityKey2 = EntityKey.from({ contractAddress: contract, scope, entityTypeId: entityTypeId, entityId: entityId2 }); - entityTypeKey = EntityTypeKey.from({ contractAddress: contract, scope, entityTypeId: entityTypeId }); - - kv = await openTmpStore('fact-store-test'); - store = new EntityStore(kv); - }); - afterEach(async () => { - await kv.close(); - }); - - const entityIdsOf = (entities: { key: EntityKey }[]) => entities.map(e => e.key.entityId); - - it('records facts and loads an entity fact set after commit', async () => { - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(new Set(facts.map(f => f.factTypeId.toString()))).toEqual( - new Set([factTypeA, factTypeB].map(f => f.toString())), - ); - }); - - it('a job sees its own staged facts alongside committed ones (read-your-writes)', async () => { - const payloads = Array.from({ length: 4 }, () => Fr.random()); - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payloads[1]], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const JOB2 = 'staged-job'; - await store.recordFact(entityKey1, factTypeA, [payloads[2]], undefined, JOB2); - await store.recordFact(entityKey1, factTypeA, [payloads[3]], undefined, JOB2); - - const { facts } = (await store.getEntity(entityKey1, JOB2))!; - expect(new Set(facts.map(f => f.payload[0].toString()))).toEqual(new Set(payloads.map(f => f.toString()))); - }); - - it('dedups identical (entity, factType, payload, originBlock) fact records idempotently', async () => { - const payload = Fr.random(); - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payload], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts).toHaveLength(1); - }); - - it('re-recording an identical fact (same origin block) is a no-op', async () => { - const blockFiveFact = Fr.random(); - const plainFact = Fr.random(); - const origin5 = { blockNumber: 5, blockHash: Fr.random() }; - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [blockFiveFact], origin5, JOB); - await store.recordFact(entityKey1, factTypeA, [plainFact], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Re-recording the block-5 fact verbatim in a later job is a no-op. - const JOB2 = 'rerecord-job'; - await store.recordFact(entityKey1, factTypeA, [blockFiveFact], origin5, JOB2); - await kv.transactionAsync(() => store.commit(JOB2)); - - const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(new Set(facts.map(f => f.payload[0].toString()))).toEqual( - new Set([blockFiveFact, plainFact].map(f => f.toString())), - ); - expect(facts.find(f => f.payload[0].equals(blockFiveFact))!.originBlock?.blockNumber).toBe(5); - }); - - it('the same payload at a different origin block is a distinct fact', async () => { - const payload = Fr.random(); - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts).toHaveLength(2); - expect(new Set(facts.map(f => f.originBlock?.blockNumber))).toEqual(new Set([5, 10])); - }); - - it('the same payload at two origin blocks yields independent facts pruned per block', async () => { - const payload = Fr.random(); - await store.createEntity(entityKey1, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Prune above block 7: the block-10 derivation is deleted, the block-5 one survives. - await kv.transactionAsync(() => store.rollback(7)); - expect((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.originBlock?.blockNumber)).toEqual([5]); - await store.discardStaged(JOB); // discard job so the next rollback isn't blocked - - // Prune above block 4: the block-5 derivation is deleted too. - await kv.transactionAsync(() => store.rollback(4)); - expect((await store.getEntity(entityKey1, JOB))!.facts).toHaveLength(0); - }); - - it('enumerates active entities (created and not terminated) for a scope', async () => { - await store.createEntity(entityKey1, [], undefined, JOB); - await store.createEntity(entityKey2, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey2, factTypeA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const entities = await store.getEntities(entityTypeKey, JOB); - expect(entityIdsOf(entities).sort()).toEqual([entityId1, entityId2].sort()); - }); - - it('getEntities returns each entity complete with body and facts', async () => { - const entityBody = [Fr.random()]; - await store.createEntity(entityKey1, entityBody, undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeB, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const entities = await store.getEntities(entityTypeKey, JOB); - expect(entities).toHaveLength(1); - expect(entities[0].body).toEqual(entityBody); - expect(new Set(entities[0].facts.map(f => f.factTypeId.toString()))).toEqual( - new Set([factTypeA, factTypeB].map(f => f.toString())), - ); - }); - - it('lists an entity as active even when it has zero facts', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const entities = await store.getEntities(entityTypeKey, JOB); - expect(entityIdsOf(entities)).toEqual([entityId1]); - expect(entities[0].facts).toHaveLength(0); - }); - - it('createEntity is a no-op for an entity already staged in the same job (first write wins)', async () => { - const firstBody = [Fr.random()]; - await store.createEntity(entityKey1, firstBody, undefined, JOB); - // A second create for the same key neither throws nor overwrites the first. - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - - expect((await store.getEntity(entityKey1, JOB))!.body).toEqual(firstBody); - }); - - it('createEntity is a no-op for an already committed entity, preserving its facts (first write wins)', async () => { - const firstBody = [Fr.random()]; - await store.createEntity(entityKey1, firstBody, undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Re-creating the committed entity with a different body neither throws nor replaces it, and leaves its facts intact. - await store.createEntity(entityKey1, [Fr.random()], undefined, 'recreate-job'); - await kv.transactionAsync(() => store.commit('recreate-job')); - - const { body, facts } = (await store.getEntity(entityKey1, 'reader'))!; - expect(body).toEqual(firstBody); - expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); - }); - - it("reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - - // Same job, before commit: the staged entity is active and its fact is visible. - const { facts } = (await store.getEntity(entityKey1, JOB))!; - expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); - - // A different job does not see the uncommitted write. - expect(await store.getEntity(entityKey1, 'other-job')).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, 'other-job')).toHaveLength(0); - }); - - it('getEntity returns the body and both facts of an entity with facts', async () => { - const entityBody = [Fr.random(), Fr.random()]; - await store.createEntity(entityKey1, entityBody, undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const { body, facts } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(entityBody); - expect(new Set(facts.map(f => f.factTypeId.toString()))).toEqual( - new Set([factTypeA, factTypeB].map(f => f.toString())), - ); - }); - - it('getEntity returns the body and empty facts for an entity with zero facts', async () => { - const entityBody = [Fr.random()]; - await store.createEntity(entityKey1, entityBody, undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const { body, facts } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(entityBody); - expect(facts).toHaveLength(0); - }); - - it('getEntity returns undefined when no entity record exists', async () => { - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - }); - - it("getEntity reflects a job's own staged createEntity before commit (read-your-writes)", async () => { - const entityBody = [Fr.random()]; - await store.createEntity(entityKey1, entityBody, undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - - const { body, facts } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(entityBody); - expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); - - // A different job does not see the uncommitted write. - expect(await store.getEntity(entityKey1, 'other-job')).toBeUndefined(); - }); - - it('hides an entity from its own job after a staged terminate, even over committed facts', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // A later job stages a terminate; within that job the entity reads as gone, while other jobs still see it - // committed until the terminate commits. - const TERM = 'terminate-job'; - await store.terminateEntity(entityKey1, TERM); - - expect(await store.getEntity(entityKey1, TERM)).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, TERM)).toHaveLength(0); - expect((await store.getEntity(entityKey1, 'reader'))!.facts).toHaveLength(1); - }); - - it('terminateEntity rejects a non-existent entity', async () => { - await expect(store.terminateEntity(entityKey1, JOB)).rejects.toThrow('non-existent entity'); - }); - - it('terminateEntity rejects an entity already terminated earlier in the same job', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const TERM = 'terminate-job'; - await store.terminateEntity(entityKey1, TERM); - await expect(store.terminateEntity(entityKey1, TERM)).rejects.toThrow('non-existent entity'); - }); - - it('terminateEntity deletes the entity record, all its facts, and drops it from active enumeration', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.createEntity(entityKey2, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey2, factTypeA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const TERM = 'terminate-job'; - await store.terminateEntity(entityKey1, TERM); - await kv.transactionAsync(() => store.commit(TERM)); - - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId2]); - // The neighbouring entity is untouched. - expect((await store.getEntity(entityKey2, JOB))!.facts).toHaveLength(1); - }); - - it('rollback deletes a retractable entity completely (body + every fact) above the target block', async () => { - // Retractable entity originating at block 6, owning one fact without an origin block and one with. - await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.transactionAsync(() => store.rollback(5)); - - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); - }); - - it('rollback keeps a non-retractable entity, pruning only its retractable facts', async () => { - // Non-retractable entity (no origin block) with a non-retractable fact + a fact originating at block 6. - const entityBody = [Fr.random()]; - await store.createEntity(entityKey1, entityBody, undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.transactionAsync(() => store.rollback(5)); - - const { body, facts } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(entityBody); - expect(facts.map(f => f.factTypeId)).toEqual([factTypeA]); - // Entity stays active because the entity record survives. - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); - }); - - it('rollback above all origin blocks is a no-op', async () => { - const entityBody = [Fr.random()]; - await store.createEntity(entityKey1, entityBody, { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeB, [], { blockNumber: 7, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.transactionAsync(() => store.rollback(10)); - - const { body, facts } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(entityBody); - expect(facts.map(f => f.factTypeId)).toEqual([factTypeB]); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); - }); - - it('replacing an entity requires an explicit terminate-then-create', async () => { - const replacementBody = [Fr.random()]; - await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // A plain re-create is a no-op (first write wins); terminate-then-create is the supported way to replace the entity. - const JOB2 = 'replace-job'; - await store.terminateEntity(entityKey1, JOB2); - await store.createEntity(entityKey1, replacementBody, undefined, JOB2); - await kv.transactionAsync(() => store.commit(JOB2)); - - await kv.transactionAsync(() => store.rollback(5)); - - // Survived: the replacement entity is non-retractable. - const { body } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(replacementBody); - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB))).toEqual([entityId1]); - }); - - it('rollback throws while a job has staged writes', async () => { - await store.createEntity(entityKey1, [], undefined, 'uncommitted-job'); - await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( - 'PXE entity store rollback is not allowed while jobs are running', - ); - await store.discardStaged('uncommitted-job'); - await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); - }); - - describe('staged op ordering', () => { - it('a terminate-then-create sequence resolves to the re-created entity', async () => { - const recreatedBody = [Fr.random()]; - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const JOB2 = 'replace-job'; - await store.terminateEntity(entityKey1, JOB2); - await store.createEntity(entityKey1, recreatedBody, undefined, JOB2); - - // Staged view: the re-created entity, with the terminate having wiped the committed fact. - const staged = (await store.getEntity(entityKey1, JOB2))!; - expect(staged.body).toEqual(recreatedBody); - expect(staged.facts).toHaveLength(0); - const stagedEntities = await store.getEntities(entityTypeKey, JOB2); - expect(stagedEntities).toHaveLength(1); - expect(stagedEntities[0].body).toEqual(recreatedBody); - expect(stagedEntities[0].facts).toHaveLength(0); - - // The committed view matches the staged view. - await kv.transactionAsync(() => store.commit(JOB2)); - const committed = (await store.getEntity(entityKey1, 'reader'))!; - expect(committed.body).toEqual(recreatedBody); - expect(committed.facts).toHaveLength(0); - }); - - it('a terminate-then-record sequence rejects the record: the entity no longer exists', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // The staged terminate removes the entity from the job's view, so recording against it is rejected. Replaying a - // re-recorded fact onto a re-created entity is covered by 'facts re-recorded after a terminate ...'. - const JOB2 = 'rerecord-job'; - await store.terminateEntity(entityKey1, JOB2); - await expect(store.recordFact(entityKey1, factTypeB, [Fr.random()], undefined, JOB2)).rejects.toThrow( - 'non-existent entity', - ); - }); - - it('a create-then-terminate sequence leaves the entity deleted', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.terminateEntity(entityKey1, JOB); - - // Staged view: gone. - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); - - // Committed view: gone too, and no index residue blocks a later rollback. - await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); - await store.discardStaged('reader'); // discard job so the rollback isn't blocked - await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); - }); - - it('a staged create-then-terminate makes the entity non-existent to later ops in the same job', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.terminateEntity(entityKey1, JOB); - - await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( - 'non-existent entity', - ); - await expect(store.terminateEntity(entityKey1, JOB)).rejects.toThrow('non-existent entity'); - - // Committing the create-then-terminate pair persists nothing. - await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); - }); - - it('a staged create-then-terminate drops a committed entity for later ops in the same job', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const JOB2 = 'recreate-then-terminate-job'; - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); - await store.terminateEntity(entityKey1, JOB2); - - await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2)).rejects.toThrow( - 'non-existent entity', - ); - await expect(store.terminateEntity(entityKey1, JOB2)).rejects.toThrow('non-existent entity'); - - // Committing JOB2 removes the previously committed entity. - await kv.transactionAsync(() => store.commit(JOB2)); - expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); - }); - - it('repeated staged creates followed by a single terminate leave the entity non-existent', async () => { - // The idea of this test is to cover entity creation idempotency - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.terminateEntity(entityKey1, JOB); - - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( - 'non-existent entity', - ); - await expect(store.terminateEntity(entityKey1, JOB)).rejects.toThrow('non-existent entity'); - - // Committing the collapsed creates plus the terminate persists nothing. - await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getEntity(entityKey1, 'reader')).toBeUndefined(); - expect(await store.getEntities(entityTypeKey, 'reader')).toHaveLength(0); - }); - - it('a staged terminate-then-create makes a committed entity exist again for later ops in the same job', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const JOB2 = 'recreate-job'; - await store.terminateEntity(entityKey1, JOB2); - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); - - await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2)).resolves.not.toThrow(); - await expect(store.terminateEntity(entityKey1, JOB2)).resolves.not.toThrow(); - }); - - it('recording a fact before its entity is created in the same job is rejected', async () => { - await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( - 'non-existent entity', - ); - - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - const staged = await store.getEntities(entityTypeKey, JOB); - expect(staged).toHaveLength(1); - expect(staged[0].facts.map(f => f.factTypeId)).toEqual([factTypeA]); - }); - }); - - describe('cross-job behavior', () => { - it("commit persists only the given job's ops", async () => { - const payloads = [Fr.random(), Fr.random()]; - await store.createEntity(entityKey1, [], undefined, 'setup-job'); - await kv.transactionAsync(() => store.commit('setup-job')); - - const JOB2 = 'second-job'; - await store.recordFact(entityKey1, factTypeA, [payloads[0]], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [payloads[1]], undefined, JOB2); - await kv.transactionAsync(() => store.commit(JOB)); - - // Only job 1's fact is committed; job 2 still layers its staged fact on top. - expect((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0])).toEqual([payloads[0]]); - expect(new Set((await store.getEntity(entityKey1, JOB2))!.facts.map(f => f.payload[0].toString()))).toEqual( - new Set(payloads.map(f => f.toString())), - ); - - await kv.transactionAsync(() => store.commit(JOB2)); - expect(new Set((await store.getEntity(entityKey1, 'reader'))!.facts.map(f => f.payload[0].toString()))).toEqual( - new Set(payloads.map(f => f.toString())), - ); - }); - - it('a job that has only read still blocks rollback until it is discarded', async () => { - await store.getEntity(entityKey1, 'reader-job'); - await store.getEntities(entityTypeKey, 'reader-job'); - // A rollback is refused until the job finishes. - await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( - 'PXE entity store rollback is not allowed while jobs are running', - ); - - await store.discardStaged('reader-job'); - await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); - }); - - it('a createEntity racing another job to the same key resolves first commit wins', async () => { - // The staging path inspects only the calling job's ops plus committed state, so two jobs can both stage a create - // for the same key without seeing each other. On commit the first to land wins; the second is a silent no-op. - const JOB2 = 'racing-job'; - const firstBody = [Fr.random()]; - await store.createEntity(entityKey1, firstBody, undefined, JOB); - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB2); - - await kv.transactionAsync(() => store.commit(JOB)); - await expect(kv.transactionAsync(() => store.commit(JOB2))).resolves.not.toThrow(); - - expect((await store.getEntity(entityKey1, 'reader'))!.body).toEqual(firstBody); - }); - - it('discardStaged drops staged writes without touching committed state', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const JOB2 = 'discarded-job'; - await store.createEntity(entityKey2, [Fr.random()], undefined, JOB2); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2); - await store.discardStaged(JOB2); - - // The discarded writes are gone from the job's own view, and committing the job persists nothing. - expect(entityIdsOf(await store.getEntities(entityTypeKey, JOB2))).toEqual([entityId1]); - await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getEntity(entityKey1, 'reader'))!.facts).toHaveLength(0); - expect(await store.getEntity(entityKey2, 'reader')).toBeUndefined(); - }); - }); - - describe('isolation', () => { - it('entities under different scopes are isolated', async () => { - const scope2 = await AztecAddress.random(); - const keyScope2 = EntityKey.from({ ...entityKey1, scope: scope2 }); - const bodyA = [Fr.random()]; - const bodyScope2 = [Fr.random()]; - await store.createEntity(entityKey1, bodyA, undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - await store.createEntity(keyScope2, bodyScope2, undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Same contract, type and entity id, but each scope only sees its own entity. - expect((await store.getEntity(entityKey1, JOB))!.body).toEqual(bodyA); - expect((await store.getEntity(keyScope2, JOB))!.body).toEqual(bodyScope2); - expect((await store.getEntity(keyScope2, JOB))!.facts).toHaveLength(0); - expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); - - // Terminating in one scope leaves the other untouched. - const TERM = 'terminate-job'; - await store.terminateEntity(entityKey1, TERM); - await kv.transactionAsync(() => store.commit(TERM)); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); - expect(await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, scope: scope2 }), JOB)).toHaveLength(1); - }); - - it('entities under different contracts and entity types are isolated', async () => { - const contract2 = await AztecAddress.random(); - const ENTITY2 = Fr.random(); - const bodyInScope = [Fr.random()]; - await store.createEntity(entityKey1, bodyInScope, undefined, JOB); - await store.createEntity( - EntityKey.from({ ...entityKey1, contractAddress: contract2 }), - [Fr.random()], - undefined, - JOB, - ); - await store.createEntity(EntityKey.from({ ...entityKey1, entityTypeId: ENTITY2 }), [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const inScope = await store.getEntities(entityTypeKey, JOB); - expect(inScope).toHaveLength(1); - expect(inScope[0].body).toEqual(bodyInScope); - expect( - await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, contractAddress: contract2 }), JOB), - ).toHaveLength(1); - expect( - await store.getEntities(EntityTypeKey.from({ ...entityTypeKey, entityTypeId: ENTITY2 }), JOB), - ).toHaveLength(1); - }); - }); - - it('attributes interleaved fact recordings to the correct entity', async () => { - const aPayloads = [Fr.random(), Fr.random()]; - const bPayloads = [Fr.random(), Fr.random()]; - await store.createEntity(entityKey1, [], undefined, JOB); - await store.createEntity(entityKey2, [], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [aPayloads[0]], undefined, JOB); - await store.recordFact(entityKey2, factTypeA, [bPayloads[0]], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [aPayloads[1]], undefined, JOB); - await store.recordFact(entityKey2, factTypeA, [bPayloads[1]], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - expect(new Set((await store.getEntity(entityKey1, JOB))!.facts.map(f => f.payload[0].toString()))).toEqual( - new Set(aPayloads.map(f => f.toString())), - ); - expect(new Set((await store.getEntity(entityKey2, JOB))!.facts.map(f => f.payload[0].toString()))).toEqual( - new Set(bPayloads.map(f => f.toString())), - ); - // getEntities attributes the same facts to each entity. byId keys on bigint, not Fr: object keys compare by reference. - const entities = await store.getEntities(entityTypeKey, JOB); - const byId = new Map(entities.map(e => [e.key.entityId.toBigInt(), e.facts])); - expect(new Set(byId.get(entityId1.toBigInt())!.map(f => f.payload[0].toString()))).toEqual( - new Set(aPayloads.map(f => f.toString())), - ); - expect(new Set(byId.get(entityId2.toBigInt())!.map(f => f.payload[0].toString()))).toEqual( - new Set(bPayloads.map(f => f.toString())), - ); - }); - - describe('rollback boundaries and index hygiene', () => { - it('records originating exactly at the target block survive a rollback', async () => { - const entityBody = [Fr.random()]; - await store.createEntity(entityKey1, entityBody, { blockNumber: 5, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], { blockNumber: 5, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Only records strictly above the target block are pruned. - await kv.transactionAsync(() => store.rollback(5)); - const { body, facts } = (await store.getEntity(entityKey1, JOB))!; - expect(body).toEqual(entityBody); - expect(facts).toHaveLength(1); - await store.discardStaged(JOB); // discard job so the next rollback isn't blocked - - await kv.transactionAsync(() => store.rollback(4)); - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - }); - - it('pruning an entity clears the by-block entries of facts below the prune point', async () => { - // Entity originating at block 6 owning a fact originating at block 4: pruning above 5 deletes the entity - // wholesale, including the block-4 fact and its index entry. - await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], { blockNumber: 4, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.transactionAsync(() => store.rollback(5)); - expect(await store.getEntity(entityKey1, JOB)).toBeUndefined(); - await store.discardStaged(JOB); // discard the job so the next rollback isn't blocked - - // A dangling block-4 fact index entry would make this second prune throw "Fact not found". - await expect(kv.transactionAsync(() => store.rollback(3))).resolves.not.toThrow(); - }); - - it('rollback is idempotent', async () => { - await store.createEntity(entityKey1, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], { blockNumber: 7, blockHash: Fr.random() }, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - await kv.transactionAsync(() => store.rollback(5)); - await expect(kv.transactionAsync(() => store.rollback(5))).resolves.not.toThrow(); - expect(await store.getEntities(entityTypeKey, JOB)).toHaveLength(0); - }); - }); - - describe('recordFact requires an existing entity', () => { - it('rejects when the entity exists only as a staged creation on another job', async () => { - const OTHER = 'other-job'; - await store.createEntity(entityKey1, [Fr.random()], undefined, OTHER); - - // keyA is staged on OTHER, neither visible to this job nor committed, so the record is rejected. - await expect(store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB)).rejects.toThrow( - 'non-existent entity', - ); - }); - - it('accepts a fact for an entity staged for creation earlier in the same job', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB); - expect((await store.getEntity(entityKey1, JOB))!.facts).toHaveLength(1); - }); - - it('accepts a fact for an entity already committed to disk', async () => { - await store.createEntity(entityKey1, [Fr.random()], undefined, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - const JOB2 = 'record-job'; - await store.recordFact(entityKey1, factTypeA, [Fr.random()], undefined, JOB2); - expect((await store.getEntity(entityKey1, JOB2))!.facts).toHaveLength(1); - }); - }); -}); diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store.ts b/yarn-project/pxe/src/storage/entity_store/entity_store.ts deleted file mode 100644 index c6d8884358c6..000000000000 --- a/yarn-project/pxe/src/storage/entity_store/entity_store.ts +++ /dev/null @@ -1,588 +0,0 @@ -import type { Fr } from '@aztec/foundation/curves/bn254'; -import { createLogger } from '@aztec/foundation/log'; -import { Semaphore } from '@aztec/foundation/queue'; -import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store'; - -import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; -import type { EntityKey, EntityTypeKey, OriginBlock } from './entity_store_keys.js'; -import { StoredEntity } from './stored_entity.js'; -import { type Fact, StoredFact, factKeyStrOf } from './stored_fact.js'; - -type JobId = string; -type BlockNum = number; -type StoredEntityBuffer = Buffer; -type FactBuffer = Buffer; - -/** Serialized form of an {@link EntityTypeKey} (`contract:scope:entityTypeId`), used as kv-store map keys. */ -type EntityTypeKeyStr = string; - -/** Serialized form of an {@link EntityKey} (`entityTypeKeyStr:entityId`), used as kv-store map keys. */ -type EntityKeyStr = string; - -/** Serialized form of a fact's identity (built by {@link factKeyStrOf}), used as kv-store map keys. */ -type FactKeyStr = string; - -/** An entity as returned by the store: its key and body, plus its facts. Facts are returned in no particular order. */ -export type Entity = { key: EntityKey; body: Fr[]; facts: Fact[] }; - -/** Internal auxiliary type that keys facts by their identity, so re-recording the same fact is idempotent. */ -type EntityWithFacts = { key: EntityKey; body: Fr[]; facts: Map }; - -/** A pending mutation for a job: create an entity, record a fact, or terminate (delete) an entity. */ -type StagedOp = - | { kind: 'createEntity'; entity: StoredEntity } - | { kind: 'recordFact'; fact: StoredFact } - | { kind: 'terminateEntity'; key: EntityKey }; - -/** - * Stores immutable facts about entities, isolated by contract and scope. - * - * An entity is a contract-defined record identified by an {@link EntityKey} (contract, scope, entity type, and - * id) and carrying an opaque (to PXE) body. A fact is a contract-defined immutable, typed datum attached to an entity. - * - * What makes this store different to, for example, the `CapsuleStore`, is that it is designed to support use cases - * where resilience to reorgs is needed, via what be call _retractability_. - * - * Both entities and facts can be retractable or non-retractable. They are retractable if they are associated to an - * origin block. - * - * Retractable entities and all their facts are removed from the store when their origin block is pruned (typically due - * to a reorg). Retractable facts are likewise removed from the store when their origin block is pruned. - * - * Conversely, non-retractable entities and facts survive reorgs. Non-retractable entities must then be explicitly - * terminated, so as not to keep consuming resources (storage and compute) indefinitely. - * - * This enables Aztec.nr to implement complex workflows such as offchain reception or partial note processing by - * storing structured data that is guaranteed to exist conditionally to certain blocks being included in the chain, - * while leaving the complexity of ensuring said guarantees to PXE. - * - * A key design driver is that PXE knows nothing about the actual entity and fact contents: it just manages enough - * metadata to provide the guarantees mentioned above. That way, concepts such as offchain delivery or partial notes - * are completely defined by Aztec.nr, opening the door to further extension without the need for ad-hoc PXE support. - * - * As with most other PXE stores, writes are staged per-job and flushed atomically on commit. - */ -export class EntityStore implements StagedStore { - readonly storeName: string = 'entity'; - - #store: AztecAsyncKVStore; - - /** Primary index of entity records. Each holds the entity body and optional origin block. */ - #entities: AztecAsyncMap; - - /** Index for delete-on-prune of retractable entities (those with an origin block). */ - #entitiesByBlock: AztecAsyncMultiMap; - - /** Primary index of fact records. */ - #facts: AztecAsyncMap; - - /** Index for efficient entity-level fold. */ - #factsByEntity: AztecAsyncMultiMap; - - /** Index for delete-on-prune of retractable facts (those with an origin block). */ - #factsByBlock: AztecAsyncMultiMap; - - /** Job uncommitted data */ - #opsForJob: Map; - - /** Per-job locks */ - #jobLocks: Map; - - logger = createLogger('entity_store'); - - constructor(store: AztecAsyncKVStore) { - this.#store = store; - this.#entities = store.openMap('entities'); - this.#entitiesByBlock = store.openMultiMap('entities_by_block'); - this.#facts = store.openMap('facts'); - this.#factsByEntity = store.openMultiMap('facts_by_entity'); - this.#factsByBlock = store.openMultiMap('facts_by_block'); - this.#opsForJob = new Map(); - this.#jobLocks = new Map(); - } - - /** - * Creates an entity. Idempotent, with first-write-wins semantics. - * - * If `originBlock === undefined`, the entity is non-retractable: it survives reorgs. A defined origin block makes the - * entity retractable: on a prune below its block, the entity and all its facts are deleted. - * - * An entity is identified solely by its {@link EntityKey} (contract, scope, entityTypeId, entityId). If an entity - * with that key already exists, this call is a no-op: the existing entity, its body, origin block or lackthereof, - * and all its facts, are left untouched and the supplied `entityBody`/`originBlock` are ignored. - * - * Creating a duplicate key never throws, so callers may re-run creation unconditionally without first checking - * existence. This matters because Noir has no exception handling: a throw on an existing key would abort contract - * execution with no way to recover. - * - * Users that need different behavior (updating an entity, branching on its current state, or distinguishing - * instances by block, to cite a few examples) must either read it first via {@link getEntity} / {@link getEntities} - * and handle the preexisting case explicitly, encode the distinguishing data into the `entityId`, or leverage facts. - */ - createEntity( - entityKey: EntityKey, - entityBody: Fr[], - originBlock: OriginBlock | undefined, - jobId: string, - ): Promise { - return this.#withJobLock(jobId, () => { - this.#stagedOpsFor(jobId).push({ - kind: 'createEntity', - entity: new StoredEntity(entityKey, entityBody, originBlock), - }); - return Promise.resolve(); - }); - } - - /** - * Records a fact. - * - * Rejects if its entity does not exist. - * - * If `originBlock === undefined`, the fact is non-retractable: it survives reorgs. A defined origin block makes the - * fact retractable: on a prune below its block, it will be deleted. - * - * Idempotent: re-recording an identical fact (same entity, fact type, payload, and origin block) is a no-op. The - * same payload tied to a different origin block is a distinct fact. - */ - recordFact( - entityKey: EntityKey, - factTypeId: Fr, - payload: Fr[], - originBlock: OriginBlock | undefined, - jobId: string, - ): Promise { - return this.#withJobLock(jobId, async () => { - if (!(await this.#doesEntityExist(entityKey, jobId))) { - throw new Error(`Cannot record a fact for non-existent entity ${entityKey.toString()}`); - } - this.#stagedOpsFor(jobId).push({ - kind: 'recordFact', - fact: new StoredFact(entityKey, factTypeId, payload, originBlock), - }); - }); - } - - /** - * Terminate an entity, making it (and all its facts) unavailable. - * - * This is typically done when the entity has finalized and there's no more work to do, to save disk space and to - * avoid re-processing the entity indefinitely. - * - * Throws if the entity does not exist. - */ - terminateEntity(key: EntityKey, jobId: string): Promise { - return this.#withJobLock(jobId, async () => { - if (!(await this.#doesEntityExist(key, jobId))) { - throw new Error(`Cannot terminate a non-existent entity ${key.toString()}`); - } - this.#stagedOpsFor(jobId).push({ kind: 'terminateEntity', key }); - }); - } - - /** - * Returns one entity, if found. - */ - async getEntity(key: EntityKey, jobId: string): Promise { - const entityKey = key.toString(); - const entitiesAndFactsFromDb = await this.#store.transactionAsync(async () => { - const entities = await this.#readEntitiesFromDb([entityKey]); - return this.#readFactsFromDb(entities); - }); - - const entity = this.#foldStagedOps(entitiesAndFactsFromDb, jobId).get(entityKey); - if (!entity) { - return undefined; - } - - return { key, body: entity.body, facts: Array.from(entity.facts.values()) }; - } - - /** - * Returns all active entities of a given type, together with their facts. - */ - async getEntities(entityTypeKey: EntityTypeKey, jobId: string): Promise { - const typeKey = entityTypeKey.toString(); - const entitiesAndFactsFromDb = await this.#readEntitiesAndFactsFromDbByType(typeKey); - - // Combine DB state with staged state; foldStagedOps keeps the result scoped to this type. - return Array.from(this.#foldStagedOps(entitiesAndFactsFromDb, jobId, typeKey).values(), ({ key, body, facts }) => ({ - key, - body, - facts: Array.from(facts.values()), - })); - } - - /** - * Commits all staged operations for the given job to persistent storage. - * - * Must be called inside a transaction owned by the caller (JobCoordinator wraps all commits in a single - * transactionAsync, and IndexedDB does not support nested transactions). - * - * DO NOT call `#withJobLock` here: awaiting the lock creates a microtask boundary that causes IndexedDB to - * auto-commit the outer transaction. - */ - async commit(jobId: string): Promise { - for (const op of this.#stagedOpsFor(jobId)) { - switch (op.kind) { - case 'createEntity': - await this.#commitEntity(op.entity); - break; - case 'recordFact': - await this.#commitFact(op.fact); - break; - case 'terminateEntity': - await this.#deleteEntity(op.key.toString()); - break; - default: { - const _exhaustive: never = op; - throw new Error(`Unhandled EntityStore staged op kind: ${JSON.stringify(_exhaustive)}`); - } - } - } - this.#clearJobData(jobId); - } - - /** Discards all staged operations for the given job without persisting them. */ - discardStaged(jobId: string): Promise { - this.#clearJobData(jobId); - return Promise.resolve(); - } - - /** - * Removes every entity and fact associated to blocks over height `toBlock`. - * - * Non-retractable entities and facts are untouched. Must run inside a caller-owned transaction (because it needs to - * share the transaction with other stores and IndexedDB has no nested transactions). - * - * Throws if any job is in flight (has accessed the store and not yet committed or discarded), since rolling back - * mid-job could re-introduce records originating from deleted blocks or change state underneath a job's view. - */ - async rollback(toBlock: BlockNum): Promise { - if (this.#opsForJob.size > 0) { - throw new Error('PXE entity store rollback is not allowed while jobs are running'); - } - - // Remove all affected retractable entities and all their facts - const removedEntities = await this.#retractEntities(toBlock); - - // Remove all affected retractable facts remaining (facts belonging to retractable entities were removed by - // #retractEntities, see above) - const removedFacts = await this.#retractFacts(toBlock); - - this.logger.verbose('rolled back entity store', { removedEntities, removedFacts, toBlock }); - } - - /** - * Deletes every retractable entity (and all its facts) whose origin block is above `toBlock`, returning the count - * removed. - * - * Requires to be run in a transactionAsync context. - */ - async #retractEntities(toBlock: BlockNum): Promise { - const entitiesToRetract: EntityKeyStr[] = []; - // Snapshot the by-block index before mutating so we never delete from the multimap we are iterating. - for await (const [, entityKey] of this.#entitiesByBlock.entriesAsync({ start: toBlock + 1 })) { - entitiesToRetract.push(entityKey); - } - for (const entityKey of entitiesToRetract) { - await this.#deleteEntity(entityKey); - } - return entitiesToRetract.length; - } - - /** - * Deletes retractable facts originating above `toBlock`, returning the number of by-block entries scanned. - * - * Requires to be run in a transactionAsync context. - */ - async #retractFacts(toBlock: BlockNum): Promise { - // Snapshot the orphaned fact keys before mutating so we never delete from the cursor we are iterating. - const factKeysToRetract: FactKeyStr[] = []; - for await (const [, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { - factKeysToRetract.push(factKey); - } - await Promise.all( - factKeysToRetract.map(async factKey => { - const buf = await this.#facts.getAsync(factKey); - if (!buf) { - // The by-block index just yielded this factKey, so a missing primary record means the indexes are out of - // sync. Log as this should be unreachable unless there is a bug. - this.logger.warn('Skipping retraction of a fact missing from the primary store: by-block index is stale', { - factKey, - }); - return; - } - const fact = StoredFact.fromBuffer(buf); - await this.#deleteFact(factKey, fact); - }), - ); - return factKeysToRetract.length; - } - - /** - * Reads every entity and of the given type with its facts from the db. - * - * Note entity keys are `${typeKey}:${entityId}`, which lets us filter by type without additional indexes. - */ - #readEntitiesAndFactsFromDbByType(typeKey: EntityTypeKeyStr) { - return this.#store.transactionAsync(async () => { - // The values ride along with the keys on this single cursor pass, so there is no need to re-read each entity. - // Snapshot before issuing the fact point reads so we never interleave reads with a live cursor. - const entities = new Map(); - for await (const [entityKey, buf] of this.#entities.entriesAsync({ start: `${typeKey}:`, end: `${typeKey};` })) { - entities.set(entityKey, StoredEntity.fromBuffer(buf)); - } - return await this.#readFactsFromDb(entities); - }); - } - - /** - * Reads the given entity records by key into a Map keyed by entity key, skipping keys with no committed record. - * - * This is a purely auxiliary function that produces the input shape {@link #readFactsFromDb} consumes, it exists - * mainly for better readability of the store. - * - * Reads are not wrapped in a transaction: the caller owns the transaction boundary. - */ - async #readEntitiesFromDb(entityKeys: EntityKeyStr[]): Promise> { - // Issue every read up front so a DB request is always in flight: a sequential await-loop would let the IndexedDB - // transaction auto-commit between reads. - const bufs = await Promise.all(entityKeys.map(entityKey => this.#entities.getAsync(entityKey))); - const entities = new Map(); - entityKeys.forEach((entityKey, i) => { - const buf = bufs[i]; - if (buf !== undefined) { - entities.set(entityKey, StoredEntity.fromBuffer(buf)); - } else { - // Expected for entities that exist only as staged ops or not at all (staged ops are layered on by the caller). - this.logger.debug('No committed record for entity key: skipping', { entityKey }); - } - }); - return entities; - } - - /** - * Attaches each entity's committed facts, returning the entities-with-facts keyed by entity key. - * - * Reads are not wrapped in a transaction: the caller owns the transaction boundary. - */ - async #readFactsFromDb(entities: Map): Promise> { - const result = new Map(); - for (const [entityKey, entity] of entities) { - result.set(entityKey, { key: entity.key, body: entity.body, facts: await this.#loadCommittedFacts(entityKey) }); - } - return result; - } - - /** - * Loads the committed facts for an entity keyed by their fact key. - * - * Caller must wrap in a transaction. - */ - async #loadCommittedFacts(entityKey: EntityKeyStr): Promise> { - // Kick off each fact read while iterating the index so a DB request is always pending. Draining the cursor and only - // then reading the facts one `await` at a time would let the IndexedDB transaction auto-commit at the boundary - // (IndexedDB auto-commits once control returns to the event loop with no pending request), throwing mid-read on the - // browser backend. - const factReads = new Map>(); - for await (const factKey of this.#factsByEntity.getValuesAsync(entityKey)) { - factReads.set(factKey, this.#facts.getAsync(factKey)); - } - const factKeys = [...factReads.keys()]; - const bufs = await Promise.all(factReads.values()); - - // Await-free tail: deserialize. No DB ops from here on. - const facts = new Map(); - for (let i = 0; i < factKeys.length; i++) { - const factKey = factKeys[i]; - const buf = bufs[i]; - if (!buf) { - // Defensive: a #factsByEntity entry must always reference a live #facts entry. A missing one means the indexes - // are corrupt. - throw new Error(`Fact not found for factKey ${factKey}`); - } - facts.set(factKey, StoredFact.fromBuffer(buf).toFact()); - } - return facts; - } - - /** - * Whether an entity currently exists. - */ - async #doesEntityExist(key: EntityKey, jobId: string): Promise { - const entityKey = key.toString(); - let exists = await this.#store.transactionAsync(() => this.#entities.hasAsync(entityKey)); - for (const op of this.#stagedOpsFor(jobId)) { - if (op.kind === 'createEntity' && op.entity.key.toString() === entityKey) { - exists = true; - } else if (op.kind === 'terminateEntity' && op.key.toString() === entityKey) { - exists = false; - } - } - return exists; - } - - /** - * Assembles the current view of a collection of entities together with its facts, combining the committed with - * staged data. - * - * When `typeKey` is given, staged creations of other types are ignored, so the result holds only that type. - */ - #foldStagedOps( - committed: Map, - jobId: string, - typeKey?: EntityTypeKeyStr, - ): Map { - const result = new Map(); - - // Copy to avoid mutating contents of `committed` - for (const [entityKey, { key, body, facts }] of committed) { - result.set(entityKey, { key, body, facts: new Map(facts) }); - } - for (const op of this.#stagedOpsFor(jobId)) { - switch (op.kind) { - case 'createEntity': { - // First-write-wins idempotency: materialize only when absent, so a re-create never clobbers an existing - // entity's body or facts (mirrors #commitEntity skipping an already-stored key). - const entityKeyStr = op.entity.key.toString(); - if ( - (typeKey === undefined || op.entity.key.entityTypeKey().toString() === typeKey) && - !result.has(entityKeyStr) - ) { - result.set(entityKeyStr, { - key: op.entity.key, - body: op.entity.body, - facts: new Map(), - }); - } - break; - } - case 'terminateEntity': - result.delete(op.key.toString()); - break; - case 'recordFact': { - const current = result.get(op.fact.entityKey.toString()); - const fKey = factKeyStrOf(op.fact); - if (current && !current.facts.has(fKey)) { - current.facts.set(fKey, op.fact.toFact()); - } - break; - } - default: { - const _exhaustive: never = op; - throw new Error(`Unhandled EntityStore staged op kind: ${JSON.stringify(_exhaustive)}`); - } - } - } - return result; - } - - /** - * Writes a newly created entity to persistent storage. - * - * First-write-wins: if an entity with this key already exists, this is a no-op that leaves the existing record and - * all of its facts untouched (see {@link createEntity}). - */ - async #commitEntity(entity: StoredEntity): Promise { - const entityKey = entity.key.toString(); - if (await this.#entities.hasAsync(entityKey)) { - return; - } - await this.#entities.set(entityKey, entity.toBuffer()); - if (entity.originBlock !== undefined) { - await this.#entitiesByBlock.set(entity.originBlock.blockNumber, entityKey); - } - } - - /** - * Writes a fact to persistent storage. - */ - async #commitFact(fact: StoredFact): Promise { - const factKey = factKeyStrOf(fact); - if (await this.#facts.hasAsync(factKey)) { - this.logger.debug(`Ignoring already recorded fact`, { factKey }); - return; - } - await this.#facts.set(factKey, fact.toBuffer()); - await this.#factsByEntity.set(fact.entityKey.toString(), factKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); - } - } - - /** - * Deletes a fact from the primary store and its indexes (`#factsByEntity`, plus `#factsByBlock` if retractable). - * - * Caller must wrap in a transaction. - */ - async #deleteFact(factKey: FactKeyStr, fact: StoredFact): Promise { - await this.#facts.delete(factKey); - await this.#factsByEntity.deleteValue(fact.entityKey.toString(), factKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); - } - } - - /** - * Deletes an entity from persistent storage. - */ - async #deleteEntity(entityKey: EntityKeyStr): Promise { - // Snapshot the fact index before mutating so we never delete from the cursor we are iterating. - const factKeys: FactKeyStr[] = []; - for await (const factKey of this.#factsByEntity.getValuesAsync(entityKey)) { - factKeys.push(factKey); - } - await Promise.all( - factKeys.map(async factKey => { - const buf = await this.#facts.getAsync(factKey); - if (!buf) { - // A #factsByEntity entry must always reference a live #facts entry, a missing one means the indexes are - // corrupt. - throw new Error(`Fact not found for factKey ${factKey}`); - } - const fact = StoredFact.fromBuffer(buf); - await this.#deleteFact(factKey, fact); - }), - ); - const entityBuf = await this.#entities.getAsync(entityKey); - if (entityBuf) { - const entity = StoredEntity.fromBuffer(entityBuf); - await this.#entities.delete(entityKey); - if (entity.originBlock !== undefined) { - await this.#entitiesByBlock.deleteValue(entity.originBlock.blockNumber, entityKey); - } - } - } - - /** - * Returns the job's staged-ops array, creating it on first access. - * */ - #stagedOpsFor(jobId: string): StagedOp[] { - let ops = this.#opsForJob.get(jobId); - if (ops === undefined) { - ops = []; - this.#opsForJob.set(jobId, ops); - } - return ops; - } - - #clearJobData(jobId: string) { - this.#opsForJob.delete(jobId); - this.#jobLocks.delete(jobId); - } - - async #withJobLock(jobId: string, fn: () => Promise): Promise { - let lock = this.#jobLocks.get(jobId); - if (!lock) { - lock = new Semaphore(1); - this.#jobLocks.set(jobId, lock); - } - await lock.acquire(); - try { - return await fn(); - } finally { - lock.release(); - } - } -} diff --git a/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts b/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts deleted file mode 100644 index 8394ec1ab44c..000000000000 --- a/yarn-project/pxe/src/storage/entity_store/entity_store_keys.ts +++ /dev/null @@ -1,48 +0,0 @@ -import type { Fr } from '@aztec/foundation/curves/bn254'; -import type { FieldsOf } from '@aztec/foundation/types'; -import type { AztecAddress } from '@aztec/stdlib/aztec-address'; - -/** - * The block a retractable entity or fact originates from. - */ -export type OriginBlock = { blockNumber: number; blockHash: Fr }; - -/** Identifies all entities of one type within a contract+scope. */ -export class EntityTypeKey { - constructor( - public readonly contractAddress: AztecAddress, - public readonly scope: AztecAddress, - public readonly entityTypeId: Fr, - ) {} - - static from(fields: FieldsOf): EntityTypeKey { - return new EntityTypeKey(fields.contractAddress, fields.scope, fields.entityTypeId); - } - - toString(): string { - return `${this.contractAddress}:${this.scope}:${this.entityTypeId}`; - } -} - -/** Uniquely identifies a single entity; all its facts share this key. */ -export class EntityKey { - constructor( - public readonly contractAddress: AztecAddress, - public readonly scope: AztecAddress, - public readonly entityTypeId: Fr, - public readonly entityId: Fr, - ) {} - - static from(fields: FieldsOf): EntityKey { - return new EntityKey(fields.contractAddress, fields.scope, fields.entityTypeId, fields.entityId); - } - - /** The key grouping this entity with the other entities of its type within the same contract+scope. */ - entityTypeKey(): EntityTypeKey { - return new EntityTypeKey(this.contractAddress, this.scope, this.entityTypeId); - } - - toString(): string { - return `${this.entityTypeKey()}:${this.entityId}`; - } -} diff --git a/yarn-project/pxe/src/storage/entity_store/index.ts b/yarn-project/pxe/src/storage/entity_store/index.ts deleted file mode 100644 index 8c58301b3bcc..000000000000 --- a/yarn-project/pxe/src/storage/entity_store/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { EntityStore } from './entity_store.js'; diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts deleted file mode 100644 index 141df8302e27..000000000000 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Fr } from '@aztec/foundation/curves/bn254'; -import { AztecAddress } from '@aztec/stdlib/aztec-address'; - -import { EntityKey } from './entity_store_keys.js'; -import { StoredEntity } from './stored_entity.js'; - -describe('StoredEntity', () => { - const key = EntityKey.from({ - contractAddress: AztecAddress.fromBigInt(100n), - scope: AztecAddress.fromBigInt(1n), - entityTypeId: new Fr(7n), - entityId: new Fr(42n), - }); - - it('round-trips a retractable entity through buffer serialization', () => { - const entity = new StoredEntity(key, [new Fr(9n), new Fr(10n)], { - blockNumber: 12, - blockHash: new Fr(0xabcn), - }); - const back = StoredEntity.fromBuffer(entity.toBuffer()); - expect(back).toEqual(entity); - expect(back.isRetractable).toBe(true); - }); - - it('round-trips a non-retractable entity (no origin block)', () => { - const entity = new StoredEntity(key, [new Fr(9n)], undefined); - const back = StoredEntity.fromBuffer(entity.toBuffer()); - expect(back).toEqual(entity); - expect(back.isRetractable).toBe(false); - }); - - it('round-trips an entity with an empty body', () => { - const entity = new StoredEntity(key, [], undefined); - const back = StoredEntity.fromBuffer(entity.toBuffer()); - expect(back).toEqual(entity); - expect(back.body).toEqual([]); - }); -}); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts b/yarn-project/pxe/src/storage/entity_store/stored_entity.ts deleted file mode 100644 index 0203424d5ba8..000000000000 --- a/yarn-project/pxe/src/storage/entity_store/stored_entity.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Fr } from '@aztec/foundation/curves/bn254'; -import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; -import { AztecAddress } from '@aztec/stdlib/aztec-address'; - -import { EntityKey, type OriginBlock } from './entity_store_keys.js'; - -/** - * The record for a single entity. - */ -export class StoredEntity { - constructor( - public readonly key: EntityKey, - public readonly body: Fr[], - public readonly originBlock: OriginBlock | undefined, - ) {} - - /** Whether the whole entity is deleted on block pruning (true) or survives reorgs (false). */ - get isRetractable(): boolean { - return this.originBlock !== undefined; - } - - toBuffer(): Buffer { - return serializeToBuffer( - this.key.contractAddress, - this.key.scope, - this.key.entityTypeId, - this.key.entityId, - this.body.length, - ...this.body, - this.originBlock !== undefined, - this.originBlock ? this.originBlock.blockNumber : 0, - this.originBlock ? this.originBlock.blockHash : Fr.ZERO, - ); - } - - static fromBuffer(buffer: Buffer | BufferReader): StoredEntity { - const reader = BufferReader.asReader(buffer); - const contractAddress = reader.readObject(AztecAddress); - const scope = reader.readObject(AztecAddress); - const entityTypeId = reader.readObject(Fr); - const entityId = reader.readObject(Fr); - const bodyLen = reader.readNumber(); - const body = reader.readArray(bodyLen, Fr); - const hasOriginBlock = reader.readBoolean(); - const blockNumber = reader.readNumber(); - const blockHash = reader.readObject(Fr); - const originBlock = hasOriginBlock ? { blockNumber, blockHash } : undefined; - return new StoredEntity(new EntityKey(contractAddress, scope, entityTypeId, entityId), [...body], originBlock); - } -} diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts new file mode 100644 index 000000000000..aafe92d069d2 --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts @@ -0,0 +1,504 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import type { AztecAsyncKVStore } from '@aztec/kv-store'; +import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { FactStore } from './fact_store.js'; +import { FactCollectionKey, FactCollectionTypeKey } from './fact_store_keys.js'; + +describe('FactStore', () => { + let contract: AztecAddress; + let scope: AztecAddress; + let scopeB: AztecAddress; + let factCollectionTypeId: Fr; + let factTypeA: Fr; + let factTypeB: Fr; + let collectionId1: Fr; + let collectionId2: Fr; + let collectionKey1: FactCollectionKey; + let collectionKey2: FactCollectionKey; + let typeKey: FactCollectionTypeKey; + const JOB = 'fact-store-test-job'; + + let kv: AztecAsyncKVStore; + let store: FactStore; + + beforeEach(async () => { + contract = await AztecAddress.random(); + scope = await AztecAddress.random(); + scopeB = await AztecAddress.random(); + factCollectionTypeId = Fr.random(); + factTypeA = Fr.random(); + factTypeB = Fr.random(); + collectionId1 = Fr.random(); + collectionId2 = Fr.random(); + collectionKey1 = FactCollectionKey.from({ + contractAddress: contract, + factCollectionTypeId, + factCollectionId: collectionId1, + }); + collectionKey2 = FactCollectionKey.from({ + contractAddress: contract, + factCollectionTypeId, + factCollectionId: collectionId2, + }); + typeKey = FactCollectionTypeKey.from({ contractAddress: contract, factCollectionTypeId }); + + kv = await openTmpStore('fact-store-test'); + store = new FactStore(kv); + }); + afterEach(async () => { + await kv.close(); + }); + + const collectionIdsOf = (collections: { key: FactCollectionKey }[]) => collections.map(c => c.key.factCollectionId); + // Facts come back in no guaranteed order, so fact projections are compared as sets of hex strings. + const hexSet = (frs: Fr[]) => new Set(frs.map(f => f.toString())); + + describe('recording and reading', () => { + it('records facts and reads a collection back after commit (implicit collection creation)', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB))!; + expect(hexSet(facts.map(f => f.factTypeId))).toEqual(hexSet([factTypeA, factTypeB])); + }); + + it('getFactCollection returns undefined when no collection exists', async () => { + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + }); + + it('lists a collection via getFactCollectionsByType', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const collections = await store.getFactCollectionsByType(typeKey, [scope], JOB); + expect(hexSet(collectionIdsOf(collections))).toEqual(hexSet([collectionId1, collectionId2])); + }); + + it('getFactCollectionsByType returns each collection complete with its facts', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const collections = await store.getFactCollectionsByType(typeKey, [scope], JOB); + expect(collections).toHaveLength(1); + expect(hexSet(collections[0].facts.map(f => f.factTypeId))).toEqual(hexSet([factTypeA, factTypeB])); + }); + }); + + describe('idempotency and dedup', () => { + it('dedups identical (collection, factType, payload, originBlock) fact records', async () => { + const payload = Fr.random(); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + }); + + it('the same payload at a different origin block is a distinct fact', async () => { + const payload = Fr.random(); + await store.recordFact( + collectionKey1, + factTypeA, + [payload], + { blockNumber: 5, blockHash: Fr.random() }, + scope, + JOB, + ); + await store.recordFact( + collectionKey1, + factTypeA, + [payload], + { blockNumber: 10, blockHash: Fr.random() }, + scope, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB))!; + expect(facts).toHaveLength(2); + expect(new Set(facts.map(f => f.originBlock?.blockNumber))).toEqual(new Set([5, 10])); + }); + + it('re-recording an identical fact across jobs is a no-op', async () => { + const payload = Fr.random(); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'rerecord-job'; + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB2); + await kv.transactionAsync(() => store.commit(JOB2)); + + expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + }); + }); + + describe('scope dimension', () => { + it('a fact recorded under one scope is invisible to another', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeDefined(); + expect(await store.getFactCollection(collectionKey1, [scopeB], JOB)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, [scopeB], JOB)).toHaveLength(0); + }); + + it('querying with no scopes returns nothing', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect(await store.getFactCollection(collectionKey1, [], JOB)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, [], JOB)).toHaveLength(0); + }); + + it('the same fact recorded under two scopes is stored once but visible to both', async () => { + const payload = Fr.random(); + const origin = { blockNumber: 5, blockHash: Fr.random() }; + await store.recordFact(collectionKey1, factTypeA, [payload], origin, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], origin, scopeB, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // Deduped to a single fact, yet the collection is visible under each scope and under both together. + expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + expect((await store.getFactCollection(collectionKey1, [scopeB], JOB))!.facts).toHaveLength(1); + expect((await store.getFactCollection(collectionKey1, [scope, scopeB], JOB))!.facts).toHaveLength(1); + }); + + it('scoping is per fact: a scope never sees facts recorded solely under another scope, even in the same collection', async () => { + // factA recorded under `scope`, factB under `scopeB`, both in the same collection. + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scopeB, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // Each scope sees only the fact it recorded; querying both returns both. + expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts.map(f => f.factTypeId)).toEqual([ + factTypeA, + ]); + expect((await store.getFactCollection(collectionKey1, [scopeB], JOB))!.facts.map(f => f.factTypeId)).toEqual([ + factTypeB, + ]); + expect( + hexSet((await store.getFactCollection(collectionKey1, [scope, scopeB], JOB))!.facts.map(f => f.factTypeId)), + ).toEqual(hexSet([factTypeA, factTypeB])); + }); + + it('getFactCollectionsByType filters collections by scope', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scopeB, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB))).toEqual([collectionId1]); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scopeB], JOB))).toEqual([collectionId2]); + expect(hexSet(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope, scopeB], JOB)))).toEqual( + hexSet([collectionId1, collectionId2]), + ); + }); + }); + + describe('read-your-writes', () => { + it("reflects a job's own staged facts before commit; other jobs do not see them", async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + + expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts.map(f => f.factTypeId)).toEqual([ + factTypeA, + ]); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB))).toEqual([collectionId1]); + + expect(await store.getFactCollection(collectionKey1, [scope], 'other-job')).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, [scope], 'other-job')).toHaveLength(0); + }); + + it('staged facts combine with committed ones', async () => { + const payloads = Array.from({ length: 4 }, () => Fr.random()); + await store.recordFact(collectionKey1, factTypeA, [payloads[0]], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payloads[1]], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'staged-job'; + await store.recordFact(collectionKey1, factTypeA, [payloads[2]], undefined, scope, JOB2); + await store.recordFact(collectionKey1, factTypeA, [payloads[3]], undefined, scope, JOB2); + + const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB2))!; + expect(hexSet(facts.map(f => f.payload[0]))).toEqual(hexSet(payloads)); + }); + }); + + describe('removeFactCollection (descope)', () => { + it('removes the calling scope from the collection, reaping facts it solely held', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const DEL = 'delete-job'; + await store.removeFactCollection(collectionKey1, scope, DEL); + await kv.transactionAsync(() => store.commit(DEL)); + + // Gone for the scope that descoped it; the neighbouring collection is untouched. + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB))).toEqual([collectionId2]); + }); + + it('only descopes the calling scope: facts another scope still references survive', async () => { + const shared = Fr.random(); + const origin = { blockNumber: 5, blockHash: Fr.random() }; + // A fact visible to both scopes, plus a fact visible only to scopeB. + await store.recordFact(collectionKey1, factTypeA, [shared], origin, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [shared], origin, scopeB, JOB); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scopeB, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const DEL = 'delete-job'; + await store.removeFactCollection(collectionKey1, scope, DEL); + await kv.transactionAsync(() => store.commit(DEL)); + + // `scope` no longer sees the collection at all. + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + // `scopeB` still sees both of its facts (the shared one survived because scopeB still references it). + expect( + hexSet((await store.getFactCollection(collectionKey1, [scopeB], JOB))!.facts.map(f => f.factTypeId)), + ).toEqual(hexSet([factTypeA, factTypeB])); + }); + + it('is a no-op for a collection not visible under the calling scope', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + // collectionKey1 exists, but not under scopeB; collectionKey2 does not exist at all. Both descopes are no-ops. + const DEL = 'delete-job'; + await store.removeFactCollection(collectionKey1, scopeB, DEL); + await store.removeFactCollection(collectionKey2, scope, DEL); + await kv.transactionAsync(() => store.commit(DEL)); + + // collectionKey1 is untouched: still visible under `scope` with its fact. + expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + }); + + it('hides a collection from its own job after a staged descope, even over committed facts', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const DEL = 'delete-job'; + await store.removeFactCollection(collectionKey1, scope, DEL); + + expect(await store.getFactCollection(collectionKey1, [scope], DEL)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, [scope], DEL)).toHaveLength(0); + // Other jobs still see it committed until the descope commits. + expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts).toHaveLength(1); + }); + + it('a staged descope-then-record re-creates the collection within the same job', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'recreate-job'; + await store.removeFactCollection(collectionKey1, scope, JOB2); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scope, JOB2); + + const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB2))!; + expect(facts.map(f => f.factTypeId)).toEqual([factTypeB]); + + await kv.transactionAsync(() => store.commit(JOB2)); + expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts.map(f => f.factTypeId)).toEqual([ + factTypeB, + ]); + }); + + it('a staged record-then-descope leaves the collection deleted', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.removeFactCollection(collectionKey1, scope, JOB); + + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + + await kv.transactionAsync(() => store.commit(JOB)); + expect(await store.getFactCollection(collectionKey1, [scope], 'reader')).toBeUndefined(); + }); + }); + + describe('rollback and retraction', () => { + it('removes retractable facts above the target block and keeps non-retractable ones', async () => { + const nonRetractable = Fr.random(); + const retractable = Fr.random(); + await store.recordFact(collectionKey1, factTypeA, [nonRetractable], undefined, scope, JOB); + await store.recordFact( + collectionKey1, + factTypeB, + [retractable], + { blockNumber: 6, blockHash: Fr.random() }, + scope, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + + const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB))!; + expect(hexSet(facts.map(f => f.payload[0]))).toEqual(hexSet([nonRetractable])); + }); + + it('a collection left with no facts after retraction disappears', async () => { + await store.recordFact( + collectionKey1, + factTypeA, + [Fr.random()], + { blockNumber: 6, blockHash: Fr.random() }, + scope, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + await kv.transactionAsync(() => store.rollback(5)); + + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, [scope], JOB)).toHaveLength(0); + }); + + it('the same payload at two origin blocks yields independent facts pruned per block', async () => { + const payload = Fr.random(); + await store.recordFact( + collectionKey1, + factTypeA, + [payload], + { blockNumber: 5, blockHash: Fr.random() }, + scope, + JOB, + ); + await store.recordFact( + collectionKey1, + factTypeA, + [payload], + { blockNumber: 10, blockHash: Fr.random() }, + scope, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + // Prune above block 7: the block-10 derivation is deleted, the block-5 one survives. + await kv.transactionAsync(() => store.rollback(7)); + expect( + (await store.getFactCollection(collectionKey1, [scope], JOB))!.facts.map(f => f.originBlock?.blockNumber), + ).toEqual([5]); + await store.discardStaged(JOB); // discard job so the next rollback isn't blocked + + // Prune above block 4: the block-5 derivation is deleted too, emptying the collection. + await kv.transactionAsync(() => store.rollback(4)); + expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + }); + + it('rollback throws while a job has staged writes', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, 'uncommitted-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( + 'PXE fact store rollback is not allowed while jobs are running', + ); + await store.discardStaged('uncommitted-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); + }); + + it('a job that has only read still blocks rollback until it is discarded', async () => { + await store.getFactCollection(collectionKey1, [scope], 'reader-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( + 'PXE fact store rollback is not allowed while jobs are running', + ); + await store.discardStaged('reader-job'); + await expect(kv.transactionAsync(() => store.rollback(0))).resolves.not.toThrow(); + }); + }); + + describe('isolation', () => { + it('collections under different contracts and types are isolated', async () => { + const contract2 = await AztecAddress.random(); + const type2 = Fr.random(); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact( + FactCollectionKey.from({ contractAddress: contract2, factCollectionTypeId, factCollectionId: collectionId1 }), + factTypeA, + [Fr.random()], + undefined, + scope, + JOB, + ); + await store.recordFact( + FactCollectionKey.from({ + contractAddress: contract, + factCollectionTypeId: type2, + factCollectionId: collectionId1, + }), + factTypeA, + [Fr.random()], + undefined, + scope, + JOB, + ); + await kv.transactionAsync(() => store.commit(JOB)); + + expect(await store.getFactCollectionsByType(typeKey, [scope], JOB)).toHaveLength(1); + expect( + await store.getFactCollectionsByType( + FactCollectionTypeKey.from({ contractAddress: contract2, factCollectionTypeId }), + [scope], + JOB, + ), + ).toHaveLength(1); + expect( + await store.getFactCollectionsByType( + FactCollectionTypeKey.from({ contractAddress: contract, factCollectionTypeId: type2 }), + [scope], + JOB, + ), + ).toHaveLength(1); + }); + }); + + describe('cross-job behavior', () => { + it("commit persists only the given job's facts", async () => { + const payloads = [Fr.random(), Fr.random()]; + await store.recordFact(collectionKey1, factTypeA, [payloads[0]], undefined, scope, JOB); + const JOB2 = 'second-job'; + await store.recordFact(collectionKey1, factTypeA, [payloads[1]], undefined, scope, JOB2); + await kv.transactionAsync(() => store.commit(JOB)); + + // Only job 1's fact is committed; job 2 still layers its staged fact on top. + expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts.map(f => f.payload[0])).toEqual([ + payloads[0], + ]); + expect( + hexSet((await store.getFactCollection(collectionKey1, [scope], JOB2))!.facts.map(f => f.payload[0])), + ).toEqual(hexSet(payloads)); + + await kv.transactionAsync(() => store.commit(JOB2)); + expect( + hexSet((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts.map(f => f.payload[0])), + ).toEqual(hexSet(payloads)); + }); + + it('discardStaged drops staged writes without touching committed state', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await kv.transactionAsync(() => store.commit(JOB)); + + const JOB2 = 'discarded-job'; + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scope, JOB2); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scope, JOB2); + await store.discardStaged(JOB2); + + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB2))).toEqual([collectionId1]); + await kv.transactionAsync(() => store.commit(JOB2)); + expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts).toHaveLength(1); + expect(await store.getFactCollection(collectionKey2, [scope], 'reader')).toBeUndefined(); + }); + + it('a fact recorded by two jobs racing to the same collection dedups on commit', async () => { + const payload = Fr.random(); + const JOB2 = 'racing-job'; + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB2); + + await kv.transactionAsync(() => store.commit(JOB)); + await expect(kv.transactionAsync(() => store.commit(JOB2))).resolves.not.toThrow(); + + expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts).toHaveLength(1); + }); + }); +}); diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.ts new file mode 100644 index 000000000000..5a725d68c084 --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.ts @@ -0,0 +1,531 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; +import { createLogger } from '@aztec/foundation/log'; +import { Semaphore } from '@aztec/foundation/queue'; +import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store'; +import type { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; +import { FactCollectionKey, type FactCollectionTypeKey, type OriginBlock } from './fact_store_keys.js'; +import { type Fact, StoredFact, factKeyStrOf } from './stored_fact.js'; + +type JobId = string; +type BlockNum = number; +type FactBuffer = Buffer; +type FactCollectionTypeKeyStr = string; +type FactCollectionKeyStr = string; +type FactKeyStr = string; +type ScopeStr = string; + +/** A fact collection as returned by the store. */ +export type FactCollection = { key: FactCollectionKey; facts: Fact[] }; + +/** A fact together with the set of scopes it is visible under. */ +type FactWithScopes = { fact: Fact; scopes: Set }; + +/** Internal auxiliary type assembling a collection. */ +type CollectionWithFacts = { key: FactCollectionKey; facts: Map }; + +/** A pending operation for a job: record a fact under a scope, or remove (descope) a collection from a scope. */ +type StagedOp = + | { kind: 'recordFact'; fact: StoredFact; scope: AztecAddress } + | { kind: 'removeFactCollection'; key: FactCollectionKey; scope: AztecAddress }; + +/** + * Stores immutable facts grouped into collections, isolated by contract and scoped per fact. + * + * A fact collection is a contract-defined bag of facts identified by a {@link FactCollectionKey} (contract, collection + * type, and id). A fact is a contract-defined immutable, typed datum in a collection. Collections are implicit: one + * comes into being when its first fact is recorded and ceases to exist once it has no facts left. + * + * What makes this store different to, for example, the `CapsuleStore`, is that it is designed to support use cases + * where resilience to reorgs is needed, via what we call _retractability_. + * + * Facts can be retractable or non-retractable. They are retractable if they are associated to an origin block. + * Retractable facts are removed from the store when their origin block is pruned (typically due to a reorg). + * Non-retractable facts survive reorgs; they must then be explicitly deleted, so as not to keep consuming resources + * (storage and compute) indefinitely. + * + * Scoping is per fact. Facts are only visible at scopes they were written to. A scope never sees facts recorded solely + * under another scope, even within the same collection. + * + * This store is designed to enable Aztec.nr to implement complex workflows such as offchain reception or partial note + * processing by storing structured data that is guaranteed to exist conditionally to specific blocks being included in + * the chain, while leaving the complexity of ensuring said guarantees to PXE. + * + * A key design driver is that PXE knows nothing about the actual fact contents: it just manages enough metadata to + * provide the guarantees mentioned above. That way, concepts such as offchain delivery or partial notes are completely + * defined by Aztec.nr, opening the door to further extension without the need for ad-hoc PXE support. + * + * As with most other PXE stores, writes are staged per-job and flushed atomically on commit. + */ +export class FactStore implements StagedStore { + readonly storeName: string = 'fact'; + + #store: AztecAsyncKVStore; + + /** Primary index of fact records. */ + #facts: AztecAsyncMap; + + /** Index for per-collection fact enumeration and by-type collection discovery. */ + #factsByCollection: AztecAsyncMultiMap; + + /** The scope dimension: the set of scopes each fact is visible under. Keyed by fact key, which carries the collection + * key as a prefix, so a collection's scopes are recoverable via a prefix range scan. */ + #scopesByFact: AztecAsyncMultiMap; + + /** Index for delete-on-prune of retractable facts (those with an origin block). */ + #factsByBlock: AztecAsyncMultiMap; + + /** Job uncommitted data */ + #opsForJob: Map; + + /** Per-job locks */ + #jobLocks: Map; + + logger = createLogger('fact_store'); + + constructor(store: AztecAsyncKVStore) { + this.#store = store; + this.#facts = store.openMap('facts'); + this.#factsByCollection = store.openMultiMap('facts_by_collection'); + this.#scopesByFact = store.openMultiMap('scopes_by_fact'); + this.#factsByBlock = store.openMultiMap('facts_by_block'); + this.#opsForJob = new Map(); + this.#jobLocks = new Map(); + } + + /** + * Records a fact in a collection, visible under the given scope. + * + * The collection is created implicitly on the first fact recorded for its key: recording into an existing collection + * just adds to it. + * + * If `originBlock === undefined`, the fact is non-retractable: it survives reorgs. A defined origin block makes the + * fact retractable: on a prune below its block, it will be deleted. + * + * Idempotent: re-recording an identical fact (same collection, fact type, payload, and origin block) is a no-op. + * The same payload tied to a different origin block is a distinct fact. + */ + recordFact( + factCollectionKey: FactCollectionKey, + factTypeId: Fr, + payload: Fr[], + originBlock: OriginBlock | undefined, + scope: AztecAddress, + jobId: string, + ): Promise { + return this.#withJobLock(jobId, () => { + this.#stagedOpsFor(jobId).push({ + kind: 'recordFact', + fact: new StoredFact(factCollectionKey, factTypeId, payload, originBlock), + scope, + }); + return Promise.resolve(); + }); + } + + /** + * Removes a fact collection from the given scope: removes that scope from every one of the collection's facts, + * reaping any fact thereby left with no scope. + * + * This is typically done when the collection has finalized for that scope and there's no more work to do, to save + * disk space and to avoid re-processing it indefinitely. A scope only ever retracts its own view: facts another + * scope still references survive. + * + * Idempotent: descoping a collection (or fact) that is not visible under the given scope is a no-op. + */ + removeFactCollection(factCollectionKey: FactCollectionKey, scope: AztecAddress, jobId: string): Promise { + return this.#withJobLock(jobId, () => { + this.#stagedOpsFor(jobId).push({ kind: 'removeFactCollection', key: factCollectionKey, scope }); + return Promise.resolve(); + }); + } + + /** + * Returns one fact collection, holding the facts visible under any of the given scopes, or undefined if no fact of + * the collection is visible under them. + */ + async getFactCollection( + factCollectionKey: FactCollectionKey, + scopes: AztecAddress[], + jobId: string, + ): Promise { + const collectionKey = factCollectionKey.toString(); + const committed = await this.#store.transactionAsync(() => this.#readCollectionsFromDb([factCollectionKey])); + + const collection = this.#foldStagedOps(committed, jobId).get(collectionKey); + if (!collection) { + return undefined; + } + const facts = this.#visibleFacts(collection, scopes); + return facts.length > 0 ? { key: factCollectionKey, facts } : undefined; + } + + /** + * Returns every fact collection of the given type that has at least one fact visible under the given scopes, each + * holding only its facts visible under them. + */ + async getFactCollectionsByType( + factCollectionTypeKey: FactCollectionTypeKey, + scopes: AztecAddress[], + jobId: string, + ): Promise { + const typeKey = factCollectionTypeKey.toString(); + const committed = await this.#readCollectionsFromDbByType(typeKey); + + return Array.from(this.#foldStagedOps(committed, jobId, typeKey).values()) + .map(collection => ({ key: collection.key, facts: this.#visibleFacts(collection, scopes) })) + .filter(collection => collection.facts.length > 0); + } + + /** + * Commits all staged operations for the given job to persistent storage. + * + * Must be called inside a transaction owned by the caller (JobCoordinator wraps all commits in a single + * transactionAsync, and IndexedDB does not support nested transactions). + * + * DO NOT call `#withJobLock` here: awaiting the lock creates a microtask boundary that causes IndexedDB to + * auto-commit the outer transaction. + */ + async commit(jobId: string): Promise { + for (const op of this.#stagedOpsFor(jobId)) { + switch (op.kind) { + case 'recordFact': + await this.#commitFact(op.fact, op.scope); + break; + case 'removeFactCollection': + await this.#descopeCollection(op.key.toString(), op.scope.toString()); + break; + default: { + const _exhaustive: never = op; + throw new Error(`Unhandled FactStore staged op kind: ${JSON.stringify(_exhaustive)}`); + } + } + } + this.#clearJobData(jobId); + } + + /** Discards all staged operations for the given job without persisting them. */ + discardStaged(jobId: string): Promise { + this.#clearJobData(jobId); + return Promise.resolve(); + } + + /** + * Removes every retractable fact originating from blocks over height `toBlock`, across all scopes. + * + * Non-retractable facts are untouched. Must run inside a caller-owned transaction (because it needs to share the + * transaction with other stores and IndexedDB has no nested transactions). + * + * Throws if any job is in flight (has accessed the store and not yet committed or discarded), since rolling back + * mid-job could re-introduce records originating from deleted blocks or change state underneath a job's view. + */ + async rollback(toBlock: BlockNum): Promise { + if (this.#opsForJob.size > 0) { + throw new Error('PXE fact store rollback is not allowed while jobs are running'); + } + + const removedFacts = await this.#retractFacts(toBlock); + + this.logger.verbose('rolled back fact store', { removedFacts, toBlock }); + } + + /** + * Deletes retractable facts originating above `toBlock` (taking their scope entries with them), returning the number + * of by-block entries scanned. A reorg invalidates a fact for every scope, so this is scope-agnostic. + * + * Requires to be run in a transactionAsync context. + */ + async #retractFacts(toBlock: BlockNum): Promise { + // Snapshot the orphaned fact keys before mutating so we never delete from the cursor we are iterating. + const factKeysToRetract: FactKeyStr[] = []; + for await (const [, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { + factKeysToRetract.push(factKey); + } + await Promise.all( + factKeysToRetract.map(async factKey => { + const buf = await this.#facts.getAsync(factKey); + if (!buf) { + // The by-block index just yielded this factKey, so a missing primary record means the indexes are out of + // sync. Log as this should be unreachable unless there is a bug. + this.logger.warn('Skipping retraction of a fact missing from the primary store: by-block index is stale', { + factKey, + }); + return; + } + await this.#deleteFact(factKey, StoredFact.fromBuffer(buf)); + }), + ); + return factKeysToRetract.length; + } + + /** + * Reads the given collections (their facts, each with its scopes) by key into a Map keyed by collection key, skipping + * keys with no committed facts. + * + * Reads are not wrapped in a transaction: the caller owns the transaction boundary. + */ + async #readCollectionsFromDb(keys: FactCollectionKey[]): Promise> { + const result = new Map(); + for (const key of keys) { + const collection = await this.#loadCommittedCollection(key.toString()); + if (collection) { + result.set(key.toString(), collection); + } + } + return result; + } + + /** + * Reads every committed collection of the given type with its facts and their scopes. + * + * Note collection keys are `${typeKey}:${collectionId}`, which lets us discover a type's collections by range-scanning + * the by-collection index without additional indexes. + */ + #readCollectionsFromDbByType(typeKey: FactCollectionTypeKeyStr) { + return this.#store.transactionAsync(async () => { + const collectionKeys = new Set(); + for await (const [collectionKey] of this.#factsByCollection.entriesAsync({ + start: `${typeKey}:`, + end: `${typeKey};`, + })) { + collectionKeys.add(collectionKey); + } + const result = new Map(); + for (const collectionKey of collectionKeys) { + const collection = await this.#loadCommittedCollection(collectionKey); + if (collection) { + result.set(collectionKey, collection); + } + } + return result; + }); + } + + /** + * Loads a committed collection or undefined if it has no committed facts. + * + * Caller must wrap in a transaction. + */ + async #loadCommittedCollection(collectionKey: FactCollectionKeyStr): Promise { + // Kick off each fact read while iterating the index so a DB request is always pending. Draining the cursor and only + // then reading the facts one `await` at a time would let the IndexedDB transaction auto-commit at the boundary + // (IndexedDB auto-commits once control returns to the event loop with no pending request), throwing mid-read on the + // browser backend. + const factReads = new Map>(); + for await (const factKey of this.#factsByCollection.getValuesAsync(collectionKey)) { + factReads.set(factKey, this.#facts.getAsync(factKey)); + } + if (factReads.size === 0) { + return undefined; + } + + // The fact point-reads are now in flight; drain every scope of the collection in one prefix range scan (fact keys + // carry the collection key as a prefix) while those reads remain pending, keeping a DB request live throughout. + const scopesByFactKey = new Map>(); + for await (const [factKey, scope] of this.#scopesByFact.entriesAsync({ + start: `${collectionKey}:`, + end: `${collectionKey};`, + })) { + let scopes = scopesByFactKey.get(factKey); + if (!scopes) { + scopes = new Set(); + scopesByFactKey.set(factKey, scopes); + } + scopes.add(scope); + } + + const factKeys = [...factReads.keys()]; + const bufs = await Promise.all(factReads.values()); + + // Await-free tail: deserialize. No DB ops from here on. + let key: FactCollectionKey | undefined; + const facts = new Map(); + for (let i = 0; i < factKeys.length; i++) { + const factKey = factKeys[i]; + const buf = bufs[i]; + if (!buf) { + // Defensive: a #factsByCollection entry must always reference a live #facts entry. A missing one means the + // indexes are corrupt. + throw new Error(`Fact not found for factKey ${factKey}`); + } + const stored = StoredFact.fromBuffer(buf); + key ??= stored.factCollectionKey; + facts.set(factKey, { fact: stored.toFact(), scopes: scopesByFactKey.get(factKey) ?? new Set() }); + } + return { key: key!, facts }; + } + + /** The facts of the collection visible under any of the given scopes. */ + #visibleFacts(collection: CollectionWithFacts, queryScopes: AztecAddress[]): Fact[] { + const queried = new Set(queryScopes.map(scope => scope.toString())); + return Array.from(collection.facts.values(), ({ fact, scopes }) => + [...scopes].some(scope => queried.has(scope)) ? fact : undefined, + ).filter((fact): fact is Fact => fact !== undefined); + } + + /** + * Assembles the current view of a collection of collections together with their facts and per-fact scopes, combining + * the committed with staged data. + * + * When `typeKey` is given, staged records of other types are ignored, so the result holds only that type. + */ + #foldStagedOps( + committed: Map, + jobId: string, + typeKey?: FactCollectionTypeKeyStr, + ): Map { + const result = new Map(); + + // Copy to avoid mutating contents of `committed` (including each fact's scope set) + for (const [collectionKey, { key, facts }] of committed) { + const copied = new Map(); + for (const [factKey, { fact, scopes }] of facts) { + copied.set(factKey, { fact, scopes: new Set(scopes) }); + } + result.set(collectionKey, { key, facts: copied }); + } + for (const op of this.#stagedOpsFor(jobId)) { + switch (op.kind) { + case 'recordFact': { + const key = op.fact.factCollectionKey; + if (typeKey !== undefined && key.factCollectionTypeKey().toString() !== typeKey) { + break; + } + const collectionKey = key.toString(); + let collection = result.get(collectionKey); + if (!collection) { + collection = { key, facts: new Map() }; + result.set(collectionKey, collection); + } + // Fact dedup is scope-free: re-recording the same fact under a new scope keeps one fact and unions the scope. + const fKey = factKeyStrOf(op.fact); + let factWithScopes = collection.facts.get(fKey); + if (!factWithScopes) { + factWithScopes = { fact: op.fact.toFact(), scopes: new Set() }; + collection.facts.set(fKey, factWithScopes); + } + factWithScopes.scopes.add(op.scope.toString()); + break; + } + case 'removeFactCollection': { + // Descope: drop the scope from each of the collection's facts, reaping facts left with no scope. + const collection = result.get(op.key.toString()); + if (collection) { + const scopeStr = op.scope.toString(); + for (const [factKey, { scopes }] of collection.facts) { + scopes.delete(scopeStr); + if (scopes.size === 0) { + collection.facts.delete(factKey); + } + } + if (collection.facts.size === 0) { + result.delete(op.key.toString()); + } + } + break; + } + default: { + const _exhaustive: never = op; + throw new Error(`Unhandled FactStore staged op kind: ${JSON.stringify(_exhaustive)}`); + } + } + } + return result; + } + + /** + * Writes a fact to persistent storage and adds its scope to that fact's scope set. + * + * First-write-wins on the fact body: if an identical fact already exists (same scope-free identity) it is left + * untouched, so the same fact recorded under several scopes is stored once. The scope is added regardless (the + * multimap dedups identical entries), so the new scope joins the fact's set. + */ + async #commitFact(fact: StoredFact, scope: AztecAddress): Promise { + const factKey = factKeyStrOf(fact); + if (await this.#facts.hasAsync(factKey)) { + this.logger.debug(`Ignoring already recorded fact`, { factKey }); + } else { + await this.#facts.set(factKey, fact.toBuffer()); + await this.#factsByCollection.set(fact.factCollectionKey.toString(), factKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); + } + } + await this.#scopesByFact.set(factKey, scope.toString()); + } + + /** + * Removes `scope` from every fact in the collection, reaping any fact thereby left with no scope. + * + * Caller must wrap in a transaction. + */ + async #descopeCollection(collectionKey: FactCollectionKeyStr, scope: ScopeStr): Promise { + // Snapshot the fact index before mutating so we never delete from the cursor we are iterating. + const factKeys: FactKeyStr[] = []; + for await (const factKey of this.#factsByCollection.getValuesAsync(collectionKey)) { + factKeys.push(factKey); + } + await Promise.all( + factKeys.map(async factKey => { + await this.#scopesByFact.deleteValue(factKey, scope); + if ((await this.#scopesByFact.getValueCountAsync(factKey)) > 0) { + return; + } + const buf = await this.#facts.getAsync(factKey); + if (!buf) { + // A #factsByCollection entry must always reference a live #facts entry, a missing one means the indexes are + // corrupt. + throw new Error(`Fact not found for factKey ${factKey}`); + } + await this.#deleteFact(factKey, StoredFact.fromBuffer(buf)); + }), + ); + } + + /** + * Deletes a fact from the primary store and all its indexes (`#factsByCollection`, `#scopesByFact`, plus + * `#factsByBlock` if retractable). + * + * Caller must wrap in a transaction. + */ + async #deleteFact(factKey: FactKeyStr, fact: StoredFact): Promise { + await this.#facts.delete(factKey); + await this.#factsByCollection.deleteValue(fact.factCollectionKey.toString(), factKey); + await this.#scopesByFact.delete(factKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); + } + } + + /** + * Returns the job's staged-ops array, creating it on first access. + * */ + #stagedOpsFor(jobId: string): StagedOp[] { + let ops = this.#opsForJob.get(jobId); + if (ops === undefined) { + ops = []; + this.#opsForJob.set(jobId, ops); + } + return ops; + } + + #clearJobData(jobId: string) { + this.#opsForJob.delete(jobId); + this.#jobLocks.delete(jobId); + } + + async #withJobLock(jobId: string, fn: () => Promise): Promise { + let lock = this.#jobLocks.get(jobId); + if (!lock) { + lock = new Semaphore(1); + this.#jobLocks.set(jobId, lock); + } + await lock.acquire(); + try { + return await fn(); + } finally { + lock.release(); + } + } +} diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts new file mode 100644 index 000000000000..80b4726b330f --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts @@ -0,0 +1,46 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { FieldsOf } from '@aztec/foundation/types'; +import type { AztecAddress } from '@aztec/stdlib/aztec-address'; + +/** + * The block a retractable fact originates from. + */ +export type OriginBlock = { blockNumber: number; blockHash: Fr }; + +/** Identifies all fact collections of one type within a contract. */ +export class FactCollectionTypeKey { + constructor( + public readonly contractAddress: AztecAddress, + public readonly factCollectionTypeId: Fr, + ) {} + + static from(fields: FieldsOf): FactCollectionTypeKey { + return new FactCollectionTypeKey(fields.contractAddress, fields.factCollectionTypeId); + } + + toString(): string { + return `${this.contractAddress}:${this.factCollectionTypeId}`; + } +} + +/** Uniquely identifies a single fact collection; all its facts share this key. */ +export class FactCollectionKey { + constructor( + public readonly contractAddress: AztecAddress, + public readonly factCollectionTypeId: Fr, + public readonly factCollectionId: Fr, + ) {} + + static from(fields: FieldsOf): FactCollectionKey { + return new FactCollectionKey(fields.contractAddress, fields.factCollectionTypeId, fields.factCollectionId); + } + + /** The key grouping this collection with the other collections of its type within the same contract. */ + factCollectionTypeKey(): FactCollectionTypeKey { + return new FactCollectionTypeKey(this.contractAddress, this.factCollectionTypeId); + } + + toString(): string { + return `${this.factCollectionTypeKey()}:${this.factCollectionId}`; + } +} diff --git a/yarn-project/pxe/src/storage/fact_store/index.ts b/yarn-project/pxe/src/storage/fact_store/index.ts new file mode 100644 index 000000000000..c9ec479aa6c3 --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/index.ts @@ -0,0 +1,3 @@ +export { FactStore, type FactCollection } from './fact_store.js'; +export { FactCollectionKey, FactCollectionTypeKey, type OriginBlock } from './fact_store_keys.js'; +export type { Fact } from './stored_fact.js'; diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts similarity index 75% rename from yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts rename to yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts index d67b7639c8a5..ddbbb7fe1691 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts @@ -1,16 +1,19 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey } from './entity_store_keys.js'; +import { FactCollectionKey } from './fact_store_keys.js'; import { StoredFact, factKeyStrOf } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); - const scope = AztecAddress.fromBigInt(1n); - const entityType = new Fr(7n); - const entityId = new Fr(42n); + const collectionType = new Fr(7n); + const collectionId = new Fr(42n); const factType = new Fr(3n); - const key = EntityKey.from({ contractAddress: contract, scope, entityTypeId: entityType, entityId }); + const key = FactCollectionKey.from({ + contractAddress: contract, + factCollectionTypeId: collectionType, + factCollectionId: collectionId, + }); it('round-trips a retractable fact through buffer serialization', () => { const fact = new StoredFact(key, factType, [new Fr(9n), new Fr(10n)], { @@ -31,16 +34,16 @@ describe('StoredFact', () => { it('derives stable composite keys including the origin block', () => { const nonRetractable = new StoredFact(key, factType, [new Fr(9n)], undefined); - expect(nonRetractable.entityKey.entityTypeKey().toString()).toBe(`${contract}:${scope}:${entityType}`); - expect(nonRetractable.entityKey.toString()).toBe(`${contract}:${scope}:${entityType}:${entityId}`); + expect(nonRetractable.factCollectionKey.factCollectionTypeKey().toString()).toBe(`${contract}:${collectionType}`); + expect(nonRetractable.factCollectionKey.toString()).toBe(`${contract}:${collectionType}:${collectionId}`); expect(factKeyStrOf(nonRetractable)).toBe( - nonRetractable.entityKey.toString() + `:${factType}:${nonRetractable.payloadHash()}:none`, + nonRetractable.factCollectionKey.toString() + `:${factType}:${nonRetractable.payloadHash()}:none`, ); const blockHash = new Fr(0xabcn); const retractable = new StoredFact(key, factType, [new Fr(9n)], { blockNumber: 5, blockHash }); expect(factKeyStrOf(retractable)).toBe( - retractable.entityKey.toString() + `:${factType}:${retractable.payloadHash()}:5:${blockHash}`, + retractable.factCollectionKey.toString() + `:${factType}:${retractable.payloadHash()}:5:${blockHash}`, ); }); diff --git a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts b/yarn-project/pxe/src/storage/fact_store/stored_fact.ts similarity index 74% rename from yarn-project/pxe/src/storage/entity_store/stored_fact.ts rename to yarn-project/pxe/src/storage/fact_store/stored_fact.ts index befa234f4fc8..f031e081e8b7 100644 --- a/yarn-project/pxe/src/storage/entity_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/fact_store/stored_fact.ts @@ -3,17 +3,17 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { EntityKey, type OriginBlock } from './entity_store_keys.js'; +import { FactCollectionKey, type OriginBlock } from './fact_store_keys.js'; -/** A fact as returned by the entity store: its type and payload, plus the optional origin block it is tied to. */ +/** A fact as returned by the fact store. */ export type Fact = { factTypeId: Fr; payload: Fr[]; originBlock: OriginBlock | undefined }; /** - * A single immutable fact about an entity. + * A single immutable fact belonging to a fact collection. */ export class StoredFact { constructor( - public readonly entityKey: EntityKey, + public readonly factCollectionKey: FactCollectionKey, public readonly factTypeId: Fr, public readonly payload: Fr[], public readonly originBlock: OriginBlock | undefined, @@ -24,7 +24,7 @@ export class StoredFact { return this.originBlock !== undefined; } - /** Stable digest of the payload, used to deduplicate. */ + /** Stable digest of the payload, used for fact idempotency. */ payloadHash(): Fr { return sha256ToField([this.payload.length, ...this.payload]); } @@ -36,10 +36,9 @@ export class StoredFact { toBuffer(): Buffer { return serializeToBuffer( - this.entityKey.contractAddress, - this.entityKey.scope, - this.entityKey.entityTypeId, - this.entityKey.entityId, + this.factCollectionKey.contractAddress, + this.factCollectionKey.factCollectionTypeId, + this.factCollectionKey.factCollectionId, this.factTypeId, this.payload.length, ...this.payload, @@ -52,9 +51,8 @@ export class StoredFact { static fromBuffer(buffer: Buffer | BufferReader): StoredFact { const reader = BufferReader.asReader(buffer); const contractAddress = reader.readObject(AztecAddress); - const scope = reader.readObject(AztecAddress); - const entityTypeId = reader.readObject(Fr); - const entityId = reader.readObject(Fr); + const factCollectionTypeId = reader.readObject(Fr); + const factCollectionId = reader.readObject(Fr); const factTypeId = reader.readObject(Fr); const payloadLen = reader.readNumber(); const payload = reader.readArray(payloadLen, Fr); @@ -63,7 +61,7 @@ export class StoredFact { const blockHash = reader.readObject(Fr); const originBlock = hasOriginBlock ? { blockNumber, blockHash } : undefined; return new StoredFact( - new EntityKey(contractAddress, scope, entityTypeId, entityId), + new FactCollectionKey(contractAddress, factCollectionTypeId, factCollectionId), factTypeId, [...payload], originBlock, @@ -76,5 +74,5 @@ export class StoredFact { */ export function factKeyStrOf(fact: StoredFact): string { const origin = fact.originBlock ? `${fact.originBlock.blockNumber}:${fact.originBlock.blockHash}` : 'none'; - return `${fact.entityKey}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; + return `${fact.factCollectionKey}:${fact.factTypeId}:${fact.payloadHash()}:${origin}`; } diff --git a/yarn-project/pxe/src/storage/index.ts b/yarn-project/pxe/src/storage/index.ts index c52e353eb6d1..1ac82688c9fe 100644 --- a/yarn-project/pxe/src/storage/index.ts +++ b/yarn-project/pxe/src/storage/index.ts @@ -2,7 +2,7 @@ export * from './address_store/index.js'; export * from './anchor_block_store/index.js'; export * from './capsule_store/index.js'; export * from './contract_store/index.js'; -export * from './entity_store/index.js'; +export * from './fact_store/index.js'; export * from './note_store/index.js'; export * from './tagging_store/index.js'; export * from './metadata.js'; diff --git a/yarn-project/pxe/src/storage/open_pxe_stores.ts b/yarn-project/pxe/src/storage/open_pxe_stores.ts index 45d6d131ae79..a38aadac6022 100644 --- a/yarn-project/pxe/src/storage/open_pxe_stores.ts +++ b/yarn-project/pxe/src/storage/open_pxe_stores.ts @@ -7,7 +7,7 @@ import { AddressStore } from './address_store/address_store.js'; import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js'; import { CapsuleStore } from './capsule_store/capsule_store.js'; import { ContractStore } from './contract_store/contract_store.js'; -import { EntityStore } from './entity_store/entity_store.js'; +import { FactStore } from './fact_store/fact_store.js'; import { NoteStore } from './note_store/note_store.js'; import { PrivateEventStore } from './private_event_store/private_event_store.js'; import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from './tagging_store/index.js'; @@ -27,7 +27,7 @@ export type PxeStores = { capsuleStore: CapsuleStore; keyStore: KeyStore; l2TipsStore: L2TipsKVStore; - entityStore: EntityStore; + factStore: FactStore; }; /** @@ -47,6 +47,6 @@ export function openPxeStores(store: AztecAsyncKVStore, initialBlockHash: BlockH capsuleStore: new CapsuleStore(store), keyStore: new KeyStore(store), l2TipsStore: new L2TipsKVStore(store, 'pxe', initialBlockHash), - entityStore: new EntityStore(store), + factStore: new FactStore(store), }; } From c5563e7fa5ccce8ce89ab5850e97af81309ecf51 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 10:32:53 +0000 Subject: [PATCH 101/197] more robust for idb --- .../pxe/src/storage/fact_store/fact_store.ts | 90 +++++++++++++------ 1 file changed, 64 insertions(+), 26 deletions(-) diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.ts index 5a725d68c084..5fc92ac0ee1b 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.ts @@ -237,14 +237,16 @@ export class FactStore implements StagedStore { * Requires to be run in a transactionAsync context. */ async #retractFacts(toBlock: BlockNum): Promise { - // Snapshot the orphaned fact keys before mutating so we never delete from the cursor we are iterating. - const factKeysToRetract: FactKeyStr[] = []; + // Snapshot the orphaned fact keys before mutating so we never delete from the cursor we are iterating, kicking off + // each fact-body read during the scan so a DB request stays pending across the cursor-to-delete boundary (a drained + // cursor with no read in flight would let the transaction auto-commit before the deletes). + const factReads = new Map>(); for await (const [, factKey] of this.#factsByBlock.entriesAsync({ start: toBlock + 1 })) { - factKeysToRetract.push(factKey); + factReads.set(factKey, this.#facts.getAsync(factKey)); } await Promise.all( - factKeysToRetract.map(async factKey => { - const buf = await this.#facts.getAsync(factKey); + Array.from(factReads, async ([factKey, read]) => { + const buf = await read; if (!buf) { // The by-block index just yielded this factKey, so a missing primary record means the indexes are out of // sync. Log as this should be unreachable unless there is a bug. @@ -256,7 +258,7 @@ export class FactStore implements StagedStore { await this.#deleteFact(factKey, StoredFact.fromBuffer(buf)); }), ); - return factKeysToRetract.length; + return factReads.size; } /** @@ -277,26 +279,35 @@ export class FactStore implements StagedStore { } /** - * Reads every committed collection of the given type with its facts and their scopes. + * Reads every committed collection of the given type with its facts and their scopes, in a single pass. * - * Note collection keys are `${typeKey}:${collectionId}`, which lets us discover a type's collections by range-scanning - * the by-collection index without additional indexes. + * Collection keys are `${typeKey}:${collectionId}` and fact keys carry the collection key (hence the type key) as a + * prefix, so one range scan of each index spans the whole type. Fact-body reads are kicked off during the first scan + * and stay pending through the second, keeping a DB request live throughout so the transaction never auto-commits + * mid-read. */ #readCollectionsFromDbByType(typeKey: FactCollectionTypeKeyStr) { return this.#store.transactionAsync(async () => { - const collectionKeys = new Set(); - for await (const [collectionKey] of this.#factsByCollection.entriesAsync({ + const factReadsByCollection = new Map>>(); + for await (const [collectionKey, factKey] of this.#factsByCollection.entriesAsync({ start: `${typeKey}:`, end: `${typeKey};`, })) { - collectionKeys.add(collectionKey); + let reads = factReadsByCollection.get(collectionKey); + if (!reads) { + reads = new Map>(); + factReadsByCollection.set(collectionKey, reads); + } + reads.set(factKey, this.#facts.getAsync(factKey)); } + + // The fact point-reads are now in flight; drain every scope of the type in one range scan while they remain + // pending. Then await the (already issued) reads to assemble — no further DB requests are issued. + const scopesByFactKey = await this.#readScopesByFactKey(typeKey); + const result = new Map(); - for (const collectionKey of collectionKeys) { - const collection = await this.#loadCommittedCollection(collectionKey); - if (collection) { - result.set(collectionKey, collection); - } + for (const [collectionKey, reads] of factReadsByCollection) { + result.set(collectionKey, await this.#assembleCollection(reads, scopesByFactKey)); } return result; }); @@ -322,10 +333,22 @@ export class FactStore implements StagedStore { // The fact point-reads are now in flight; drain every scope of the collection in one prefix range scan (fact keys // carry the collection key as a prefix) while those reads remain pending, keeping a DB request live throughout. + const scopesByFactKey = await this.#readScopesByFactKey(collectionKey); + + return this.#assembleCollection(factReads, scopesByFactKey); + } + + /** + * Drains the scope index for a fact-key prefix (a collection key, or a type key to span every collection of a type) + * into a map of fact key to scope set, in a single range scan. + * + * Caller must wrap in a transaction. + */ + async #readScopesByFactKey(factKeyPrefix: string): Promise>> { const scopesByFactKey = new Map>(); for await (const [factKey, scope] of this.#scopesByFact.entriesAsync({ - start: `${collectionKey}:`, - end: `${collectionKey};`, + start: `${factKeyPrefix}:`, + end: `${factKeyPrefix};`, })) { let scopes = scopesByFactKey.get(factKey); if (!scopes) { @@ -334,9 +357,22 @@ export class FactStore implements StagedStore { } scopes.add(scope); } + return scopesByFactKey; + } - const factKeys = [...factReads.keys()]; - const bufs = await Promise.all(factReads.values()); + /** + * Awaits a collection's in-flight fact-body reads and assembles them with their scopes into a {@link + * CollectionWithFacts}. The collection key is recovered from a stored fact, so no key-string parsing is needed. + * + * `reads` must already be issued (pending) so awaiting them keeps the transaction alive; this method issues no new DB + * requests. + */ + async #assembleCollection( + reads: Map>, + scopesByFactKey: Map>, + ): Promise { + const factKeys = [...reads.keys()]; + const bufs = await Promise.all(reads.values()); // Await-free tail: deserialize. No DB ops from here on. let key: FactCollectionKey | undefined; @@ -461,18 +497,20 @@ export class FactStore implements StagedStore { * Caller must wrap in a transaction. */ async #descopeCollection(collectionKey: FactCollectionKeyStr, scope: ScopeStr): Promise { - // Snapshot the fact index before mutating so we never delete from the cursor we are iterating. - const factKeys: FactKeyStr[] = []; + // Snapshot the fact index before mutating so we never delete from the cursor we are iterating, kicking off each + // fact-body read during the scan so a DB request stays pending across the cursor-to-mutation boundary (a drained + // cursor with no read in flight would let the transaction auto-commit before the descope writes). + const factReads = new Map>(); for await (const factKey of this.#factsByCollection.getValuesAsync(collectionKey)) { - factKeys.push(factKey); + factReads.set(factKey, this.#facts.getAsync(factKey)); } await Promise.all( - factKeys.map(async factKey => { + Array.from(factReads, async ([factKey, read]) => { + const buf = await read; await this.#scopesByFact.deleteValue(factKey, scope); if ((await this.#scopesByFact.getValueCountAsync(factKey)) > 0) { return; } - const buf = await this.#facts.getAsync(factKey); if (!buf) { // A #factsByCollection entry must always reference a live #facts entry, a missing one means the indexes are // corrupt. From d99df2b7691020af73b313c00c697ea6b8ec41c6 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 12:05:38 +0000 Subject: [PATCH 102/197] tweaks --- .../pxe/src/storage/fact_store/fact_store.ts | 158 +++++++++++------- .../src/storage/fact_store/fact_store_keys.ts | 14 +- 2 files changed, 107 insertions(+), 65 deletions(-) diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.ts index 5fc92ac0ee1b..5f3f7ab3d842 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.ts @@ -69,8 +69,7 @@ export class FactStore implements StagedStore { /** Index for per-collection fact enumeration and by-type collection discovery. */ #factsByCollection: AztecAsyncMultiMap; - /** The scope dimension: the set of scopes each fact is visible under. Keyed by fact key, which carries the collection - * key as a prefix, so a collection's scopes are recoverable via a prefix range scan. */ + /** The set of scopes each fact is visible under. */ #scopesByFact: AztecAsyncMultiMap; /** Index for delete-on-prune of retractable facts (those with an origin block). */ @@ -270,7 +269,7 @@ export class FactStore implements StagedStore { async #readCollectionsFromDb(keys: FactCollectionKey[]): Promise> { const result = new Map(); for (const key of keys) { - const collection = await this.#loadCommittedCollection(key.toString()); + const collection = await this.#loadCommittedCollection(key); if (collection) { result.set(key.toString(), collection); } @@ -280,11 +279,6 @@ export class FactStore implements StagedStore { /** * Reads every committed collection of the given type with its facts and their scopes, in a single pass. - * - * Collection keys are `${typeKey}:${collectionId}` and fact keys carry the collection key (hence the type key) as a - * prefix, so one range scan of each index spans the whole type. Fact-body reads are kicked off during the first scan - * and stay pending through the second, keeping a DB request live throughout so the transaction never auto-commits - * mid-read. */ #readCollectionsFromDbByType(typeKey: FactCollectionTypeKeyStr) { return this.#store.transactionAsync(async () => { @@ -301,46 +295,46 @@ export class FactStore implements StagedStore { reads.set(factKey, this.#facts.getAsync(factKey)); } - // The fact point-reads are now in flight; drain every scope of the type in one range scan while they remain - // pending. Then await the (already issued) reads to assemble — no further DB requests are issued. const scopesByFactKey = await this.#readScopesByFactKey(typeKey); const result = new Map(); for (const [collectionKey, reads] of factReadsByCollection) { - result.set(collectionKey, await this.#assembleCollection(reads, scopesByFactKey)); + const collection = await this.#assembleCollection( + FactCollectionKey.fromString(collectionKey), + reads, + scopesByFactKey, + ); + result.set(collectionKey, collection); } return result; }); } /** - * Loads a committed collection or undefined if it has no committed facts. + * Loads and returns a committed collection or undefined if it has no committed facts. * * Caller must wrap in a transaction. */ - async #loadCommittedCollection(collectionKey: FactCollectionKeyStr): Promise { + async #loadCommittedCollection(collectionKey: FactCollectionKey): Promise { // Kick off each fact read while iterating the index so a DB request is always pending. Draining the cursor and only // then reading the facts one `await` at a time would let the IndexedDB transaction auto-commit at the boundary // (IndexedDB auto-commits once control returns to the event loop with no pending request), throwing mid-read on the // browser backend. const factReads = new Map>(); - for await (const factKey of this.#factsByCollection.getValuesAsync(collectionKey)) { + for await (const factKey of this.#factsByCollection.getValuesAsync(collectionKey.toString())) { factReads.set(factKey, this.#facts.getAsync(factKey)); } if (factReads.size === 0) { return undefined; } - // The fact point-reads are now in flight; drain every scope of the collection in one prefix range scan (fact keys - // carry the collection key as a prefix) while those reads remain pending, keeping a DB request live throughout. - const scopesByFactKey = await this.#readScopesByFactKey(collectionKey); + const scopesByFactKey = await this.#readScopesByFactKey(collectionKey.toString()); - return this.#assembleCollection(factReads, scopesByFactKey); + return this.#assembleCollection(collectionKey, factReads, scopesByFactKey); } /** - * Drains the scope index for a fact-key prefix (a collection key, or a type key to span every collection of a type) - * into a map of fact key to scope set, in a single range scan. + * Read all scopes that can view a fact * * Caller must wrap in a transaction. */ @@ -361,13 +355,12 @@ export class FactStore implements StagedStore { } /** - * Awaits a collection's in-flight fact-body reads and assembles them with their scopes into a {@link - * CollectionWithFacts}. The collection key is recovered from a stored fact, so no key-string parsing is needed. + * Assemble a collection's facts and their scopes from a collection of in-flight DB reads. * - * `reads` must already be issued (pending) so awaiting them keeps the transaction alive; this method issues no new DB - * requests. + * This is an auxiliary function. */ async #assembleCollection( + collectionKey: FactCollectionKey, reads: Map>, scopesByFactKey: Map>, ): Promise { @@ -375,7 +368,6 @@ export class FactStore implements StagedStore { const bufs = await Promise.all(reads.values()); // Await-free tail: deserialize. No DB ops from here on. - let key: FactCollectionKey | undefined; const facts = new Map(); for (let i = 0; i < factKeys.length; i++) { const factKey = factKeys[i]; @@ -386,10 +378,14 @@ export class FactStore implements StagedStore { throw new Error(`Fact not found for factKey ${factKey}`); } const stored = StoredFact.fromBuffer(buf); - key ??= stored.factCollectionKey; + if (stored.factCollectionKey.toString() !== collectionKey.toString()) { + // Defensive: every read fact must belong to the collection being assembled. A mismatch means the indexes are + // corrupt. + throw new Error(`Fact ${factKey} does not belong to collection ${collectionKey}`); + } facts.set(factKey, { fact: stored.toFact(), scopes: scopesByFactKey.get(factKey) ?? new Set() }); } - return { key: key!, facts }; + return { key: collectionKey, facts }; } /** The facts of the collection visible under any of the given scopes. */ @@ -423,44 +419,12 @@ export class FactStore implements StagedStore { } for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { - case 'recordFact': { - const key = op.fact.factCollectionKey; - if (typeKey !== undefined && key.factCollectionTypeKey().toString() !== typeKey) { - break; - } - const collectionKey = key.toString(); - let collection = result.get(collectionKey); - if (!collection) { - collection = { key, facts: new Map() }; - result.set(collectionKey, collection); - } - // Fact dedup is scope-free: re-recording the same fact under a new scope keeps one fact and unions the scope. - const fKey = factKeyStrOf(op.fact); - let factWithScopes = collection.facts.get(fKey); - if (!factWithScopes) { - factWithScopes = { fact: op.fact.toFact(), scopes: new Set() }; - collection.facts.set(fKey, factWithScopes); - } - factWithScopes.scopes.add(op.scope.toString()); + case 'recordFact': + this.#foldRecordFact(result, op, typeKey); break; - } - case 'removeFactCollection': { - // Descope: drop the scope from each of the collection's facts, reaping facts left with no scope. - const collection = result.get(op.key.toString()); - if (collection) { - const scopeStr = op.scope.toString(); - for (const [factKey, { scopes }] of collection.facts) { - scopes.delete(scopeStr); - if (scopes.size === 0) { - collection.facts.delete(factKey); - } - } - if (collection.facts.size === 0) { - result.delete(op.key.toString()); - } - } + case 'removeFactCollection': + this.#foldRemoveFactCollection(result, op); break; - } default: { const _exhaustive: never = op; throw new Error(`Unhandled FactStore staged op kind: ${JSON.stringify(_exhaustive)}`); @@ -470,6 +434,74 @@ export class FactStore implements StagedStore { return result; } + /** + * Folds a staged `recordFact` op into view. + * + * When `typeKey` is given, an op of another type is ignored, keeping the view limited to that type. + */ + #foldRecordFact( + result: Map, + op: Extract, + typeKey?: FactCollectionTypeKeyStr, + ): void { + const key = op.fact.factCollectionKey; + + // Type filter doesn't match, nothing to do with this fact + if (typeKey !== undefined && key.factCollectionTypeKey().toString() !== typeKey) { + return; + } + + const collectionKey = key.toString(); + let collection = result.get(collectionKey); + + // Collection didn't exist before this point, the created fact brings it into existence + if (!collection) { + collection = { key, facts: new Map() }; + result.set(collectionKey, collection); + } + + const fKey = factKeyStrOf(op.fact); + let factWithScopes = collection.facts.get(fKey); + + if (!factWithScopes) { + // Fact is actually new, initialize + factWithScopes = { fact: op.fact.toFact(), scopes: new Set() }; + collection.facts.set(fKey, factWithScopes); + } + + // Add fact to scope + factWithScopes.scopes.add(op.scope.toString()); + } + + /** + * Folds a staged `removeFactCollection` op into the view. + */ + #foldRemoveFactCollection( + result: Map, + op: Extract, + ): void { + const collection = result.get(op.key.toString()); + if (!collection) { + return; + } + + // Remove any facts viewable by the op given scope + const scopeStr = op.scope.toString(); + for (const [factKey, { scopes }] of collection.facts) { + scopes.delete(scopeStr); + + // If no scopes retain access to this fact, remove the fact altogether + if (scopes.size === 0) { + collection.facts.delete(factKey); + } + } + + // If no facts remain after the scoped cleanse, remove the collection itself + if (collection.facts.size === 0) { + result.delete(op.key.toString()); + } + } + /** * Writes a fact to persistent storage and adds its scope to that fact's scope set. * diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts index 80b4726b330f..249f733ceed4 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts @@ -1,6 +1,6 @@ -import type { Fr } from '@aztec/foundation/curves/bn254'; +import { Fr } from '@aztec/foundation/curves/bn254'; import type { FieldsOf } from '@aztec/foundation/types'; -import type { AztecAddress } from '@aztec/stdlib/aztec-address'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; /** * The block a retractable fact originates from. @@ -35,6 +35,16 @@ export class FactCollectionKey { return new FactCollectionKey(fields.contractAddress, fields.factCollectionTypeId, fields.factCollectionId); } + /** Inverse of toString */ + static fromString(str: string): FactCollectionKey { + const [contractAddress, factCollectionTypeId, factCollectionId] = str.split(':'); + return new FactCollectionKey( + AztecAddress.fromString(contractAddress), + Fr.fromString(factCollectionTypeId), + Fr.fromString(factCollectionId), + ); + } + /** The key grouping this collection with the other collections of its type within the same contract. */ factCollectionTypeKey(): FactCollectionTypeKey { return new FactCollectionTypeKey(this.contractAddress, this.factCollectionTypeId); From 0c26d64c9ae874c0b02281d5edf89f2ef2fde939 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 13:07:42 +0000 Subject: [PATCH 103/197] use padArrayEnd --- .../noir-structs/resolved_tx.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts index c8229e60f83a..0da90f0a157b 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/resolved_tx.ts @@ -1,4 +1,5 @@ import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants'; +import { padArrayEnd } from '@aztec/foundation/collection'; import { Fr } from '@aztec/foundation/curves/bn254'; import { TxHash } from '@aztec/stdlib/tx'; @@ -35,19 +36,18 @@ export class ResolvedTx { } /** - * Helper function to serialize a bounded vector according to Noir's BoundedVec format + * Helper function to serialize a bounded vector according to Noir's BoundedVec format: the storage array padded to + * `maxLength`, followed by the actual length. * @param values - The values to serialize * @param maxLength - The maximum length of the bounded vector * @returns The serialized bounded vector as Fr[] - * @dev Copied over from message_context.ts. */ function serializeBoundedVec(values: Fr[], maxLength: number): Fr[] { - if (values.length > maxLength) { - throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`); - } - - const lengthDiff = maxLength - values.length; - const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO); - const storage = values.concat(zeroPaddingArray); + const storage = padArrayEnd( + values, + Fr.ZERO, + maxLength, + `Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`, + ); return [...storage, new Fr(values.length)]; } From 383cc7ca630a6d64ca0c3402ea68044b9fdcb147 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 14:25:36 +0000 Subject: [PATCH 104/197] make test more resilient --- .../standard/handshake_registry_contract/src/test.nr | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr b/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr index 0f9dad94a243..14014258d395 100644 --- a/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr +++ b/noir-projects/noir-contracts/contracts/standard/handshake_registry_contract/src/test.nr @@ -536,8 +536,15 @@ unconstrained fn multiple_senders_discovered_for_same_recipient() { discovered.items.get(0).eph_pk.x != discovered.items.get(1).eph_pk.x, "distinct senders should produce distinct ephemeral public keys", ); - assert_eq(discovered.items.get(0).mode, ONCHAIN_UNCONSTRAINED); - assert_eq(discovered.items.get(1).mode, ONCHAIN_CONSTRAINED); + + // TXE does not guarantee discovery order, so assert on the set of modes rather than their slot positions. + let mode_0 = discovered.items.get(0).mode; + let mode_1 = discovered.items.get(1).mode; + assert( + ((mode_0 == ONCHAIN_UNCONSTRAINED) & (mode_1 == ONCHAIN_CONSTRAINED)) + | ((mode_0 == ONCHAIN_CONSTRAINED) & (mode_1 == ONCHAIN_UNCONSTRAINED)), + "expected one unconstrained and one constrained handshake", + ); } #[test] From 231ca474d0abeb289e3670523f81864fa33f5bfe Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 15:25:39 +0000 Subject: [PATCH 105/197] refactor(pxe): encode scope in fact collection keys --- .../src/storage/fact_store/fact_store.test.ts | 16 +++++-- .../fact_store/fact_store_keys.test.ts | 43 +++++++++++++++++++ .../src/storage/fact_store/fact_store_keys.ts | 41 +++++++++++++----- .../storage/fact_store/stored_fact.test.ts | 8 +++- .../pxe/src/storage/fact_store/stored_fact.ts | 4 +- 5 files changed, 94 insertions(+), 18 deletions(-) create mode 100644 yarn-project/pxe/src/storage/fact_store/fact_store_keys.test.ts diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts index aafe92d069d2..0e4c073662dc 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts @@ -34,15 +34,17 @@ describe('FactStore', () => { collectionId2 = Fr.random(); collectionKey1 = FactCollectionKey.from({ contractAddress: contract, + scope, factCollectionTypeId, factCollectionId: collectionId1, }); collectionKey2 = FactCollectionKey.from({ contractAddress: contract, + scope, factCollectionTypeId, factCollectionId: collectionId2, }); - typeKey = FactCollectionTypeKey.from({ contractAddress: contract, factCollectionTypeId }); + typeKey = FactCollectionTypeKey.from({ contractAddress: contract, scope, factCollectionTypeId }); kv = await openTmpStore('fact-store-test'); store = new FactStore(kv); @@ -413,7 +415,12 @@ describe('FactStore', () => { const type2 = Fr.random(); await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); await store.recordFact( - FactCollectionKey.from({ contractAddress: contract2, factCollectionTypeId, factCollectionId: collectionId1 }), + FactCollectionKey.from({ + contractAddress: contract2, + scope, + factCollectionTypeId, + factCollectionId: collectionId1, + }), factTypeA, [Fr.random()], undefined, @@ -423,6 +430,7 @@ describe('FactStore', () => { await store.recordFact( FactCollectionKey.from({ contractAddress: contract, + scope, factCollectionTypeId: type2, factCollectionId: collectionId1, }), @@ -437,14 +445,14 @@ describe('FactStore', () => { expect(await store.getFactCollectionsByType(typeKey, [scope], JOB)).toHaveLength(1); expect( await store.getFactCollectionsByType( - FactCollectionTypeKey.from({ contractAddress: contract2, factCollectionTypeId }), + FactCollectionTypeKey.from({ contractAddress: contract2, scope, factCollectionTypeId }), [scope], JOB, ), ).toHaveLength(1); expect( await store.getFactCollectionsByType( - FactCollectionTypeKey.from({ contractAddress: contract, factCollectionTypeId: type2 }), + FactCollectionTypeKey.from({ contractAddress: contract, scope, factCollectionTypeId: type2 }), [scope], JOB, ), diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store_keys.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.test.ts new file mode 100644 index 000000000000..2c2e656f3045 --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.test.ts @@ -0,0 +1,43 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { FactCollectionKey, FactCollectionTypeKey } from './fact_store_keys.js'; + +describe('fact store keys', () => { + const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); + const type = new Fr(7n); + const id = new Fr(42n); + + const collectionKey = () => + FactCollectionKey.from({ contractAddress: contract, scope, factCollectionTypeId: type, factCollectionId: id }); + + it('encodes scope between contract and type in the collection key', () => { + expect(collectionKey().toString()).toBe(`${contract}:${scope}:${type}:${id}`); + }); + + it('encodes scope in the type key and carries it through factCollectionTypeKey()', () => { + expect(collectionKey().factCollectionTypeKey().toString()).toBe(`${contract}:${scope}:${type}`); + expect( + FactCollectionTypeKey.from({ contractAddress: contract, scope, factCollectionTypeId: type }).toString(), + ).toBe(`${contract}:${scope}:${type}`); + }); + + it('round-trips a collection key through fromString', () => { + expect(FactCollectionKey.fromString(collectionKey().toString())).toEqual(collectionKey()); + }); + + it('rejects the zero address as scope', () => { + expect(() => + FactCollectionKey.from({ + contractAddress: contract, + scope: AztecAddress.ZERO, + factCollectionTypeId: type, + factCollectionId: id, + }), + ).toThrow('scope must not be the zero address'); + expect(() => + FactCollectionTypeKey.from({ contractAddress: contract, scope: AztecAddress.ZERO, factCollectionTypeId: type }), + ).toThrow('scope must not be the zero address'); + }); +}); diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts index 249f733ceed4..7126ab43b6b4 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store_keys.ts @@ -7,50 +7,69 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address'; */ export type OriginBlock = { blockNumber: number; blockHash: Fr }; -/** Identifies all fact collections of one type within a contract. */ +/** Facts are always tied to a real scope; the zero address is not a valid fact scope. */ +function assertNonZeroScope(scope: AztecAddress): void { + if (scope.equals(AztecAddress.ZERO)) { + throw new Error('scope must not be the zero address'); + } +} + +/** Identifies all fact collections of one type within a contract, for one scope. */ export class FactCollectionTypeKey { constructor( public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, public readonly factCollectionTypeId: Fr, - ) {} + ) { + assertNonZeroScope(scope); + } static from(fields: FieldsOf): FactCollectionTypeKey { - return new FactCollectionTypeKey(fields.contractAddress, fields.factCollectionTypeId); + return new FactCollectionTypeKey(fields.contractAddress, fields.scope, fields.factCollectionTypeId); } toString(): string { - return `${this.contractAddress}:${this.factCollectionTypeId}`; + return `${this.contractAddress}:${this.scope}:${this.factCollectionTypeId}`; } } -/** Uniquely identifies a single fact collection; all its facts share this key. */ +/** Uniquely identifies a single fact collection, isolated by scope; all its facts share this key. */ export class FactCollectionKey { constructor( public readonly contractAddress: AztecAddress, + public readonly scope: AztecAddress, public readonly factCollectionTypeId: Fr, public readonly factCollectionId: Fr, - ) {} + ) { + assertNonZeroScope(scope); + } static from(fields: FieldsOf): FactCollectionKey { - return new FactCollectionKey(fields.contractAddress, fields.factCollectionTypeId, fields.factCollectionId); + return new FactCollectionKey( + fields.contractAddress, + fields.scope, + fields.factCollectionTypeId, + fields.factCollectionId, + ); } /** Inverse of toString */ static fromString(str: string): FactCollectionKey { - const [contractAddress, factCollectionTypeId, factCollectionId] = str.split(':'); + const [contractAddress, scope, factCollectionTypeId, factCollectionId] = str.split(':'); return new FactCollectionKey( AztecAddress.fromString(contractAddress), + AztecAddress.fromString(scope), Fr.fromString(factCollectionTypeId), Fr.fromString(factCollectionId), ); } - /** The key grouping this collection with the other collections of its type within the same contract. */ + /** The key grouping this collection with the other collections of its type within the same contract and scope. */ factCollectionTypeKey(): FactCollectionTypeKey { - return new FactCollectionTypeKey(this.contractAddress, this.factCollectionTypeId); + return new FactCollectionTypeKey(this.contractAddress, this.scope, this.factCollectionTypeId); } toString(): string { - return `${this.factCollectionTypeKey()}:${this.factCollectionId}`; + return `${this.contractAddress}:${this.scope}:${this.factCollectionTypeId}:${this.factCollectionId}`; } } diff --git a/yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts b/yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts index ddbbb7fe1691..c514229a6576 100644 --- a/yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/stored_fact.test.ts @@ -6,11 +6,13 @@ import { StoredFact, factKeyStrOf } from './stored_fact.js'; describe('StoredFact', () => { const contract = AztecAddress.fromBigInt(100n); + const scope = AztecAddress.fromBigInt(1n); const collectionType = new Fr(7n); const collectionId = new Fr(42n); const factType = new Fr(3n); const key = FactCollectionKey.from({ contractAddress: contract, + scope, factCollectionTypeId: collectionType, factCollectionId: collectionId, }); @@ -34,8 +36,10 @@ describe('StoredFact', () => { it('derives stable composite keys including the origin block', () => { const nonRetractable = new StoredFact(key, factType, [new Fr(9n)], undefined); - expect(nonRetractable.factCollectionKey.factCollectionTypeKey().toString()).toBe(`${contract}:${collectionType}`); - expect(nonRetractable.factCollectionKey.toString()).toBe(`${contract}:${collectionType}:${collectionId}`); + expect(nonRetractable.factCollectionKey.factCollectionTypeKey().toString()).toBe( + `${contract}:${scope}:${collectionType}`, + ); + expect(nonRetractable.factCollectionKey.toString()).toBe(`${contract}:${scope}:${collectionType}:${collectionId}`); expect(factKeyStrOf(nonRetractable)).toBe( nonRetractable.factCollectionKey.toString() + `:${factType}:${nonRetractable.payloadHash()}:none`, ); diff --git a/yarn-project/pxe/src/storage/fact_store/stored_fact.ts b/yarn-project/pxe/src/storage/fact_store/stored_fact.ts index f031e081e8b7..f3572e8ef3f0 100644 --- a/yarn-project/pxe/src/storage/fact_store/stored_fact.ts +++ b/yarn-project/pxe/src/storage/fact_store/stored_fact.ts @@ -37,6 +37,7 @@ export class StoredFact { toBuffer(): Buffer { return serializeToBuffer( this.factCollectionKey.contractAddress, + this.factCollectionKey.scope, this.factCollectionKey.factCollectionTypeId, this.factCollectionKey.factCollectionId, this.factTypeId, @@ -51,6 +52,7 @@ export class StoredFact { static fromBuffer(buffer: Buffer | BufferReader): StoredFact { const reader = BufferReader.asReader(buffer); const contractAddress = reader.readObject(AztecAddress); + const scope = reader.readObject(AztecAddress); const factCollectionTypeId = reader.readObject(Fr); const factCollectionId = reader.readObject(Fr); const factTypeId = reader.readObject(Fr); @@ -61,7 +63,7 @@ export class StoredFact { const blockHash = reader.readObject(Fr); const originBlock = hasOriginBlock ? { blockNumber, blockHash } : undefined; return new StoredFact( - new FactCollectionKey(contractAddress, factCollectionTypeId, factCollectionId), + new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), factTypeId, [...payload], originBlock, From 17402d4071e00ded36f3322ab95d0ecab50dfea1 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 15:36:44 +0000 Subject: [PATCH 106/197] refactor(pxe): isolate fact collections by scope in the store --- .../src/storage/fact_store/fact_store.test.ts | 335 +++++++----------- .../pxe/src/storage/fact_store/fact_store.ts | 211 +++-------- 2 files changed, 175 insertions(+), 371 deletions(-) diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts index 0e4c073662dc..a21ff297ed86 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.test.ts @@ -17,7 +17,9 @@ describe('FactStore', () => { let collectionId2: Fr; let collectionKey1: FactCollectionKey; let collectionKey2: FactCollectionKey; + let collectionKey1ScopeB: FactCollectionKey; let typeKey: FactCollectionTypeKey; + let typeKeyScopeB: FactCollectionTypeKey; const JOB = 'fact-store-test-job'; let kv: AztecAsyncKVStore; @@ -44,7 +46,14 @@ describe('FactStore', () => { factCollectionTypeId, factCollectionId: collectionId2, }); + collectionKey1ScopeB = FactCollectionKey.from({ + contractAddress: contract, + scope: scopeB, + factCollectionTypeId, + factCollectionId: collectionId1, + }); typeKey = FactCollectionTypeKey.from({ contractAddress: contract, scope, factCollectionTypeId }); + typeKeyScopeB = FactCollectionTypeKey.from({ contractAddress: contract, scope: scopeB, factCollectionTypeId }); kv = await openTmpStore('fact-store-test'); store = new FactStore(kv); @@ -54,38 +63,37 @@ describe('FactStore', () => { }); const collectionIdsOf = (collections: { key: FactCollectionKey }[]) => collections.map(c => c.key.factCollectionId); - // Facts come back in no guaranteed order, so fact projections are compared as sets of hex strings. const hexSet = (frs: Fr[]) => new Set(frs.map(f => f.toString())); describe('recording and reading', () => { it('records facts and reads a collection back after commit (implicit collection creation)', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.recordFact(collectionKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(collectionKey1, factTypeB, [], { blockNumber: 5, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB))!; + const { facts } = (await store.getFactCollection(collectionKey1, JOB))!; expect(hexSet(facts.map(f => f.factTypeId))).toEqual(hexSet([factTypeA, factTypeB])); }); it('getFactCollection returns undefined when no collection exists', async () => { - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeUndefined(); }); - it('lists a collection via getFactCollectionsByType', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scope, JOB); + it('lists collections via getFactCollectionsByType', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const collections = await store.getFactCollectionsByType(typeKey, [scope], JOB); + const collections = await store.getFactCollectionsByType(typeKey, JOB); expect(hexSet(collectionIdsOf(collections))).toEqual(hexSet([collectionId1, collectionId2])); }); it('getFactCollectionsByType returns each collection complete with its facts', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const collections = await store.getFactCollectionsByType(typeKey, [scope], JOB); + const collections = await store.getFactCollectionsByType(typeKey, JOB); expect(collections).toHaveLength(1); expect(hexSet(collections[0].facts.map(f => f.factTypeId))).toEqual(hexSet([factTypeA, factTypeB])); }); @@ -94,229 +102,173 @@ describe('FactStore', () => { describe('idempotency and dedup', () => { it('dedups identical (collection, factType, payload, originBlock) fact records', async () => { const payload = Fr.random(); - await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); - await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + expect((await store.getFactCollection(collectionKey1, JOB))!.facts).toHaveLength(1); }); it('the same payload at a different origin block is a distinct fact', async () => { const payload = Fr.random(); - await store.recordFact( - collectionKey1, - factTypeA, - [payload], - { blockNumber: 5, blockHash: Fr.random() }, - scope, - JOB, - ); - await store.recordFact( - collectionKey1, - factTypeA, - [payload], - { blockNumber: 10, blockHash: Fr.random() }, - scope, - JOB, - ); + await store.recordFact(collectionKey1, factTypeA, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB))!; + const { facts } = (await store.getFactCollection(collectionKey1, JOB))!; expect(facts).toHaveLength(2); expect(new Set(facts.map(f => f.originBlock?.blockNumber))).toEqual(new Set([5, 10])); }); it('re-recording an identical fact across jobs is a no-op', async () => { const payload = Fr.random(); - await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'rerecord-job'; - await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB2); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + expect((await store.getFactCollection(collectionKey1, JOB))!.facts).toHaveLength(1); }); }); - describe('scope dimension', () => { - it('a fact recorded under one scope is invisible to another', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + describe('scope isolation', () => { + it('a collection recorded under one scope is a different collection under another scope', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeDefined(); - expect(await store.getFactCollection(collectionKey1, [scopeB], JOB)).toBeUndefined(); - expect(await store.getFactCollectionsByType(typeKey, [scopeB], JOB)).toHaveLength(0); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeDefined(); + expect(await store.getFactCollection(collectionKey1ScopeB, JOB)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKeyScopeB, JOB)).toHaveLength(0); }); - it('querying with no scopes returns nothing', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - expect(await store.getFactCollection(collectionKey1, [], JOB)).toBeUndefined(); - expect(await store.getFactCollectionsByType(typeKey, [], JOB)).toHaveLength(0); - }); - - it('the same fact recorded under two scopes is stored once but visible to both', async () => { + it('the same (contract, type, id) under two scopes are independent collections', async () => { const payload = Fr.random(); const origin = { blockNumber: 5, blockHash: Fr.random() }; - await store.recordFact(collectionKey1, factTypeA, [payload], origin, scope, JOB); - await store.recordFact(collectionKey1, factTypeA, [payload], origin, scopeB, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], origin, JOB); + await store.recordFact(collectionKey1ScopeB, factTypeB, [payload], origin, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // Deduped to a single fact, yet the collection is visible under each scope and under both together. - expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); - expect((await store.getFactCollection(collectionKey1, [scopeB], JOB))!.facts).toHaveLength(1); - expect((await store.getFactCollection(collectionKey1, [scope, scopeB], JOB))!.facts).toHaveLength(1); - }); - - it('scoping is per fact: a scope never sees facts recorded solely under another scope, even in the same collection', async () => { - // factA recorded under `scope`, factB under `scopeB`, both in the same collection. - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scopeB, JOB); - await kv.transactionAsync(() => store.commit(JOB)); - - // Each scope sees only the fact it recorded; querying both returns both. - expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts.map(f => f.factTypeId)).toEqual([ - factTypeA, - ]); - expect((await store.getFactCollection(collectionKey1, [scopeB], JOB))!.facts.map(f => f.factTypeId)).toEqual([ + expect((await store.getFactCollection(collectionKey1, JOB))!.facts.map(f => f.factTypeId)).toEqual([factTypeA]); + expect((await store.getFactCollection(collectionKey1ScopeB, JOB))!.facts.map(f => f.factTypeId)).toEqual([ factTypeB, ]); - expect( - hexSet((await store.getFactCollection(collectionKey1, [scope, scopeB], JOB))!.facts.map(f => f.factTypeId)), - ).toEqual(hexSet([factTypeA, factTypeB])); }); - it('getFactCollectionsByType filters collections by scope', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scopeB, JOB); + it('getFactCollectionsByType only returns collections for the queried scope', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(collectionKey1ScopeB, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB))).toEqual([collectionId1]); - expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scopeB], JOB))).toEqual([collectionId2]); - expect(hexSet(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope, scopeB], JOB)))).toEqual( - hexSet([collectionId1, collectionId2]), - ); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, JOB))).toEqual([collectionId1]); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKeyScopeB, JOB))).toEqual([collectionId1]); }); }); describe('read-your-writes', () => { it("reflects a job's own staged facts before commit; other jobs do not see them", async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); - expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts.map(f => f.factTypeId)).toEqual([ - factTypeA, - ]); - expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB))).toEqual([collectionId1]); + expect((await store.getFactCollection(collectionKey1, JOB))!.facts.map(f => f.factTypeId)).toEqual([factTypeA]); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, JOB))).toEqual([collectionId1]); - expect(await store.getFactCollection(collectionKey1, [scope], 'other-job')).toBeUndefined(); - expect(await store.getFactCollectionsByType(typeKey, [scope], 'other-job')).toHaveLength(0); + expect(await store.getFactCollection(collectionKey1, 'other-job')).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, 'other-job')).toHaveLength(0); }); it('staged facts combine with committed ones', async () => { const payloads = Array.from({ length: 4 }, () => Fr.random()); - await store.recordFact(collectionKey1, factTypeA, [payloads[0]], undefined, scope, JOB); - await store.recordFact(collectionKey1, factTypeA, [payloads[1]], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payloads[0]], undefined, JOB); + await store.recordFact(collectionKey1, factTypeA, [payloads[1]], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'staged-job'; - await store.recordFact(collectionKey1, factTypeA, [payloads[2]], undefined, scope, JOB2); - await store.recordFact(collectionKey1, factTypeA, [payloads[3]], undefined, scope, JOB2); + await store.recordFact(collectionKey1, factTypeA, [payloads[2]], undefined, JOB2); + await store.recordFact(collectionKey1, factTypeA, [payloads[3]], undefined, JOB2); - const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB2))!; + const { facts } = (await store.getFactCollection(collectionKey1, JOB2))!; expect(hexSet(facts.map(f => f.payload[0]))).toEqual(hexSet(payloads)); }); }); - describe('removeFactCollection (descope)', () => { - it('removes the calling scope from the collection, reaping facts it solely held', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scope, JOB); + describe('deleteFactCollection', () => { + it('deletes the collection and leaves neighbouring collections untouched', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const DEL = 'delete-job'; - await store.removeFactCollection(collectionKey1, scope, DEL); + await store.deleteFactCollection(collectionKey1, DEL); await kv.transactionAsync(() => store.commit(DEL)); - // Gone for the scope that descoped it; the neighbouring collection is untouched. - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); - expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB))).toEqual([collectionId2]); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeUndefined(); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, JOB))).toEqual([collectionId2]); }); - it('only descopes the calling scope: facts another scope still references survive', async () => { - const shared = Fr.random(); - const origin = { blockNumber: 5, blockHash: Fr.random() }; - // A fact visible to both scopes, plus a fact visible only to scopeB. - await store.recordFact(collectionKey1, factTypeA, [shared], origin, scope, JOB); - await store.recordFact(collectionKey1, factTypeA, [shared], origin, scopeB, JOB); - await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scopeB, JOB); + it('only deletes the queried scope: the same (contract,type,id) under another scope survives', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.recordFact(collectionKey1ScopeB, factTypeB, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const DEL = 'delete-job'; - await store.removeFactCollection(collectionKey1, scope, DEL); + await store.deleteFactCollection(collectionKey1, DEL); await kv.transactionAsync(() => store.commit(DEL)); - // `scope` no longer sees the collection at all. - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); - // `scopeB` still sees both of its facts (the shared one survived because scopeB still references it). - expect( - hexSet((await store.getFactCollection(collectionKey1, [scopeB], JOB))!.facts.map(f => f.factTypeId)), - ).toEqual(hexSet([factTypeA, factTypeB])); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeUndefined(); + expect((await store.getFactCollection(collectionKey1ScopeB, JOB))!.facts.map(f => f.factTypeId)).toEqual([ + factTypeB, + ]); }); - it('is a no-op for a collection not visible under the calling scope', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + it('is a no-op for a collection that does not exist', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // collectionKey1 exists, but not under scopeB; collectionKey2 does not exist at all. Both descopes are no-ops. const DEL = 'delete-job'; - await store.removeFactCollection(collectionKey1, scopeB, DEL); - await store.removeFactCollection(collectionKey2, scope, DEL); + await store.deleteFactCollection(collectionKey2, DEL); await kv.transactionAsync(() => store.commit(DEL)); - // collectionKey1 is untouched: still visible under `scope` with its fact. - expect((await store.getFactCollection(collectionKey1, [scope], JOB))!.facts).toHaveLength(1); + expect((await store.getFactCollection(collectionKey1, JOB))!.facts).toHaveLength(1); }); - it('hides a collection from its own job after a staged descope, even over committed facts', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + it('hides a collection from its own job after a staged delete, even over committed facts', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const DEL = 'delete-job'; - await store.removeFactCollection(collectionKey1, scope, DEL); + await store.deleteFactCollection(collectionKey1, DEL); - expect(await store.getFactCollection(collectionKey1, [scope], DEL)).toBeUndefined(); - expect(await store.getFactCollectionsByType(typeKey, [scope], DEL)).toHaveLength(0); - // Other jobs still see it committed until the descope commits. - expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts).toHaveLength(1); + expect(await store.getFactCollection(collectionKey1, DEL)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, DEL)).toHaveLength(0); + expect((await store.getFactCollection(collectionKey1, 'reader'))!.facts).toHaveLength(1); }); - it('a staged descope-then-record re-creates the collection within the same job', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + it('a staged delete-then-record re-creates the collection within the same job', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'recreate-job'; - await store.removeFactCollection(collectionKey1, scope, JOB2); - await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scope, JOB2); + await store.deleteFactCollection(collectionKey1, JOB2); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, JOB2); - const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB2))!; + const { facts } = (await store.getFactCollection(collectionKey1, JOB2))!; expect(facts.map(f => f.factTypeId)).toEqual([factTypeB]); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts.map(f => f.factTypeId)).toEqual([ + expect((await store.getFactCollection(collectionKey1, 'reader'))!.facts.map(f => f.factTypeId)).toEqual([ factTypeB, ]); }); - it('a staged record-then-descope leaves the collection deleted', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); - await store.removeFactCollection(collectionKey1, scope, JOB); + it('a staged record-then-delete leaves the collection deleted', async () => { + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); + await store.deleteFactCollection(collectionKey1, JOB); - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeUndefined(); await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getFactCollection(collectionKey1, [scope], 'reader')).toBeUndefined(); + expect(await store.getFactCollection(collectionKey1, 'reader')).toBeUndefined(); }); }); @@ -324,74 +276,44 @@ describe('FactStore', () => { it('removes retractable facts above the target block and keeps non-retractable ones', async () => { const nonRetractable = Fr.random(); const retractable = Fr.random(); - await store.recordFact(collectionKey1, factTypeA, [nonRetractable], undefined, scope, JOB); - await store.recordFact( - collectionKey1, - factTypeB, - [retractable], - { blockNumber: 6, blockHash: Fr.random() }, - scope, - JOB, - ); + await store.recordFact(collectionKey1, factTypeA, [nonRetractable], undefined, JOB); + await store.recordFact(collectionKey1, factTypeB, [retractable], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - const { facts } = (await store.getFactCollection(collectionKey1, [scope], JOB))!; + const { facts } = (await store.getFactCollection(collectionKey1, JOB))!; expect(hexSet(facts.map(f => f.payload[0]))).toEqual(hexSet([nonRetractable])); }); it('a collection left with no facts after retraction disappears', async () => { - await store.recordFact( - collectionKey1, - factTypeA, - [Fr.random()], - { blockNumber: 6, blockHash: Fr.random() }, - scope, - JOB, - ); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], { blockNumber: 6, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); await kv.transactionAsync(() => store.rollback(5)); - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); - expect(await store.getFactCollectionsByType(typeKey, [scope], JOB)).toHaveLength(0); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeUndefined(); + expect(await store.getFactCollectionsByType(typeKey, JOB)).toHaveLength(0); }); it('the same payload at two origin blocks yields independent facts pruned per block', async () => { const payload = Fr.random(); - await store.recordFact( - collectionKey1, - factTypeA, - [payload], - { blockNumber: 5, blockHash: Fr.random() }, - scope, - JOB, - ); - await store.recordFact( - collectionKey1, - factTypeA, - [payload], - { blockNumber: 10, blockHash: Fr.random() }, - scope, - JOB, - ); + await store.recordFact(collectionKey1, factTypeA, [payload], { blockNumber: 5, blockHash: Fr.random() }, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], { blockNumber: 10, blockHash: Fr.random() }, JOB); await kv.transactionAsync(() => store.commit(JOB)); - // Prune above block 7: the block-10 derivation is deleted, the block-5 one survives. await kv.transactionAsync(() => store.rollback(7)); - expect( - (await store.getFactCollection(collectionKey1, [scope], JOB))!.facts.map(f => f.originBlock?.blockNumber), - ).toEqual([5]); - await store.discardStaged(JOB); // discard job so the next rollback isn't blocked + expect((await store.getFactCollection(collectionKey1, JOB))!.facts.map(f => f.originBlock?.blockNumber)).toEqual([ + 5, + ]); + await store.discardStaged(JOB); - // Prune above block 4: the block-5 derivation is deleted too, emptying the collection. await kv.transactionAsync(() => store.rollback(4)); - expect(await store.getFactCollection(collectionKey1, [scope], JOB)).toBeUndefined(); + expect(await store.getFactCollection(collectionKey1, JOB)).toBeUndefined(); }); it('rollback throws while a job has staged writes', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, 'uncommitted-job'); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, 'uncommitted-job'); await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( 'PXE fact store rollback is not allowed while jobs are running', ); @@ -400,7 +322,7 @@ describe('FactStore', () => { }); it('a job that has only read still blocks rollback until it is discarded', async () => { - await store.getFactCollection(collectionKey1, [scope], 'reader-job'); + await store.getFactCollection(collectionKey1, 'reader-job'); await expect(kv.transactionAsync(() => store.rollback(0))).rejects.toThrow( 'PXE fact store rollback is not allowed while jobs are running', ); @@ -413,7 +335,7 @@ describe('FactStore', () => { it('collections under different contracts and types are isolated', async () => { const contract2 = await AztecAddress.random(); const type2 = Fr.random(); - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); await store.recordFact( FactCollectionKey.from({ contractAddress: contract2, @@ -424,7 +346,6 @@ describe('FactStore', () => { factTypeA, [Fr.random()], undefined, - scope, JOB, ); await store.recordFact( @@ -437,23 +358,20 @@ describe('FactStore', () => { factTypeA, [Fr.random()], undefined, - scope, JOB, ); await kv.transactionAsync(() => store.commit(JOB)); - expect(await store.getFactCollectionsByType(typeKey, [scope], JOB)).toHaveLength(1); + expect(await store.getFactCollectionsByType(typeKey, JOB)).toHaveLength(1); expect( await store.getFactCollectionsByType( FactCollectionTypeKey.from({ contractAddress: contract2, scope, factCollectionTypeId }), - [scope], JOB, ), ).toHaveLength(1); expect( await store.getFactCollectionsByType( FactCollectionTypeKey.from({ contractAddress: contract, scope, factCollectionTypeId: type2 }), - [scope], JOB, ), ).toHaveLength(1); @@ -463,50 +381,49 @@ describe('FactStore', () => { describe('cross-job behavior', () => { it("commit persists only the given job's facts", async () => { const payloads = [Fr.random(), Fr.random()]; - await store.recordFact(collectionKey1, factTypeA, [payloads[0]], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [payloads[0]], undefined, JOB); const JOB2 = 'second-job'; - await store.recordFact(collectionKey1, factTypeA, [payloads[1]], undefined, scope, JOB2); + await store.recordFact(collectionKey1, factTypeA, [payloads[1]], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); - // Only job 1's fact is committed; job 2 still layers its staged fact on top. - expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts.map(f => f.payload[0])).toEqual([ + expect((await store.getFactCollection(collectionKey1, 'reader'))!.facts.map(f => f.payload[0])).toEqual([ payloads[0], ]); - expect( - hexSet((await store.getFactCollection(collectionKey1, [scope], JOB2))!.facts.map(f => f.payload[0])), - ).toEqual(hexSet(payloads)); + expect(hexSet((await store.getFactCollection(collectionKey1, JOB2))!.facts.map(f => f.payload[0]))).toEqual( + hexSet(payloads), + ); await kv.transactionAsync(() => store.commit(JOB2)); - expect( - hexSet((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts.map(f => f.payload[0])), - ).toEqual(hexSet(payloads)); + expect(hexSet((await store.getFactCollection(collectionKey1, 'reader'))!.facts.map(f => f.payload[0]))).toEqual( + hexSet(payloads), + ); }); it('discardStaged drops staged writes without touching committed state', async () => { - await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, scope, JOB); + await store.recordFact(collectionKey1, factTypeA, [Fr.random()], undefined, JOB); await kv.transactionAsync(() => store.commit(JOB)); const JOB2 = 'discarded-job'; - await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, scope, JOB2); - await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, scope, JOB2); + await store.recordFact(collectionKey2, factTypeA, [Fr.random()], undefined, JOB2); + await store.recordFact(collectionKey1, factTypeB, [Fr.random()], undefined, JOB2); await store.discardStaged(JOB2); - expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, [scope], JOB2))).toEqual([collectionId1]); + expect(collectionIdsOf(await store.getFactCollectionsByType(typeKey, JOB2))).toEqual([collectionId1]); await kv.transactionAsync(() => store.commit(JOB2)); - expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts).toHaveLength(1); - expect(await store.getFactCollection(collectionKey2, [scope], 'reader')).toBeUndefined(); + expect((await store.getFactCollection(collectionKey1, 'reader'))!.facts).toHaveLength(1); + expect(await store.getFactCollection(collectionKey2, 'reader')).toBeUndefined(); }); it('a fact recorded by two jobs racing to the same collection dedups on commit', async () => { const payload = Fr.random(); const JOB2 = 'racing-job'; - await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB); - await store.recordFact(collectionKey1, factTypeA, [payload], undefined, scope, JOB2); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, JOB); + await store.recordFact(collectionKey1, factTypeA, [payload], undefined, JOB2); await kv.transactionAsync(() => store.commit(JOB)); await expect(kv.transactionAsync(() => store.commit(JOB2))).resolves.not.toThrow(); - expect((await store.getFactCollection(collectionKey1, [scope], 'reader'))!.facts).toHaveLength(1); + expect((await store.getFactCollection(collectionKey1, 'reader'))!.facts).toHaveLength(1); }); }); }); diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.ts index 5f3f7ab3d842..6c33cb547670 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.ts @@ -2,7 +2,6 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import { createLogger } from '@aztec/foundation/log'; import { Semaphore } from '@aztec/foundation/queue'; import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store'; -import type { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { StagedStore } from '../../job_coordinator/job_coordinator.js'; import { FactCollectionKey, type FactCollectionTypeKey, type OriginBlock } from './fact_store_keys.js'; @@ -14,24 +13,18 @@ type FactBuffer = Buffer; type FactCollectionTypeKeyStr = string; type FactCollectionKeyStr = string; type FactKeyStr = string; -type ScopeStr = string; /** A fact collection as returned by the store. */ export type FactCollection = { key: FactCollectionKey; facts: Fact[] }; -/** A fact together with the set of scopes it is visible under. */ -type FactWithScopes = { fact: Fact; scopes: Set }; - /** Internal auxiliary type assembling a collection. */ -type CollectionWithFacts = { key: FactCollectionKey; facts: Map }; +type CollectionWithFacts = { key: FactCollectionKey; facts: Map }; -/** A pending operation for a job: record a fact under a scope, or remove (descope) a collection from a scope. */ -type StagedOp = - | { kind: 'recordFact'; fact: StoredFact; scope: AztecAddress } - | { kind: 'removeFactCollection'; key: FactCollectionKey; scope: AztecAddress }; +/** A pending operation for a job: record a fact, or delete a fact collection. */ +type StagedOp = { kind: 'recordFact'; fact: StoredFact } | { kind: 'deleteFactCollection'; key: FactCollectionKey }; /** - * Stores immutable facts grouped into collections, isolated by contract and scoped per fact. + * Stores immutable facts grouped into collections, isolated by contract and scope. * * A fact collection is a contract-defined bag of facts identified by a {@link FactCollectionKey} (contract, collection * type, and id). A fact is a contract-defined immutable, typed datum in a collection. Collections are implicit: one @@ -45,8 +38,8 @@ type StagedOp = * Non-retractable facts survive reorgs; they must then be explicitly deleted, so as not to keep consuming resources * (storage and compute) indefinitely. * - * Scoping is per fact. Facts are only visible at scopes they were written to. A scope never sees facts recorded solely - * under another scope, even within the same collection. + * Scope is part of a collection's identity (encoded in its key): the same (contract, type, id) under two scopes are + * two independent collections. Reads target one scope, carried inside the key. * * This store is designed to enable Aztec.nr to implement complex workflows such as offchain reception or partial note * processing by storing structured data that is guaranteed to exist conditionally to specific blocks being included in @@ -69,9 +62,6 @@ export class FactStore implements StagedStore { /** Index for per-collection fact enumeration and by-type collection discovery. */ #factsByCollection: AztecAsyncMultiMap; - /** The set of scopes each fact is visible under. */ - #scopesByFact: AztecAsyncMultiMap; - /** Index for delete-on-prune of retractable facts (those with an origin block). */ #factsByBlock: AztecAsyncMultiMap; @@ -87,7 +77,6 @@ export class FactStore implements StagedStore { this.#store = store; this.#facts = store.openMap('facts'); this.#factsByCollection = store.openMultiMap('facts_by_collection'); - this.#scopesByFact = store.openMultiMap('scopes_by_fact'); this.#factsByBlock = store.openMultiMap('facts_by_block'); this.#opsForJob = new Map(); this.#jobLocks = new Map(); @@ -110,45 +99,33 @@ export class FactStore implements StagedStore { factTypeId: Fr, payload: Fr[], originBlock: OriginBlock | undefined, - scope: AztecAddress, jobId: string, ): Promise { return this.#withJobLock(jobId, () => { this.#stagedOpsFor(jobId).push({ kind: 'recordFact', fact: new StoredFact(factCollectionKey, factTypeId, payload, originBlock), - scope, }); return Promise.resolve(); }); } /** - * Removes a fact collection from the given scope: removes that scope from every one of the collection's facts, - * reaping any fact thereby left with no scope. - * - * This is typically done when the collection has finalized for that scope and there's no more work to do, to save - * disk space and to avoid re-processing it indefinitely. A scope only ever retracts its own view: facts another - * scope still references survive. + * Deletes a fact collection: removes every fact under the (scope-qualified) collection key. * - * Idempotent: descoping a collection (or fact) that is not visible under the given scope is a no-op. + * Idempotent: deleting a collection that does not exist is a no-op. */ - removeFactCollection(factCollectionKey: FactCollectionKey, scope: AztecAddress, jobId: string): Promise { + deleteFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise { return this.#withJobLock(jobId, () => { - this.#stagedOpsFor(jobId).push({ kind: 'removeFactCollection', key: factCollectionKey, scope }); + this.#stagedOpsFor(jobId).push({ kind: 'deleteFactCollection', key: factCollectionKey }); return Promise.resolve(); }); } /** - * Returns one fact collection, holding the facts visible under any of the given scopes, or undefined if no fact of - * the collection is visible under them. + * Returns the fact collection for the (scope-qualified) key, or undefined if it has no facts. */ - async getFactCollection( - factCollectionKey: FactCollectionKey, - scopes: AztecAddress[], - jobId: string, - ): Promise { + async getFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise { const collectionKey = factCollectionKey.toString(); const committed = await this.#store.transactionAsync(() => this.#readCollectionsFromDb([factCollectionKey])); @@ -156,24 +133,22 @@ export class FactStore implements StagedStore { if (!collection) { return undefined; } - const facts = this.#visibleFacts(collection, scopes); + const facts = [...collection.facts.values()]; return facts.length > 0 ? { key: factCollectionKey, facts } : undefined; } /** - * Returns every fact collection of the given type that has at least one fact visible under the given scopes, each - * holding only its facts visible under them. + * Returns every fact collection of the given type for the queried scope, each holding its facts. */ async getFactCollectionsByType( factCollectionTypeKey: FactCollectionTypeKey, - scopes: AztecAddress[], jobId: string, ): Promise { const typeKey = factCollectionTypeKey.toString(); const committed = await this.#readCollectionsFromDbByType(typeKey); return Array.from(this.#foldStagedOps(committed, jobId, typeKey).values()) - .map(collection => ({ key: collection.key, facts: this.#visibleFacts(collection, scopes) })) + .map(collection => ({ key: collection.key, facts: [...collection.facts.values()] })) .filter(collection => collection.facts.length > 0); } @@ -190,10 +165,10 @@ export class FactStore implements StagedStore { for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { case 'recordFact': - await this.#commitFact(op.fact, op.scope); + await this.#commitFact(op.fact); break; - case 'removeFactCollection': - await this.#descopeCollection(op.key.toString(), op.scope.toString()); + case 'deleteFactCollection': + await this.#deleteCollection(op.key.toString()); break; default: { const _exhaustive: never = op; @@ -277,9 +252,6 @@ export class FactStore implements StagedStore { return result; } - /** - * Reads every committed collection of the given type with its facts and their scopes, in a single pass. - */ #readCollectionsFromDbByType(typeKey: FactCollectionTypeKeyStr) { return this.#store.transactionAsync(async () => { const factReadsByCollection = new Map>>(); @@ -295,26 +267,15 @@ export class FactStore implements StagedStore { reads.set(factKey, this.#facts.getAsync(factKey)); } - const scopesByFactKey = await this.#readScopesByFactKey(typeKey); - const result = new Map(); for (const [collectionKey, reads] of factReadsByCollection) { - const collection = await this.#assembleCollection( - FactCollectionKey.fromString(collectionKey), - reads, - scopesByFactKey, - ); + const collection = await this.#assembleCollection(FactCollectionKey.fromString(collectionKey), reads); result.set(collectionKey, collection); } return result; }); } - /** - * Loads and returns a committed collection or undefined if it has no committed facts. - * - * Caller must wrap in a transaction. - */ async #loadCommittedCollection(collectionKey: FactCollectionKey): Promise { // Kick off each fact read while iterating the index so a DB request is always pending. Draining the cursor and only // then reading the facts one `await` at a time would let the IndexedDB transaction auto-commit at the boundary @@ -328,47 +289,21 @@ export class FactStore implements StagedStore { return undefined; } - const scopesByFactKey = await this.#readScopesByFactKey(collectionKey.toString()); - - return this.#assembleCollection(collectionKey, factReads, scopesByFactKey); + return this.#assembleCollection(collectionKey, factReads); } /** - * Read all scopes that can view a fact - * - * Caller must wrap in a transaction. - */ - async #readScopesByFactKey(factKeyPrefix: string): Promise>> { - const scopesByFactKey = new Map>(); - for await (const [factKey, scope] of this.#scopesByFact.entriesAsync({ - start: `${factKeyPrefix}:`, - end: `${factKeyPrefix};`, - })) { - let scopes = scopesByFactKey.get(factKey); - if (!scopes) { - scopes = new Set(); - scopesByFactKey.set(factKey, scopes); - } - scopes.add(scope); - } - return scopesByFactKey; - } - - /** - * Assemble a collection's facts and their scopes from a collection of in-flight DB reads. - * - * This is an auxiliary function. + * Assemble a collection's facts from a set of in-flight DB reads. */ async #assembleCollection( collectionKey: FactCollectionKey, reads: Map>, - scopesByFactKey: Map>, ): Promise { const factKeys = [...reads.keys()]; const bufs = await Promise.all(reads.values()); // Await-free tail: deserialize. No DB ops from here on. - const facts = new Map(); + const facts = new Map(); for (let i = 0; i < factKeys.length; i++) { const factKey = factKeys[i]; const buf = bufs[i]; @@ -383,22 +318,14 @@ export class FactStore implements StagedStore { // corrupt. throw new Error(`Fact ${factKey} does not belong to collection ${collectionKey}`); } - facts.set(factKey, { fact: stored.toFact(), scopes: scopesByFactKey.get(factKey) ?? new Set() }); + facts.set(factKey, stored.toFact()); } return { key: collectionKey, facts }; } - /** The facts of the collection visible under any of the given scopes. */ - #visibleFacts(collection: CollectionWithFacts, queryScopes: AztecAddress[]): Fact[] { - const queried = new Set(queryScopes.map(scope => scope.toString())); - return Array.from(collection.facts.values(), ({ fact, scopes }) => - [...scopes].some(scope => queried.has(scope)) ? fact : undefined, - ).filter((fact): fact is Fact => fact !== undefined); - } - /** - * Assembles the current view of a collection of collections together with their facts and per-fact scopes, combining - * the committed with staged data. + * Assembles the current view of a collection of collections together with their facts, combining the committed with + * staged data. * * When `typeKey` is given, staged records of other types are ignored, so the result holds only that type. */ @@ -409,21 +336,17 @@ export class FactStore implements StagedStore { ): Map { const result = new Map(); - // Copy to avoid mutating contents of `committed` (including each fact's scope set) + // Copy to avoid mutating the contents of `committed`. for (const [collectionKey, { key, facts }] of committed) { - const copied = new Map(); - for (const [factKey, { fact, scopes }] of facts) { - copied.set(factKey, { fact, scopes: new Set(scopes) }); - } - result.set(collectionKey, { key, facts: copied }); + result.set(collectionKey, { key, facts: new Map(facts) }); } for (const op of this.#stagedOpsFor(jobId)) { switch (op.kind) { case 'recordFact': this.#foldRecordFact(result, op, typeKey); break; - case 'removeFactCollection': - this.#foldRemoveFactCollection(result, op); + case 'deleteFactCollection': + this.#foldDeleteFactCollection(result, op); break; default: { const _exhaustive: never = op; @@ -456,82 +379,51 @@ export class FactStore implements StagedStore { // Collection didn't exist before this point, the created fact brings it into existence if (!collection) { - collection = { key, facts: new Map() }; + collection = { key, facts: new Map() }; result.set(collectionKey, collection); } const fKey = factKeyStrOf(op.fact); - let factWithScopes = collection.facts.get(fKey); - - if (!factWithScopes) { - // Fact is actually new, initialize - factWithScopes = { fact: op.fact.toFact(), scopes: new Set() }; - collection.facts.set(fKey, factWithScopes); + if (!collection.facts.has(fKey)) { + collection.facts.set(fKey, op.fact.toFact()); } - - // Add fact to scope - factWithScopes.scopes.add(op.scope.toString()); } /** - * Folds a staged `removeFactCollection` op into the view. + * Folds a staged `deleteFactCollection` op into the view: the scope-qualified collection is removed outright. */ - #foldRemoveFactCollection( + #foldDeleteFactCollection( result: Map, - op: Extract, + op: Extract, ): void { - const collection = result.get(op.key.toString()); - if (!collection) { - return; - } - - // Remove any facts viewable by the op given scope - const scopeStr = op.scope.toString(); - for (const [factKey, { scopes }] of collection.facts) { - scopes.delete(scopeStr); - - // If no scopes retain access to this fact, remove the fact altogether - if (scopes.size === 0) { - collection.facts.delete(factKey); - } - } - - // If no facts remain after the scoped cleanse, remove the collection itself - if (collection.facts.size === 0) { - result.delete(op.key.toString()); - } + result.delete(op.key.toString()); } /** - * Writes a fact to persistent storage and adds its scope to that fact's scope set. - * - * First-write-wins on the fact body: if an identical fact already exists (same scope-free identity) it is left - * untouched, so the same fact recorded under several scopes is stored once. The scope is added regardless (the - * multimap dedups identical entries), so the new scope joins the fact's set. + * Writes a fact to persistent storage. Idempotent: an identical fact (same scope-qualified key) is left untouched. */ - async #commitFact(fact: StoredFact, scope: AztecAddress): Promise { + async #commitFact(fact: StoredFact): Promise { const factKey = factKeyStrOf(fact); if (await this.#facts.hasAsync(factKey)) { this.logger.debug(`Ignoring already recorded fact`, { factKey }); - } else { - await this.#facts.set(factKey, fact.toBuffer()); - await this.#factsByCollection.set(fact.factCollectionKey.toString(), factKey); - if (fact.originBlock !== undefined) { - await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); - } + return; + } + await this.#facts.set(factKey, fact.toBuffer()); + await this.#factsByCollection.set(fact.factCollectionKey.toString(), factKey); + if (fact.originBlock !== undefined) { + await this.#factsByBlock.set(fact.originBlock.blockNumber, factKey); } - await this.#scopesByFact.set(factKey, scope.toString()); } /** - * Removes `scope` from every fact in the collection, reaping any fact thereby left with no scope. + * Deletes every fact under the (scope-qualified) collection key. * * Caller must wrap in a transaction. */ - async #descopeCollection(collectionKey: FactCollectionKeyStr, scope: ScopeStr): Promise { + async #deleteCollection(collectionKey: FactCollectionKeyStr): Promise { // Snapshot the fact index before mutating so we never delete from the cursor we are iterating, kicking off each // fact-body read during the scan so a DB request stays pending across the cursor-to-mutation boundary (a drained - // cursor with no read in flight would let the transaction auto-commit before the descope writes). + // cursor with no read in flight would let the transaction auto-commit before the deletes). const factReads = new Map>(); for await (const factKey of this.#factsByCollection.getValuesAsync(collectionKey)) { factReads.set(factKey, this.#facts.getAsync(factKey)); @@ -539,10 +431,6 @@ export class FactStore implements StagedStore { await Promise.all( Array.from(factReads, async ([factKey, read]) => { const buf = await read; - await this.#scopesByFact.deleteValue(factKey, scope); - if ((await this.#scopesByFact.getValueCountAsync(factKey)) > 0) { - return; - } if (!buf) { // A #factsByCollection entry must always reference a live #facts entry, a missing one means the indexes are // corrupt. @@ -554,15 +442,14 @@ export class FactStore implements StagedStore { } /** - * Deletes a fact from the primary store and all its indexes (`#factsByCollection`, `#scopesByFact`, plus - * `#factsByBlock` if retractable). + * Deletes a fact from the primary store and all its indexes (`#factsByCollection`, plus `#factsByBlock` if + * retractable). * * Caller must wrap in a transaction. */ async #deleteFact(factKey: FactKeyStr, fact: StoredFact): Promise { await this.#facts.delete(factKey); await this.#factsByCollection.deleteValue(fact.factCollectionKey.toString(), factKey); - await this.#scopesByFact.delete(factKey); if (fact.originBlock !== undefined) { await this.#factsByBlock.deleteValue(fact.originBlock.blockNumber, factKey); } From 712a7d2e5cfbc8e598602e2ec1cb12faed25a596 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 15:42:53 +0000 Subject: [PATCH 107/197] test(pxe): update block synchronizer fact tests for scope-in-key --- .../block_synchronizer.test.ts | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts index 5406ef81225c..d471834578c5 100644 --- a/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts +++ b/yarn-project/pxe/src/block_synchronizer/block_synchronizer.test.ts @@ -334,13 +334,14 @@ describe('BlockSynchronizer', () => { const contractAddress = await AztecAddress.random(); const scope = await AztecAddress.random(); const factCollectionTypeId = Fr.random(); - const typeKey = FactCollectionTypeKey.from({ contractAddress, factCollectionTypeId }); + const typeKey = FactCollectionTypeKey.from({ contractAddress, scope, factCollectionTypeId }); // A collection whose only fact is retractable and anchored to the fork point (block 5): the fork point is kept, // so the fact and its collection must survive. const survivingCollectionId = Fr.random(); const survivingCollectionKey = FactCollectionKey.from({ contractAddress, + scope, factCollectionTypeId, factCollectionId: survivingCollectionId, }); @@ -349,7 +350,6 @@ describe('BlockSynchronizer', () => { Fr.random(), [Fr.random()], { blockNumber: lastSurvivingBlock.number, blockHash: (await lastSurvivingBlock.hash()).toFr() }, - scope, jobId, ); @@ -358,6 +358,7 @@ describe('BlockSynchronizer', () => { const retractedCollectionId = Fr.random(); const retractedCollectionKey = FactCollectionKey.from({ contractAddress, + scope, factCollectionTypeId, factCollectionId: retractedCollectionId, }); @@ -366,14 +367,13 @@ describe('BlockSynchronizer', () => { Fr.random(), [Fr.random()], { blockNumber: lastSurvivingBlock.number + 1, blockHash: Fr.random() }, - scope, jobId, ); await store.transactionAsync(() => factStore.commit(jobId)); // Both collections must be present before the prune. - expect(await factStore.getFactCollectionsByType(typeKey, [scope], jobId)).toHaveLength(2); + expect(await factStore.getFactCollectionsByType(typeKey, jobId)).toHaveLength(2); // Release the read job so the prune's rollback is not blocked by an in-flight job. await factStore.discardStaged(jobId); @@ -399,11 +399,11 @@ describe('BlockSynchronizer', () => { }); // Only the fork-point collection survives. The one whose sole fact originated above the fork is gone. - const collections = await factStore.getFactCollectionsByType(typeKey, [scope], jobId); + const collections = await factStore.getFactCollectionsByType(typeKey, jobId); expect(collections).toHaveLength(1); expect(collections[0].key.factCollectionId.equals(survivingCollectionId)).toBe(true); - expect(await factStore.getFactCollection(retractedCollectionKey, [scope], jobId)).toBeUndefined(); - expect((await factStore.getFactCollection(survivingCollectionKey, [scope], jobId))!.facts).toHaveLength(1); + expect(await factStore.getFactCollection(retractedCollectionKey, jobId)).toBeUndefined(); + expect((await factStore.getFactCollection(survivingCollectionKey, jobId))!.facts).toHaveLength(1); }); it('chain-pruned keeps a collection and its facts up to the fork point, deleting only those above it', async () => { @@ -421,19 +421,18 @@ describe('BlockSynchronizer', () => { const forkPointFactType = Fr.random(); const nonRetractableFactType = Fr.random(); - const typeKey = FactCollectionTypeKey.from({ contractAddress, factCollectionTypeId }); - const collectionKey = FactCollectionKey.from({ contractAddress, factCollectionTypeId, factCollectionId }); + const typeKey = FactCollectionTypeKey.from({ contractAddress, scope, factCollectionTypeId }); + const collectionKey = FactCollectionKey.from({ contractAddress, scope, factCollectionTypeId, factCollectionId }); // A collection carrying three facts: a non-retractable one, a retractable one anchored to the fork point (block // 5), and a retractable one originating just above it (block 6). The prune must keep the collection, its // non-retractable fact, and the fork-point fact, deleting only the orphaned fact. - await factStore.recordFact(collectionKey, nonRetractableFactType, [Fr.random()], undefined, scope, jobId); + await factStore.recordFact(collectionKey, nonRetractableFactType, [Fr.random()], undefined, jobId); await factStore.recordFact( collectionKey, forkPointFactType, [], { blockNumber: lastSurvivingBlock.number, blockHash: (await lastSurvivingBlock.hash()).toFr() }, - scope, jobId, ); await factStore.recordFact( @@ -441,14 +440,13 @@ describe('BlockSynchronizer', () => { retractedFactType, [], { blockNumber: lastSurvivingBlock.number + 1, blockHash: Fr.random() }, - scope, jobId, ); await store.transactionAsync(() => factStore.commit(jobId)); // The collection and all three facts must be present before the prune. - expect(await factStore.getFactCollectionsByType(typeKey, [scope], jobId)).toHaveLength(1); - expect((await factStore.getFactCollection(collectionKey, [scope], jobId))!.facts).toHaveLength(3); + expect(await factStore.getFactCollectionsByType(typeKey, jobId)).toHaveLength(1); + expect((await factStore.getFactCollection(collectionKey, jobId))!.facts).toHaveLength(3); // Release the read job so the prune's rollback is not blocked by an in-flight job. await factStore.discardStaged(jobId); @@ -475,11 +473,11 @@ describe('BlockSynchronizer', () => { // The collection survives, keeping its non-retractable fact and the fork-point fact. Only the fact originating // above the fork is gone. - const collections = await factStore.getFactCollectionsByType(typeKey, [scope], jobId); + const collections = await factStore.getFactCollectionsByType(typeKey, jobId); expect(collections).toHaveLength(1); expect(collections[0].key.factCollectionId.equals(factCollectionId)).toBe(true); - const remainingFactTypes = (await factStore.getFactCollection(collectionKey, [scope], jobId))!.facts.map( + const remainingFactTypes = (await factStore.getFactCollection(collectionKey, jobId))!.facts.map( fact => fact.factTypeId, ); expect(remainingFactTypes).toHaveLength(2); From 273344c5d8ec3e89436cbe830e6cf095936836d3 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 15:47:02 +0000 Subject: [PATCH 108/197] test(pxe): regenerate fact store schema snapshots for scope-in-key (PXE_DATA_SCHEMA_VERSION 9) --- .../__snapshots__/FactStore.json | 42 +++++++------------ .../__snapshots__/opened_stores.json | 6 +-- .../schema_tests.ts | 16 +++---- yarn-project/pxe/src/storage/metadata.ts | 2 +- 4 files changed, 21 insertions(+), 45 deletions(-) diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json index 5686d77632ab..ea146489013e 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json @@ -1,54 +1,40 @@ { "facts": [ { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002", - "value": "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa000000000000000000000000000000000000000000000000000000000000000300000001000000000000000000000000000000000000000000000000000000000000000501000000060000000000000000000000000000000000000000000000000000000000000002" + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000aa000000000000000000000000000000000000000000000000000000000000000300000001000000000000000000000000000000000000000000000000000000000000000501000000060000000000000000000000000000000000000000000000000000000000000002" }, { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", - "value": "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000" }, { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", - "value": "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", + "value": "00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000bb00000000000000000000000000000000000000000000000000000000000000020000000001000000050000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_collection": [ { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002" + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002" }, { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none" + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none" }, { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" - } - ], - "scopes_by_fact": [ - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000001:0x00a802572c436574f713d43f1852859f4496d694de0e5b17b89cf983439e6143:none", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000001" + "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb", + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" } ], "facts_by_block": [ { "key": "num:5", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000bb:0x0000000000000000000000000000000000000000000000000000000000000002:0x00df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b811:5:0x0000000000000000000000000000000000000000000000000000000000000001" }, { "key": "num:6", - "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002" + "value": "utf8:0x0000000000000000000000000000000000000000000000000000000000000064:0x0000000000000000000000000000000000000000000000000000000000000001:0x0000000000000000000000000000000000000000000000000000000000000007:0x00000000000000000000000000000000000000000000000000000000000000aa:0x0000000000000000000000000000000000000000000000000000000000000003:0x00eebee6df09ad503384e049aea9fbf0c0db2f5af46673e550694c6564d973f7:6:0x0000000000000000000000000000000000000000000000000000000000000002" } ] } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index af597e41e83b..61059318ea2e 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -1,5 +1,5 @@ { - "schemaVersion": 8, + "schemaVersion": 9, "stores": [ { "name": "address_book", @@ -108,10 +108,6 @@ { "name": "pxe_l2_tips", "kind": "map" - }, - { - "name": "scopes_by_fact", - "kind": "multimap" } ] } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 09a6e5597c58..c38580011bb1 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -226,32 +226,26 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ const factCollectionTypeId = new Fr(7n); const keyA = FactCollectionKey.from({ contractAddress: contract, + scope, factCollectionTypeId, factCollectionId: new Fr(0xaan), }); const keyB = FactCollectionKey.from({ contractAddress: contract, + scope, factCollectionTypeId, factCollectionId: new Fr(0xbbn), }); // A collection whose only fact is retractable (origin block 6): pruned on a reorg above block 6. - await factStore.recordFact( - keyA, - new Fr(3n), - [new Fr(5n)], - { blockNumber: 6, blockHash: new Fr(2n) }, - scope, - jobId, - ); + await factStore.recordFact(keyA, new Fr(3n), [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId); // A collection with a non-retractable and a retractable fact. - await factStore.recordFact(keyB, new Fr(1n), [new Fr(9n)], undefined, scope, jobId); - await factStore.recordFact(keyB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, scope, jobId); + await factStore.recordFact(keyB, new Fr(1n), [new Fr(9n)], undefined, jobId); + await factStore.recordFact(keyB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, jobId); await kvStore.transactionAsync(() => factStore.commit(jobId)); }, snapshotStore: async kvStore => ({ facts: await snapshotMap(kvStore.openMap('facts')), facts_by_collection: await snapshotMap(kvStore.openMultiMap('facts_by_collection')), - scopes_by_fact: await snapshotMap(kvStore.openMultiMap('scopes_by_fact')), facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block')), }), }, diff --git a/yarn-project/pxe/src/storage/metadata.ts b/yarn-project/pxe/src/storage/metadata.ts index e242d8c59327..44387e7a5b2f 100644 --- a/yarn-project/pxe/src/storage/metadata.ts +++ b/yarn-project/pxe/src/storage/metadata.ts @@ -1 +1 @@ -export const PXE_DATA_SCHEMA_VERSION = 8; +export const PXE_DATA_SCHEMA_VERSION = 9; From b935e93af2bdd33b19ef29b71a585f03adc09717 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 15:57:18 +0000 Subject: [PATCH 109/197] docs(pxe): correct stale fact store JSDoc after scope-isolation refactor --- yarn-project/pxe/src/storage/fact_store/fact_store.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.ts index 6c33cb547670..1c6bbcca1281 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.ts @@ -38,8 +38,8 @@ type StagedOp = { kind: 'recordFact'; fact: StoredFact } | { kind: 'deleteFactCo * Non-retractable facts survive reorgs; they must then be explicitly deleted, so as not to keep consuming resources * (storage and compute) indefinitely. * - * Scope is part of a collection's identity (encoded in its key): the same (contract, type, id) under two scopes are - * two independent collections. Reads target one scope, carried inside the key. + * Scope is part of a collection's identity (encoded in its key): a given (contract, type, id) yields a distinct + * collection per scope. Reads target one scope, carried inside the key. * * This store is designed to enable Aztec.nr to implement complex workflows such as offchain reception or partial note * processing by storing structured data that is guaranteed to exist conditionally to specific blocks being included in @@ -205,8 +205,8 @@ export class FactStore implements StagedStore { } /** - * Deletes retractable facts originating above `toBlock` (taking their scope entries with them), returning the number - * of by-block entries scanned. A reorg invalidates a fact for every scope, so this is scope-agnostic. + * Deletes retractable facts originating above `toBlock`, returning the number of by-block entries scanned. + * Retraction is scope-agnostic: a reorg invalidates a fact regardless of which scope's collection it belongs to. * * Requires to be run in a transactionAsync context. */ @@ -236,7 +236,7 @@ export class FactStore implements StagedStore { } /** - * Reads the given collections (their facts, each with its scopes) by key into a Map keyed by collection key, skipping + * Reads the given collections (their facts) by key into a Map keyed by collection key, skipping * keys with no committed facts. * * Reads are not wrapped in a transaction: the caller owns the transaction boundary. From 9e7ef975dc2a288f262736fda91d856dae278a31 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Mon, 22 Jun 2026 16:00:16 +0000 Subject: [PATCH 110/197] trim comments --- yarn-project/pxe/src/storage/fact_store/fact_store.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yarn-project/pxe/src/storage/fact_store/fact_store.ts b/yarn-project/pxe/src/storage/fact_store/fact_store.ts index 1c6bbcca1281..ae569162318d 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_store.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_store.ts @@ -38,8 +38,7 @@ type StagedOp = { kind: 'recordFact'; fact: StoredFact } | { kind: 'deleteFactCo * Non-retractable facts survive reorgs; they must then be explicitly deleted, so as not to keep consuming resources * (storage and compute) indefinitely. * - * Scope is part of a collection's identity (encoded in its key): a given (contract, type, id) yields a distinct - * collection per scope. Reads target one scope, carried inside the key. + * Fact collections are isolated by scope. * * This store is designed to enable Aztec.nr to implement complex workflows such as offchain reception or partial note * processing by storing structured data that is guaranteed to exist conditionally to specific blocks being included in From bb3fc30501fd0a5206963cdbcf39477f6dd30c00 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 08:20:11 +0000 Subject: [PATCH 111/197] update based on upstream changes --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 69 ++++++++----------- .../aztec-nr/aztec/src/oracle/fact_store.nr | 14 ++-- .../oracle/oracle_registry.ts | 8 +-- .../oracle/utility_execution.test.ts | 32 ++++----- .../oracle/utility_execution_oracle.ts | 39 +++++------ yarn-project/pxe/src/oracle_version.ts | 2 +- .../storage/fact_store/fact_service.test.ts | 44 ++++++------ .../src/storage/fact_store/fact_service.ts | 36 ++++------ yarn-project/txe/src/rpc_translator.ts | 14 ++-- 9 files changed, 115 insertions(+), 143 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 8e19286981b4..93ca9ba28a60 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -1,13 +1,10 @@ //! Per-contract storage of immutable facts grouped into collections, backed by PXE's FactStore. //! //! A fact is a contract-defined, typed, immutable datum. Facts are grouped into collections identified by a -//! `(contract, collection type, collection id)` triple; a collection comes into being when its first fact is recorded -//! and ceases to exist once it has no facts left. Facts are scoped: each is visible only under the scopes it was -//! recorded for, isolating one account's view from another's even within the same collection. - +//! `(collection type, collection id)` tuple. use crate::ephemeral::EphemeralArray; use crate::oracle::fact_store::{ - get_fact_collection_oracle, get_fact_collections_by_type_oracle, record_fact_oracle, remove_fact_collection_oracle, + delete_fact_collection_oracle, get_fact_collection_oracle, get_fact_collections_by_type_oracle, record_fact_oracle, }; use crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}}; @@ -25,19 +22,17 @@ pub struct Fact { pub payload: EphemeralArray, } -/// A fact collection as returned by the store: its id together with the facts visible to the reader. +/// A fact collection as returned by the store. #[derive(Deserialize, Serialize)] pub struct FactCollection { pub fact_collection_id: Field, pub facts: EphemeralArray, } -/// Records a fact into a collection, visible under `scope`. +/// Records a fact into a collection. /// -/// The collection is created implicitly on the first fact recorded for its key; recording into an existing collection -/// just adds to it. A `Some` origin block makes the fact retractable: it is pruned if that block is reorg'd away. A -/// `None` origin block makes it permanent, surviving reorgs until explicitly removed. Re-recording an identical fact is -/// a no-op. +/// `Some` origin block makes the fact retractable: it is pruned if that block is reorg'd away. A `None` origin block +/// makes it non-retractable, surviving reorgs. Re-recording an identical fact is a no-op. pub unconstrained fn record_fact( contract_address: AztecAddress, scope: AztecAddress, @@ -58,18 +53,16 @@ pub unconstrained fn record_fact( ); } -/// Removes a fact collection from `scope`. +/// Deletes a fact collection. /// -/// Drops `scope` from each of the collection's facts, reaping any fact thereby left with no scope. A scope only ever -/// retracts its own view: facts another scope still references survive. A no-op if the collection is not visible under -/// `scope`. -pub unconstrained fn remove_fact_collection( +/// A no-op if no such collection exists. +pub unconstrained fn delete_fact_collection( contract_address: AztecAddress, scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, ) { - remove_fact_collection_oracle( + delete_fact_collection_oracle( contract_address, scope, fact_collection_type_id, @@ -77,37 +70,33 @@ pub unconstrained fn remove_fact_collection( ); } -/// Returns a fact collection, holding the facts visible under any of `scopes` (empty if none are). -pub unconstrained fn get_fact_collection( +/// Fetches a fact collection. +pub unconstrained fn get_fact_collection( contract_address: AztecAddress, - scopes: [AztecAddress; N], + scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, -) -> FactCollection { +) -> Option { get_fact_collection_oracle( contract_address, - BoundedVec::::from_array(scopes), + scope, fact_collection_type_id, fact_collection_id, ) } -/// Returns every fact collection of `fact_collection_type_id` with at least one fact visible under any of `scopes`. -pub unconstrained fn get_fact_collections_by_type( +/// Returns every fact collection of `fact_collection_type_id`. +pub unconstrained fn get_fact_collections_by_type( contract_address: AztecAddress, - scopes: [AztecAddress; N], + scope: AztecAddress, fact_collection_type_id: Field, ) -> EphemeralArray { - get_fact_collections_by_type_oracle( - contract_address, - BoundedVec::::from_array(scopes), - fact_collection_type_id, - ) + get_fact_collections_by_type_oracle(contract_address, scope, fact_collection_type_id) } mod test { use crate::facts::{ - get_fact_collection, get_fact_collections_by_type, OriginBlock, record_fact, remove_fact_collection, + delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, record_fact, }; use crate::protocol::address::AztecAddress; use crate::protocol::traits::{FromField, ToField}; @@ -138,7 +127,7 @@ mod test { Option::none(), ); - let collection = get_fact_collection(contract_address, [scope], TYPE_ID, COLLECTION_ID); + let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.fact_collection_id, COLLECTION_ID); assert_eq(collection.facts.len(), 1); assert_eq(collection.facts.get(0).fact_type_id, FACT_TYPE_ID); @@ -160,7 +149,7 @@ mod test { Option::none(), ); - let collections = get_fact_collections_by_type(contract_address, [scope], TYPE_ID); + let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); assert_eq(collections.len(), 1); assert_eq(collections.get(0).fact_collection_id, COLLECTION_ID); }); @@ -181,13 +170,13 @@ mod test { Option::some(OriginBlock { block_number: 5, block_hash: 0xabc }), ); - let collection = get_fact_collection(contract_address, [scope], TYPE_ID, COLLECTION_ID); + let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.facts.len(), 1); }); } #[test] - unconstrained fn removes_a_fact_collection() { + unconstrained fn deletes_a_fact_collection() { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); @@ -200,20 +189,20 @@ mod test { [123], Option::none(), ); - remove_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); + delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); - let collections = get_fact_collections_by_type(contract_address, [scope], TYPE_ID); + let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); assert_eq(collections.len(), 0); }); } #[test] - unconstrained fn reading_unknown_collection_returns_empty() { + unconstrained fn reading_unknown_collection_returns_none() { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - let collection = get_fact_collection(contract_address, [scope], TYPE_ID, COLLECTION_ID); - assert_eq(collection.facts.len(), 0); + let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); + assert(collection.is_none()); }); } diff --git a/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr b/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr index 9551c8c4e065..8b2bf0b92bc9 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr @@ -15,8 +15,8 @@ pub(crate) unconstrained fn record_fact_oracle( origin_block: Option, ) {} -#[oracle(aztec_utl_removeFactCollection)] -pub(crate) unconstrained fn remove_fact_collection_oracle( +#[oracle(aztec_utl_deleteFactCollection)] +pub(crate) unconstrained fn delete_fact_collection_oracle( contract_address: AztecAddress, scope: AztecAddress, fact_collection_type_id: Field, @@ -24,16 +24,16 @@ pub(crate) unconstrained fn remove_fact_collection_oracle( ) {} #[oracle(aztec_utl_getFactCollection)] -pub(crate) unconstrained fn get_fact_collection_oracle( +pub(crate) unconstrained fn get_fact_collection_oracle( contract_address: AztecAddress, - scopes: BoundedVec, + scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, -) -> FactCollection {} +) -> Option {} #[oracle(aztec_utl_getFactCollectionsByType)] -pub(crate) unconstrained fn get_fact_collections_by_type_oracle( +pub(crate) unconstrained fn get_fact_collections_by_type_oracle( contract_address: AztecAddress, - scopes: BoundedVec, + scope: AztecAddress, fact_collection_type_id: Field, ) -> EphemeralArray {} diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts index 3b9cead4ea2f..b9b08ebdb38e 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts @@ -325,7 +325,7 @@ export const ORACLE_REGISTRY = { ], }), - aztec_utl_removeFactCollection: makeEntry({ + aztec_utl_deleteFactCollection: makeEntry({ params: [ { name: 'contractAddress', type: AZTEC_ADDRESS }, { name: 'scope', type: AZTEC_ADDRESS }, @@ -337,17 +337,17 @@ export const ORACLE_REGISTRY = { aztec_utl_getFactCollection: makeEntry({ params: [ { name: 'contractAddress', type: AZTEC_ADDRESS }, - { name: 'scopes', type: BOUNDED_VEC(AZTEC_ADDRESS) }, + { name: 'scope', type: AZTEC_ADDRESS }, { name: 'factCollectionTypeId', type: FIELD }, { name: 'factCollectionId', type: FIELD }, ], - returnType: FACT_COLLECTION, + returnType: OPTION(FACT_COLLECTION), }), aztec_utl_getFactCollectionsByType: makeEntry({ params: [ { name: 'contractAddress', type: AZTEC_ADDRESS }, - { name: 'scopes', type: BOUNDED_VEC(AZTEC_ADDRESS) }, + { name: 'scope', type: AZTEC_ADDRESS }, { name: 'factCollectionTypeId', type: FIELD }, ], returnType: EPHEMERAL_ARRAY(FACT_COLLECTION), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index 70c510be2eae..d1644e7b8b1a 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -519,13 +519,14 @@ describe('Utility Execution test suite', () => { const collectionId = new Fr(20); const factTypeId = new Fr(30); const noBlock = Option.none(); - const scopesVec = (scopes: AztecAddress[]) => BoundedVec.from({ data: scopes, maxLength: scopes.length }); it('records a fact and reads it back via getFactCollection', async () => { const oracle = makeOracle({ scopes: [scope] }); await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, [new Fr(7)], noBlock); - const collection = await oracle.getFactCollection(contractAddress, scopesVec([scope]), typeId, collectionId); + const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); + expect(result.isSome()).toBe(true); + const collection = result.value!; expect(collection.factCollectionId).toEqual(collectionId); const facts = collection.facts.readAll(service); expect(facts).toHaveLength(1); @@ -533,10 +534,10 @@ describe('Utility Execution test suite', () => { expect(facts[0].payload.readAll(service)).toEqual([new Fr(7)]); }); - it('returns an empty collection when none of its facts are visible', async () => { + it('returns None for an unrecorded collection', async () => { const oracle = makeOracle({ scopes: [scope] }); - const collection = await oracle.getFactCollection(contractAddress, scopesVec([scope]), typeId, collectionId); - expect(collection.facts.readAll(service)).toEqual([]); + const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); + expect(result.isNone()).toBe(true); }); it('returns only the surviving collections of a type after some are removed', async () => { @@ -550,12 +551,10 @@ describe('Utility Execution test suite', () => { } // Remove two of them; the rest must remain. - await oracle.removeFactCollection(contractAddress, scope, typeId, new Fr(2)); - await oracle.removeFactCollection(contractAddress, scope, typeId, new Fr(4)); + await oracle.deleteFactCollection(contractAddress, scope, typeId, new Fr(2)); + await oracle.deleteFactCollection(contractAddress, scope, typeId, new Fr(4)); - const collections = ( - await oracle.getFactCollectionsByType(contractAddress, scopesVec([scope]), typeId) - ).readAll(service); + const collections = (await oracle.getFactCollectionsByType(contractAddress, scope, typeId)).readAll(service); // Exactly the survivors come back (order is not guaranteed, so compare as a set). const survivingIds = collections @@ -569,18 +568,17 @@ describe('Utility Execution test suite', () => { const originBlock = Option.some({ blockNumber: 5, blockHash: new Fr(0xabc) }); await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, [new Fr(42)], originBlock); - const collection = await oracle.getFactCollection(contractAddress, scopesVec([scope]), typeId, collectionId); - expect(collection.facts.readAll(service)).toHaveLength(1); + const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); + expect(result.isSome()).toBe(true); + expect(result.value!.facts.readAll(service)).toHaveLength(1); }); - it('removes a fact collection', async () => { + it('deletes a fact collection', async () => { const oracle = makeOracle({ scopes: [scope] }); await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, [new Fr(1)], noBlock); - await oracle.removeFactCollection(contractAddress, scope, typeId, collectionId); + await oracle.deleteFactCollection(contractAddress, scope, typeId, collectionId); - const collections = ( - await oracle.getFactCollectionsByType(contractAddress, scopesVec([scope]), typeId) - ).readAll(service); + const collections = (await oracle.getFactCollectionsByType(contractAddress, scope, typeId)).readAll(service); expect(collections).toEqual([]); }); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 9f49c0bb46b4..4cf5ef705efc 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -739,8 +739,8 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra } /** - * Records a fact into a collection, visible under `scope`. A `Some` origin block makes the fact retractable (pruned - * on reorg of that block); a `None` origin block makes it permanent, surviving reorgs. + * Records a fact into a collection. A `Some` origin block makes the fact retractable (pruned on reorg of that + * block), a `None` origin block makes it non-retractable, surviving reorgs. */ public recordFact( contractAddress: AztecAddress, @@ -753,59 +753,58 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra ): Promise { this.#assertOwnContract(contractAddress); return this.factService.recordFact( - new FactCollectionKey(contractAddress, factCollectionTypeId, factCollectionId), + new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), factTypeId, payload, originBlock.isSome() ? originBlock.value : undefined, - scope, this.jobId, ); } /** - * Removes a fact collection from `scope`: drops that scope from each of the collection's facts, reaping any fact - * thereby left with no scope. A no-op if the collection is not visible under `scope`. + * Deletes a fact collection, removing all its facts. A no-op if no such collection exists. */ - public removeFactCollection( + public deleteFactCollection( contractAddress: AztecAddress, scope: AztecAddress, factCollectionTypeId: Fr, factCollectionId: Fr, ): Promise { this.#assertOwnContract(contractAddress); - return this.factService.removeFactCollection( - new FactCollectionKey(contractAddress, factCollectionTypeId, factCollectionId), - scope, + return this.factService.deleteFactCollection( + new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), this.jobId, ); } - /** Returns one fact collection, holding the facts visible under any of `scopes` (empty if none are). */ + /** + * Returns a fact collection. + */ public async getFactCollection( contractAddress: AztecAddress, - scopes: BoundedVec, + scope: AztecAddress, factCollectionTypeId: Fr, factCollectionId: Fr, - ): Promise { + ): Promise> { this.#assertOwnContract(contractAddress); const collection = await this.factService.getFactCollection( - new FactCollectionKey(contractAddress, factCollectionTypeId, factCollectionId), - scopes.data, + new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), this.jobId, ); - return this.#toFactCollectionOutput(factCollectionId, collection?.facts ?? []); + return collection + ? Option.some(this.#toFactCollectionOutput(factCollectionId, collection.facts)) + : Option.none(this.#toFactCollectionOutput(Fr.ZERO, [])); } - /** Returns every fact collection of `factCollectionTypeId` with at least one fact visible under any of `scopes`. */ + /** Returns every fact collection of `factCollectionTypeId`. */ public async getFactCollectionsByType( contractAddress: AztecAddress, - scopes: BoundedVec, + scope: AztecAddress, factCollectionTypeId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); const collections = await this.factService.getFactCollectionsByType( - new FactCollectionTypeKey(contractAddress, factCollectionTypeId), - scopes.data, + new FactCollectionTypeKey(contractAddress, scope, factCollectionTypeId), this.jobId, ); return EphemeralArray.fromValues( diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index b80fbbb84c8d..0d52328ed5a0 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -19,4 +19,4 @@ export const ORACLE_VERSION_MINOR = 0; /// - increment only `ORACLE_VERSION_MINOR` if the change is additive (a new oracle was added). /// /// These constants must be kept in sync between this file and `noir-projects/aztec-nr/aztec/src/oracle/version.nr`. -export const ORACLE_INTERFACE_HASH = 'deb8452e59baae6bcf74fb2467b7dae98370703ce70ff46abe780bd8433d7a0d'; +export const ORACLE_INTERFACE_HASH = '7dc81912915242a1dd2451d4f3c22a6d223cb8be1e659b5eb10cea090c3bb7fd'; diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts index 73869c8c4731..687350b0831c 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts @@ -20,8 +20,10 @@ describe('FactService', () => { const factTypeId = new Fr(30); const factPayload = new Fr(40); - const key = new FactCollectionKey(contract, typeId, collectionId); - const typeKey = new FactCollectionTypeKey(contract, typeId); + const factCollectionKey = new FactCollectionKey(contract, allowedScope, typeId, collectionId); + const factCollectionTypeKey = new FactCollectionTypeKey(contract, allowedScope, typeId); + const disallowedCollectionKey = new FactCollectionKey(contract, disallowedScope, typeId, collectionId); + const disallowedCollectionTypeKey = new FactCollectionTypeKey(contract, disallowedScope, typeId); beforeEach(async () => { kv = await openTmpStore('fact-service-test'); @@ -30,57 +32,51 @@ describe('FactService', () => { it('delegates record+get for an allowed scope', async () => { const service = new FactService(store, [allowedScope]); - await service.recordFact(key, factTypeId, [factPayload], undefined, allowedScope, jobId); + await service.recordFact(factCollectionKey, factTypeId, [factPayload], undefined, jobId); - const collection = await service.getFactCollection(key, [allowedScope], jobId); + const collection = await service.getFactCollection(factCollectionKey, jobId); expect(collection?.facts).toEqual([{ factTypeId, payload: [factPayload], originBlock: undefined }]); }); it('delegates getFactCollectionsByType for an allowed scope', async () => { const service = new FactService(store, [allowedScope]); - await service.recordFact(key, factTypeId, [factPayload], undefined, allowedScope, jobId); + await service.recordFact(factCollectionKey, factTypeId, [factPayload], undefined, jobId); - const collections = await service.getFactCollectionsByType(typeKey, [allowedScope], jobId); - expect(collections).toEqual([{ key, facts: [{ factTypeId, payload: [factPayload], originBlock: undefined }] }]); + const collections = await service.getFactCollectionsByType(factCollectionTypeKey, jobId); + expect(collections).toEqual([ + { key: factCollectionKey, facts: [{ factTypeId, payload: [factPayload], originBlock: undefined }] }, + ]); }); - it('delegates removeFactCollection (descope) for an allowed scope', async () => { + it('delegates deleteFactCollection for an allowed scope', async () => { const service = new FactService(store, [allowedScope]); - await service.recordFact(key, factTypeId, [factPayload], undefined, allowedScope, jobId); - await service.removeFactCollection(key, allowedScope, jobId); + await service.recordFact(factCollectionKey, factTypeId, [factPayload], undefined, jobId); + await service.deleteFactCollection(factCollectionKey, jobId); - expect(await service.getFactCollection(key, [allowedScope], jobId)).toBeUndefined(); + expect(await service.getFactCollection(factCollectionKey, jobId)).toBeUndefined(); }); it('rejects a disallowed scope on recordFact', () => { const service = new FactService(store, [allowedScope]); - expect(() => service.recordFact(key, factTypeId, [factPayload], undefined, disallowedScope, jobId)).toThrow( + expect(() => service.recordFact(disallowedCollectionKey, factTypeId, [factPayload], undefined, jobId)).toThrow( /not in the allowed scopes/, ); }); - it('rejects a disallowed scope on removeFactCollection', () => { + it('rejects a disallowed scope on deleteFactCollection', () => { const service = new FactService(store, [allowedScope]); - expect(() => service.removeFactCollection(key, disallowedScope, jobId)).toThrow(/not in the allowed scopes/); + expect(() => service.deleteFactCollection(disallowedCollectionKey, jobId)).toThrow(/not in the allowed scopes/); }); it('rejects a disallowed scope on getFactCollection', () => { const service = new FactService(store, [allowedScope]); - expect(() => service.getFactCollection(key, [disallowedScope], jobId)).toThrow(/not in the allowed scopes/); + expect(() => service.getFactCollection(disallowedCollectionKey, jobId)).toThrow(/not in the allowed scopes/); }); it('rejects a disallowed scope on getFactCollectionsByType', () => { const service = new FactService(store, [allowedScope]); - expect(() => service.getFactCollectionsByType(typeKey, [disallowedScope], jobId)).toThrow( + expect(() => service.getFactCollectionsByType(disallowedCollectionTypeKey, jobId)).toThrow( /not in the allowed scopes/, ); }); - - it('always allows the zero (global) scope', async () => { - const service = new FactService(store, []); - await service.recordFact(key, factTypeId, [factPayload], undefined, AztecAddress.ZERO, jobId); - - const collection = await service.getFactCollection(key, [AztecAddress.ZERO], jobId); - expect(collection?.facts).toEqual([{ factTypeId, payload: [factPayload], originBlock: undefined }]); - }); }); diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.ts index 5451b213f115..7642105dc9cf 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.ts @@ -8,9 +8,8 @@ import type { FactCollectionKey, FactCollectionTypeKey, OriginBlock } from './fa /** * Wraps a {@link FactStore} with scope-based access control. * - * Writes assert the single scope they act under is allowed; reads assert every scope they filter by is allowed. The - * scope checks gate which accounts a contract may record facts under or read facts from, the same way the - * `CapsuleService` gates capsule access. + * Each method asserts scope validity before delegating to FactStore, gating which accounts a contract may record facts + * under or read facts from. */ export class FactService { constructor( @@ -23,33 +22,24 @@ export class FactService { factTypeId: Fr, payload: Fr[], originBlock: OriginBlock | undefined, - scope: AztecAddress, jobId: string, ): Promise { - assertAllowedScope(scope, this.allowedScopes); - return this.factStore.recordFact(factCollectionKey, factTypeId, payload, originBlock, scope, jobId); + assertAllowedScope(factCollectionKey.scope, this.allowedScopes); + return this.factStore.recordFact(factCollectionKey, factTypeId, payload, originBlock, jobId); } - removeFactCollection(factCollectionKey: FactCollectionKey, scope: AztecAddress, jobId: string): Promise { - assertAllowedScope(scope, this.allowedScopes); - return this.factStore.removeFactCollection(factCollectionKey, scope, jobId); + deleteFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise { + assertAllowedScope(factCollectionKey.scope, this.allowedScopes); + return this.factStore.deleteFactCollection(factCollectionKey, jobId); } - getFactCollection( - factCollectionKey: FactCollectionKey, - scopes: AztecAddress[], - jobId: string, - ): Promise { - scopes.forEach(scope => assertAllowedScope(scope, this.allowedScopes)); - return this.factStore.getFactCollection(factCollectionKey, scopes, jobId); + getFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise { + assertAllowedScope(factCollectionKey.scope, this.allowedScopes); + return this.factStore.getFactCollection(factCollectionKey, jobId); } - getFactCollectionsByType( - factCollectionTypeKey: FactCollectionTypeKey, - scopes: AztecAddress[], - jobId: string, - ): Promise { - scopes.forEach(scope => assertAllowedScope(scope, this.allowedScopes)); - return this.factStore.getFactCollectionsByType(factCollectionTypeKey, scopes, jobId); + getFactCollectionsByType(factCollectionTypeKey: FactCollectionTypeKey, jobId: string): Promise { + assertAllowedScope(factCollectionTypeKey.scope, this.allowedScopes); + return this.factStore.getFactCollectionsByType(factCollectionTypeKey, jobId); } } diff --git a/yarn-project/txe/src/rpc_translator.ts b/yarn-project/txe/src/rpc_translator.ts index acda28a27833..0479a71f6c27 100644 --- a/yarn-project/txe/src/rpc_translator.ts +++ b/yarn-project/txe/src/rpc_translator.ts @@ -825,12 +825,12 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - aztec_utl_removeFactCollection(...inputs: ForeignCallArgs) { + aztec_utl_deleteFactCollection(...inputs: ForeignCallArgs) { return callTxeHandler({ - oracle: 'aztec_utl_removeFactCollection', + oracle: 'aztec_utl_deleteFactCollection', inputs, handler: ([contractAddress, scope, factCollectionTypeId, factCollectionId]) => - this.handlerAsUtility().removeFactCollection(contractAddress, scope, factCollectionTypeId, factCollectionId), + this.handlerAsUtility().deleteFactCollection(contractAddress, scope, factCollectionTypeId, factCollectionId), }); } @@ -839,8 +839,8 @@ export class RPCTranslator { return callTxeHandler({ oracle: 'aztec_utl_getFactCollection', inputs, - handler: ([contractAddress, scopes, factCollectionTypeId, factCollectionId]) => - this.handlerAsUtility().getFactCollection(contractAddress, scopes, factCollectionTypeId, factCollectionId), + handler: ([contractAddress, scope, factCollectionTypeId, factCollectionId]) => + this.handlerAsUtility().getFactCollection(contractAddress, scope, factCollectionTypeId, factCollectionId), }); } @@ -849,8 +849,8 @@ export class RPCTranslator { return callTxeHandler({ oracle: 'aztec_utl_getFactCollectionsByType', inputs, - handler: ([contractAddress, scopes, factCollectionTypeId]) => - this.handlerAsUtility().getFactCollectionsByType(contractAddress, scopes, factCollectionTypeId), + handler: ([contractAddress, scope, factCollectionTypeId]) => + this.handlerAsUtility().getFactCollectionsByType(contractAddress, scope, factCollectionTypeId), }); } From a9ea72371ee93fab8aebfe2701c990aae52eda21 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 08:59:27 +0000 Subject: [PATCH 112/197] add origin block to facts --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 17 ++++++++- .../noir-structs/fact.ts | 7 +++- .../noir-structs/fact_collection.ts | 13 +++++-- .../oracle/oracle_type_mappings.ts | 25 ++++++++---- .../oracle/utility_execution.test.ts | 9 ++++- .../oracle/utility_execution_oracle.ts | 38 ++++++++++++++++--- 6 files changed, 89 insertions(+), 20 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 93ca9ba28a60..e3c02d261386 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -20,11 +20,15 @@ pub struct OriginBlock { pub struct Fact { pub fact_type_id: Field, pub payload: EphemeralArray, + pub origin_block: Option, } /// A fact collection as returned by the store. #[derive(Deserialize, Serialize)] pub struct FactCollection { + pub contract_address: AztecAddress, + pub scope: AztecAddress, + pub fact_collection_type_id: Field, pub fact_collection_id: Field, pub facts: EphemeralArray, } @@ -128,9 +132,16 @@ mod test { ); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); + assert_eq(collection.contract_address, contract_address); + assert_eq(collection.scope, scope); + assert_eq(collection.fact_collection_type_id, TYPE_ID); assert_eq(collection.fact_collection_id, COLLECTION_ID); assert_eq(collection.facts.len(), 1); - assert_eq(collection.facts.get(0).fact_type_id, FACT_TYPE_ID); + + let fact = collection.facts.get(0); + assert_eq(fact.fact_type_id, FACT_TYPE_ID); + assert_eq(fact.payload.get(0), 123); + assert(fact.origin_block.is_none()); }); } @@ -172,6 +183,10 @@ mod test { let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.facts.len(), 1); + + let origin_block = collection.facts.get(0).origin_block.unwrap(); + assert_eq(origin_block.block_number, 5); + assert_eq(origin_block.block_hash, 0xabc); }); } diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts index 5ffa2097aeaa..5e064107d40e 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts @@ -1,10 +1,13 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import type { EphemeralArray } from './ephemeral_array.js'; +import type { Option } from './option.js'; +import type { OriginBlock } from './origin_block.js'; /** * A single fact returned within a fact collection by the fact store oracles. * - * A TS version of the `Fact` struct in `facts/mod.nr`. + * A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (pruned on + * reorg of that block) and `None` for a non-retractable one. */ -export type Fact = { factTypeId: Fr; payload: EphemeralArray }; +export type Fact = { factTypeId: Fr; payload: EphemeralArray; originBlock: Option }; diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts index 9c1eaafe712f..540e27476fe5 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts @@ -1,11 +1,16 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { EphemeralArray } from './ephemeral_array.js'; import type { Fact } from './fact.js'; /** - * A fact collection as returned by the fact store oracles: its id together with its visible facts. - * - * A TS version of the `FactCollection` struct in `facts/mod.nr`. + * A fact collection. */ -export type FactCollection = { factCollectionId: Fr; facts: EphemeralArray }; +export type FactCollection = { + contractAddress: AztecAddress; + scope: AztecAddress; + factCollectionTypeId: Fr; + factCollectionId: Fr; + facts: EphemeralArray; +}; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 445302fa18e2..8a8ba996ec3b 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -378,13 +378,8 @@ export const RESOLVED_TX: TypeMapping = { serialization: { fn: resolved => [resolved.toFields()] }, }; -export const FACT: TypeMapping = { - serialization: { - fn: f => [f.factTypeId, f.payload.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[])], - }, -}; - export const ORIGIN_BLOCK: TypeMapping = { + serialization: { fn: ob => [new Fr(ob.blockNumber), ob.blockHash] }, deserialization: { fn: ([blockNumberReader, blockHashReader]) => ({ blockNumber: blockNumberReader.readField().toNumber(), @@ -394,9 +389,25 @@ export const ORIGIN_BLOCK: TypeMapping = { }, }; +export const FACT: TypeMapping = { + serialization: { + fn: f => [ + f.factTypeId, + f.payload.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[]), + ...OPTION(ORIGIN_BLOCK).serialization!.fn(f.originBlock), + ], + }, +}; + export const FACT_COLLECTION: TypeMapping = { serialization: { - fn: c => [c.factCollectionId, c.facts.materializeSlot(v => FACT.serialization!.fn(v).flat() as Fr[])], + fn: c => [ + c.contractAddress.toField(), + c.scope.toField(), + c.factCollectionTypeId, + c.factCollectionId, + c.facts.materializeSlot(v => FACT.serialization!.fn(v).flat() as Fr[]), + ], }, }; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index d1644e7b8b1a..d89fc690a7f0 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -527,11 +527,15 @@ describe('Utility Execution test suite', () => { const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); expect(result.isSome()).toBe(true); const collection = result.value!; + expect(collection.contractAddress).toEqual(contractAddress); + expect(collection.scope).toEqual(scope); + expect(collection.factCollectionTypeId).toEqual(typeId); expect(collection.factCollectionId).toEqual(collectionId); const facts = collection.facts.readAll(service); expect(facts).toHaveLength(1); expect(facts[0].factTypeId).toEqual(factTypeId); expect(facts[0].payload.readAll(service)).toEqual([new Fr(7)]); + expect(facts[0].originBlock.isNone()).toBe(true); }); it('returns None for an unrecorded collection', async () => { @@ -570,7 +574,10 @@ describe('Utility Execution test suite', () => { const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); expect(result.isSome()).toBe(true); - expect(result.value!.facts.readAll(service)).toHaveLength(1); + const facts = result.value!.facts.readAll(service); + expect(facts).toHaveLength(1); + expect(facts[0].originBlock.isSome()).toBe(true); + expect(facts[0].originBlock.value!).toEqual({ blockNumber: 5, blockHash: new Fr(0xabc) }); }); it('deletes a fact collection', async () => { diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 4cf5ef705efc..17b84c8646b6 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -722,9 +722,18 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra } } - /** Builds the Noir-facing FACT_COLLECTION output (id plus facts as nested ephemeral arrays) from stored facts. */ - #toFactCollectionOutput(factCollectionId: Fr, facts: FactFromStore[]): FactCollection { + /** Builds the Noir-facing FACT_COLLECTION output (full identity plus facts as nested ephemeral arrays) from stored facts. */ + #toFactCollectionOutput( + contractAddress: AztecAddress, + scope: AztecAddress, + factCollectionTypeId: Fr, + factCollectionId: Fr, + facts: FactFromStore[], + ): FactCollection { return { + contractAddress, + scope, + factCollectionTypeId, factCollectionId, facts: EphemeralArray.fromValues( this.ephemeralArrayService, @@ -732,6 +741,9 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra (fact: FactFromStore): Fact => ({ factTypeId: fact.factTypeId, payload: EphemeralArray.fromValues(this.ephemeralArrayService, fact.payload), + originBlock: fact.originBlock + ? Option.some(fact.originBlock) + : Option.none({ blockNumber: 0, blockHash: Fr.ZERO }), }), ), ), @@ -792,8 +804,16 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra this.jobId, ); return collection - ? Option.some(this.#toFactCollectionOutput(factCollectionId, collection.facts)) - : Option.none(this.#toFactCollectionOutput(Fr.ZERO, [])); + ? Option.some( + this.#toFactCollectionOutput( + contractAddress, + scope, + factCollectionTypeId, + factCollectionId, + collection.facts, + ), + ) + : Option.none(this.#toFactCollectionOutput(contractAddress, scope, factCollectionTypeId, factCollectionId, [])); } /** Returns every fact collection of `factCollectionTypeId`. */ @@ -809,7 +829,15 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra ); return EphemeralArray.fromValues( this.ephemeralArrayService, - collections.map(collection => this.#toFactCollectionOutput(collection.key.factCollectionId, collection.facts)), + collections.map(collection => + this.#toFactCollectionOutput( + collection.key.contractAddress, + collection.key.scope, + collection.key.factCollectionTypeId, + collection.key.factCollectionId, + collection.facts, + ), + ), ); } From a9f7b26003b30f8680adaf9ae3610e6da9ccf3b4 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 09:06:30 +0000 Subject: [PATCH 113/197] add more oracle wrappers --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 59 +++++++++++-------- .../noir-structs/origin_block.ts | 8 +++ 2 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 yarn-project/pxe/src/contract_function_simulator/noir-structs/origin_block.ts diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index e3c02d261386..686026bf8c34 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -33,18 +33,37 @@ pub struct FactCollection { pub facts: EphemeralArray, } -/// Records a fact into a collection. -/// -/// `Some` origin block makes the fact retractable: it is pruned if that block is reorg'd away. A `None` origin block -/// makes it non-retractable, surviving reorgs. Re-recording an identical fact is a no-op. -pub unconstrained fn record_fact( +/// Records a retractable fact into a collection: PXE prunes it if `origin_block` is reorg'd away. Re-recording an +/// identical fact is a no-op. +pub unconstrained fn record_retractable_fact( + contract_address: AztecAddress, + scope: AztecAddress, + fact_collection_type_id: Field, + fact_collection_id: Field, + fact_type_id: Field, + payload: [Field; N], + origin_block: OriginBlock, +) { + record_fact_oracle( + contract_address, + scope, + fact_collection_type_id, + fact_collection_id, + fact_type_id, + payload, + Option::some(origin_block), + ); +} + +/// Records a non-retractable fact into a collection: it survives reorgs and will persist until the fact collection +/// itself is deleted. Re-recording an identical fact is a no-op. +pub unconstrained fn record_non_retractable_fact( contract_address: AztecAddress, scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, fact_type_id: Field, payload: [Field; N], - origin_block: Option, ) { record_fact_oracle( contract_address, @@ -53,7 +72,7 @@ pub unconstrained fn record_fact( fact_collection_id, fact_type_id, payload, - origin_block, + Option::none(), ); } @@ -100,7 +119,8 @@ pub unconstrained fn get_fact_collections_by_type( mod test { use crate::facts::{ - delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, record_fact, + delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, + record_non_retractable_fact, record_retractable_fact, }; use crate::protocol::address::AztecAddress; use crate::protocol::traits::{FromField, ToField}; @@ -121,14 +141,13 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_fact( + record_non_retractable_fact( contract_address, scope, TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, [123], - Option::none(), ); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); @@ -150,14 +169,13 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_fact( + record_non_retractable_fact( contract_address, scope, TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, [123], - Option::none(), ); let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); @@ -171,14 +189,14 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_fact( + record_retractable_fact( contract_address, scope, TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, [123], - Option::some(OriginBlock { block_number: 5, block_hash: 0xabc }), + OriginBlock { block_number: 5, block_hash: 0xabc }, ); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); @@ -195,14 +213,13 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_fact( + record_non_retractable_fact( contract_address, scope, TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, [123], - Option::none(), ); delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); @@ -226,15 +243,7 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let other = AztecAddress::from_field(context.this_address().to_field() + 1); - record_fact( - other, - scope, - TYPE_ID, - COLLECTION_ID, - FACT_TYPE_ID, - [123], - Option::none(), - ); + record_non_retractable_fact(other, scope, TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, [123]); }); } } diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/origin_block.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/origin_block.ts new file mode 100644 index 000000000000..4967e4d37d32 --- /dev/null +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/origin_block.ts @@ -0,0 +1,8 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; + +/** + * The block a retractable fact originates from. + * + * A TS version of the `OriginBlock` struct in `facts/mod.nr`. + */ +export type OriginBlock = { blockNumber: number; blockHash: Fr }; From 074bc84a8239a51cb36721fc792cc2b1c875e265 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 09:16:38 +0000 Subject: [PATCH 114/197] migrate some things to ephemeralarray --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 32 +++++++++++++------ .../aztec-nr/aztec/src/oracle/fact_store.nr | 4 +-- .../oracle/oracle_registry.ts | 2 +- .../oracle/utility_execution.test.ts | 13 ++++---- .../oracle/utility_execution_oracle.ts | 4 +-- yarn-project/pxe/src/oracle_version.ts | 2 +- 6 files changed, 36 insertions(+), 21 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 686026bf8c34..a683a249de0c 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -35,13 +35,13 @@ pub struct FactCollection { /// Records a retractable fact into a collection: PXE prunes it if `origin_block` is reorg'd away. Re-recording an /// identical fact is a no-op. -pub unconstrained fn record_retractable_fact( +pub unconstrained fn record_retractable_fact( contract_address: AztecAddress, scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, fact_type_id: Field, - payload: [Field; N], + payload: EphemeralArray, origin_block: OriginBlock, ) { record_fact_oracle( @@ -57,13 +57,13 @@ pub unconstrained fn record_retractable_fact( /// Records a non-retractable fact into a collection: it survives reorgs and will persist until the fact collection /// itself is deleted. Re-recording an identical fact is a no-op. -pub unconstrained fn record_non_retractable_fact( +pub unconstrained fn record_non_retractable_fact( contract_address: AztecAddress, scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, fact_type_id: Field, - payload: [Field; N], + payload: EphemeralArray, ) { record_fact_oracle( contract_address, @@ -118,6 +118,7 @@ pub unconstrained fn get_fact_collections_by_type( } mod test { + use crate::ephemeral::EphemeralArray; use crate::facts::{ delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, record_non_retractable_fact, record_retractable_fact, @@ -136,6 +137,12 @@ mod test { (env, scope) } + unconstrained fn make_payload(value: Field) -> EphemeralArray { + let payload: EphemeralArray = EphemeralArray::empty(); + payload.push(value); + payload + } + #[test] unconstrained fn records_and_reads_a_fact() { let (env, scope) = setup(); @@ -147,7 +154,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - [123], + make_payload(123), ); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); @@ -175,7 +182,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - [123], + make_payload(123), ); let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); @@ -195,7 +202,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - [123], + make_payload(123), OriginBlock { block_number: 5, block_hash: 0xabc }, ); @@ -219,7 +226,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - [123], + make_payload(123), ); delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); @@ -243,7 +250,14 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let other = AztecAddress::from_field(context.this_address().to_field() + 1); - record_non_retractable_fact(other, scope, TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, [123]); + record_non_retractable_fact( + other, + scope, + TYPE_ID, + COLLECTION_ID, + FACT_TYPE_ID, + make_payload(123), + ); }); } } diff --git a/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr b/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr index 8b2bf0b92bc9..3ada515809cb 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/fact_store.nr @@ -5,13 +5,13 @@ use crate::facts::{FactCollection, OriginBlock}; use crate::protocol::address::AztecAddress; #[oracle(aztec_utl_recordFact)] -pub(crate) unconstrained fn record_fact_oracle( +pub(crate) unconstrained fn record_fact_oracle( contract_address: AztecAddress, scope: AztecAddress, fact_collection_type_id: Field, fact_collection_id: Field, fact_type_id: Field, - payload: [Field; N], + payload: EphemeralArray, origin_block: Option, ) {} diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts index b9b08ebdb38e..b4c5d4d419cf 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_registry.ts @@ -320,7 +320,7 @@ export const ORACLE_REGISTRY = { { name: 'factCollectionTypeId', type: FIELD }, { name: 'factCollectionId', type: FIELD }, { name: 'factTypeId', type: FIELD }, - { name: 'payload', type: ARRAY(FIELD) }, + { name: 'payload', type: EPHEMERAL_ARRAY(FIELD) }, { name: 'originBlock', type: OPTION(ORIGIN_BLOCK) }, ], }), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index d89fc690a7f0..00918355b014 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -519,10 +519,11 @@ describe('Utility Execution test suite', () => { const collectionId = new Fr(20); const factTypeId = new Fr(30); const noBlock = Option.none(); + const payloadOf = (value: number) => EphemeralArray.fromValues(service, [new Fr(value)]); it('records a fact and reads it back via getFactCollection', async () => { const oracle = makeOracle({ scopes: [scope] }); - await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, [new Fr(7)], noBlock); + await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, payloadOf(7), noBlock); const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); expect(result.isSome()).toBe(true); @@ -551,7 +552,7 @@ describe('Utility Execution test suite', () => { // ones come back. const ids = [1, 2, 3, 4, 5]; for (const id of ids) { - await oracle.recordFact(contractAddress, scope, typeId, new Fr(id), factTypeId, [new Fr(100 + id)], noBlock); + await oracle.recordFact(contractAddress, scope, typeId, new Fr(id), factTypeId, payloadOf(100 + id), noBlock); } // Remove two of them; the rest must remain. @@ -570,7 +571,7 @@ describe('Utility Execution test suite', () => { it('stores a retractable fact when given an origin block', async () => { const oracle = makeOracle({ scopes: [scope] }); const originBlock = Option.some({ blockNumber: 5, blockHash: new Fr(0xabc) }); - await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, [new Fr(42)], originBlock); + await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, payloadOf(42), originBlock); const result = await oracle.getFactCollection(contractAddress, scope, typeId, collectionId); expect(result.isSome()).toBe(true); @@ -582,7 +583,7 @@ describe('Utility Execution test suite', () => { it('deletes a fact collection', async () => { const oracle = makeOracle({ scopes: [scope] }); - await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, [new Fr(1)], noBlock); + await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, payloadOf(1), noBlock); await oracle.deleteFactCollection(contractAddress, scope, typeId, collectionId); const collections = (await oracle.getFactCollectionsByType(contractAddress, scope, typeId)).readAll(service); @@ -593,7 +594,7 @@ describe('Utility Execution test suite', () => { const oracle = makeOracle({ scopes: [scope] }); const otherContract = await AztecAddress.random(); expect(() => - oracle.recordFact(otherContract, scope, typeId, collectionId, factTypeId, [new Fr(1)], noBlock), + oracle.recordFact(otherContract, scope, typeId, collectionId, factTypeId, payloadOf(1), noBlock), ).toThrow(/not allowed to access/); }); @@ -601,7 +602,7 @@ describe('Utility Execution test suite', () => { const oracle = makeOracle({ scopes: [scope] }); const otherScope = await AztecAddress.random(); expect(() => - oracle.recordFact(contractAddress, otherScope, typeId, collectionId, factTypeId, [new Fr(1)], noBlock), + oracle.recordFact(contractAddress, otherScope, typeId, collectionId, factTypeId, payloadOf(1), noBlock), ).toThrow(/not in the allowed scopes/); }); }); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 17b84c8646b6..46aaf19d9bac 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -760,14 +760,14 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionTypeId: Fr, factCollectionId: Fr, factTypeId: Fr, - payload: Fr[], + payload: EphemeralArray, originBlock: Option, ): Promise { this.#assertOwnContract(contractAddress); return this.factService.recordFact( new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), factTypeId, - payload, + payload.readAll(this.ephemeralArrayService), originBlock.isSome() ? originBlock.value : undefined, this.jobId, ); diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index 0d52328ed5a0..cf2eea257cbc 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -19,4 +19,4 @@ export const ORACLE_VERSION_MINOR = 0; /// - increment only `ORACLE_VERSION_MINOR` if the change is additive (a new oracle was added). /// /// These constants must be kept in sync between this file and `noir-projects/aztec-nr/aztec/src/oracle/version.nr`. -export const ORACLE_INTERFACE_HASH = '7dc81912915242a1dd2451d4f3c22a6d223cb8be1e659b5eb10cea090c3bb7fd'; +export const ORACLE_INTERFACE_HASH = 'c2bb0bada16dc1808e251dc5e9b41c069d6bb71e8e4bab25e8790da831ce20af'; From 150e8222cae61cd37fadd01f02c0ea33dfdb6cc3 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 09:49:52 +0000 Subject: [PATCH 115/197] refactors --- .../noir-structs/fact_collection.ts | 49 +++++++++++++++++-- .../oracle/utility_execution.test.ts | 9 ---- .../oracle/utility_execution_oracle.ts | 41 +++------------- .../pxe/src/storage/allowed_scopes.test.ts | 25 ++++++++++ .../pxe/src/storage/allowed_scopes.ts | 6 +-- .../storage/capsule_store/capsule_service.ts | 9 +++- 6 files changed, 86 insertions(+), 53 deletions(-) create mode 100644 yarn-project/pxe/src/storage/allowed_scopes.test.ts diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts index 540e27476fe5..4b516ac23819 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts @@ -1,8 +1,11 @@ -import type { Fr } from '@aztec/foundation/curves/bn254'; -import type { AztecAddress } from '@aztec/stdlib/aztec-address'; +import { Fr } from '@aztec/foundation/curves/bn254'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import type { EphemeralArray } from './ephemeral_array.js'; +import type { Fact as FactFromStore, OriginBlock } from '../../storage/fact_store/index.js'; +import type { EphemeralArrayService } from '../ephemeral_array_service.js'; +import { EphemeralArray } from './ephemeral_array.js'; import type { Fact } from './fact.js'; +import { Option } from './option.js'; /** * A fact collection. @@ -14,3 +17,43 @@ export type FactCollection = { factCollectionId: Fr; facts: EphemeralArray; }; + +/** + * Builds the Noir-facing `FactCollection` from stored facts. + */ +export function toNoirFactCollection( + service: EphemeralArrayService, + contractAddress: AztecAddress, + scope: AztecAddress, + factCollectionTypeId: Fr, + factCollectionId: Fr, + facts: FactFromStore[], +): FactCollection { + return { + contractAddress, + scope, + factCollectionTypeId, + factCollectionId, + facts: EphemeralArray.fromValues( + service, + facts.map( + (fact: FactFromStore): Fact => ({ + factTypeId: fact.factTypeId, + payload: EphemeralArray.fromValues(service, fact.payload), + originBlock: fact.originBlock + ? Option.some(fact.originBlock) + : Option.none({ blockNumber: 0, blockHash: Fr.ZERO }), + }), + ), + ), + }; +} + +/** + * A zeroed `FactCollection` used only as a serialization shape template for the `None` case of + * `Option`. Noir's `Option` is fixed-width on the wire, so `None` must emit the same number of + * (zeroed) field slots as `Some`. + **/ +export function emptyFactCollection(service: EphemeralArrayService): FactCollection { + return toNoirFactCollection(service, AztecAddress.ZERO, AztecAddress.ZERO, Fr.ZERO, Fr.ZERO, []); +} diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index 00918355b014..f6fb438fa0eb 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -581,15 +581,6 @@ describe('Utility Execution test suite', () => { expect(facts[0].originBlock.value!).toEqual({ blockNumber: 5, blockHash: new Fr(0xabc) }); }); - it('deletes a fact collection', async () => { - const oracle = makeOracle({ scopes: [scope] }); - await oracle.recordFact(contractAddress, scope, typeId, collectionId, factTypeId, payloadOf(1), noBlock); - await oracle.deleteFactCollection(contractAddress, scope, typeId, collectionId); - - const collections = (await oracle.getFactCollectionsByType(contractAddress, scope, typeId)).readAll(service); - expect(collections).toEqual([]); - }); - it('rejects access to another contract', async () => { const oracle = makeOracle({ scopes: [scope] }); const otherContract = await AztecAddress.random(); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 46aaf19d9bac..b9f189f31557 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -51,7 +51,7 @@ import type { AddressStore } from '../../storage/address_store/address_store.js' import type { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; import { FactCollectionKey, FactCollectionTypeKey } from '../../storage/fact_store/index.js'; -import type { Fact as FactFromStore, FactService, OriginBlock } from '../../storage/fact_store/index.js'; +import type { FactService, OriginBlock } from '../../storage/fact_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js'; @@ -60,8 +60,7 @@ import { EphemeralArrayService } from '../ephemeral_array_service.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import type { EventValidationRequest } from '../noir-structs/event_validation_request.js'; -import type { Fact } from '../noir-structs/fact.js'; -import type { FactCollection } from '../noir-structs/fact_collection.js'; +import { type FactCollection, emptyFactCollection, toNoirFactCollection } from '../noir-structs/fact_collection.js'; import type { LogRetrievalRequest } from '../noir-structs/log_retrieval_request.js'; import type { LogRetrievalResponse } from '../noir-structs/log_retrieval_response.js'; import type { NoteData } from '../noir-structs/note_data.js'; @@ -722,34 +721,6 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra } } - /** Builds the Noir-facing FACT_COLLECTION output (full identity plus facts as nested ephemeral arrays) from stored facts. */ - #toFactCollectionOutput( - contractAddress: AztecAddress, - scope: AztecAddress, - factCollectionTypeId: Fr, - factCollectionId: Fr, - facts: FactFromStore[], - ): FactCollection { - return { - contractAddress, - scope, - factCollectionTypeId, - factCollectionId, - facts: EphemeralArray.fromValues( - this.ephemeralArrayService, - facts.map( - (fact: FactFromStore): Fact => ({ - factTypeId: fact.factTypeId, - payload: EphemeralArray.fromValues(this.ephemeralArrayService, fact.payload), - originBlock: fact.originBlock - ? Option.some(fact.originBlock) - : Option.none({ blockNumber: 0, blockHash: Fr.ZERO }), - }), - ), - ), - }; - } - /** * Records a fact into a collection. A `Some` origin block makes the fact retractable (pruned on reorg of that * block), a `None` origin block makes it non-retractable, surviving reorgs. @@ -805,7 +776,8 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra ); return collection ? Option.some( - this.#toFactCollectionOutput( + toNoirFactCollection( + this.ephemeralArrayService, contractAddress, scope, factCollectionTypeId, @@ -813,7 +785,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra collection.facts, ), ) - : Option.none(this.#toFactCollectionOutput(contractAddress, scope, factCollectionTypeId, factCollectionId, [])); + : Option.none(emptyFactCollection(this.ephemeralArrayService)); } /** Returns every fact collection of `factCollectionTypeId`. */ @@ -830,7 +802,8 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra return EphemeralArray.fromValues( this.ephemeralArrayService, collections.map(collection => - this.#toFactCollectionOutput( + toNoirFactCollection( + this.ephemeralArrayService, collection.key.contractAddress, collection.key.scope, collection.key.factCollectionTypeId, diff --git a/yarn-project/pxe/src/storage/allowed_scopes.test.ts b/yarn-project/pxe/src/storage/allowed_scopes.test.ts new file mode 100644 index 000000000000..3bf3b904dd23 --- /dev/null +++ b/yarn-project/pxe/src/storage/allowed_scopes.test.ts @@ -0,0 +1,25 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; +import { AztecAddress } from '@aztec/stdlib/aztec-address'; + +import { assertAllowedScope } from './allowed_scopes.js'; + +describe('assertAllowedScope', () => { + const scopeA = AztecAddress.fromField(new Fr(1)); + const scopeB = AztecAddress.fromField(new Fr(2)); + + it('permits a scope present in the allowed list', () => { + expect(() => assertAllowedScope(scopeA, [scopeA, scopeB])).not.toThrow(); + }); + + it('rejects a scope absent from the allowed list', () => { + expect(() => assertAllowedScope(scopeA, [scopeB])).toThrow(/not in the allowed scopes/); + }); + + it('rejects the zero scope when it is not in the allowed list', () => { + expect(() => assertAllowedScope(AztecAddress.ZERO, [scopeA])).toThrow(/not in the allowed scopes/); + }); + + it('permits the zero scope only when it is explicitly in the allowed list', () => { + expect(() => assertAllowedScope(AztecAddress.ZERO, [AztecAddress.ZERO])).not.toThrow(); + }); +}); diff --git a/yarn-project/pxe/src/storage/allowed_scopes.ts b/yarn-project/pxe/src/storage/allowed_scopes.ts index 04d7d1f0d0f2..12e97d99b530 100644 --- a/yarn-project/pxe/src/storage/allowed_scopes.ts +++ b/yarn-project/pxe/src/storage/allowed_scopes.ts @@ -1,13 +1,9 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address'; /** - * Asserts that `scope` is permitted by `allowedScopes`. The zero address is always permitted (it denotes the global - * scope). Throws otherwise. + * Asserts that `scope` is one of `allowedScopes`, throwing otherwise. */ export function assertAllowedScope(scope: AztecAddress, allowedScopes: AztecAddress[]): void { - if (scope.equals(AztecAddress.ZERO)) { - return; - } if (!allowedScopes.some((allowed: AztecAddress) => allowed.equals(scope))) { throw new Error( `Scope ${scope.toString()} is not in the allowed scopes list: [${allowedScopes diff --git a/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts b/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts index a75b657448f4..1c3276247cab 100644 --- a/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts +++ b/yarn-project/pxe/src/storage/capsule_store/capsule_service.ts @@ -10,10 +10,15 @@ import type { CapsuleStore } from './capsule_store.js'; * allowed scopes list before delegating to the underlying store. */ export class CapsuleService { + private readonly allowedScopes: AztecAddress[]; + constructor( private readonly capsuleStore: CapsuleStore, - private readonly allowedScopes: AztecAddress[], - ) {} + allowedScopes: AztecAddress[], + ) { + // The zero address denotes the global capsule scope, which is always permitted. + this.allowedScopes = [...allowedScopes, AztecAddress.ZERO]; + } setCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[], jobId: string, scope: AztecAddress) { assertAllowedScope(scope, this.allowedScopes); From acf2709ab78995be817b2014820b239c461eeab5 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:01:05 +0000 Subject: [PATCH 116/197] reuse assertion function --- .../oracle/utility_execution_oracle.ts | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index b9f189f31557..053b1fe219a1 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -668,10 +668,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra } public setCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[], scope: AztecAddress): void { - if (!contractAddress.equals(this.contractAddress)) { - // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB - throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`); - } + this.#assertOwnContract(contractAddress); this.capsuleService.setCapsule(contractAddress, slot, capsule, this.jobId, scope); } @@ -681,19 +678,13 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra tSize: number, scope: AztecAddress, ): Promise> { - if (!contractAddress.equals(this.contractAddress)) { - // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB - throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`); - } + this.#assertOwnContract(contractAddress); const values = await this.capsuleService.getCapsule(contractAddress, slot, this.jobId, scope, this.capsules); return values ? Option.some(values) : Option.none(new Array(tSize).fill(Fr.ZERO)); } public deleteCapsule(contractAddress: AztecAddress, slot: Fr, scope: AztecAddress): void { - if (!contractAddress.equals(this.contractAddress)) { - // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB - throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`); - } + this.#assertOwnContract(contractAddress); this.capsuleService.deleteCapsule(contractAddress, slot, this.jobId, scope); } @@ -704,16 +695,12 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra numEntries: number, scope: AztecAddress, ): Promise { - if (!contractAddress.equals(this.contractAddress)) { - // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB - throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`); - } + this.#assertOwnContract(contractAddress); return this.capsuleService.copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, this.jobId, scope); } /** - * Asserts the executing contract may access `contractAddress`'s fact store. Fact collections are isolated per - * contract, so a contract may only operate on its own facts. + * Asserts the executing contract may only access its own slice of PXE DB. */ #assertOwnContract(contractAddress: AztecAddress): void { if (!contractAddress.equals(this.contractAddress)) { From 970af233463265e5783dd2d3fe3f0a46ea651aba Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:14:45 +0000 Subject: [PATCH 117/197] add comment about deleting fact collections --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index a683a249de0c..053e7a1e5fe2 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -76,8 +76,10 @@ pub unconstrained fn record_non_retractable_fact( ); } -/// Deletes a fact collection. +/// Deletes a fact collection, removing all its facts from PXE storage. /// +/// Collections must be eventually deleted to reclaim storage and to stop reprocessing past the lifespan of the +// workflows they enable. /// A no-op if no such collection exists. pub unconstrained fn delete_fact_collection( contract_address: AztecAddress, From 9b2870ed63c2598d6d626eac279c5581bed1b37b Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:20:07 +0000 Subject: [PATCH 118/197] name constants --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 053e7a1e5fe2..e692fc1a4afd 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -132,6 +132,7 @@ mod test { global TYPE_ID: Field = 42; global COLLECTION_ID: Field = 7; global FACT_TYPE_ID: Field = 99; + global PAYLOAD: Field = 123; unconstrained fn setup() -> (TestEnvironment, AztecAddress) { let mut env = TestEnvironment::new(); @@ -156,7 +157,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - make_payload(123), + make_payload(PAYLOAD), ); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); @@ -168,7 +169,7 @@ mod test { let fact = collection.facts.get(0); assert_eq(fact.fact_type_id, FACT_TYPE_ID); - assert_eq(fact.payload.get(0), 123); + assert_eq(fact.payload.get(0), PAYLOAD); assert(fact.origin_block.is_none()); }); } @@ -184,7 +185,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - make_payload(123), + make_payload(PAYLOAD), ); let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); @@ -204,7 +205,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - make_payload(123), + make_payload(PAYLOAD), OriginBlock { block_number: 5, block_hash: 0xabc }, ); @@ -228,7 +229,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - make_payload(123), + make_payload(PAYLOAD), ); delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); @@ -258,7 +259,7 @@ mod test { TYPE_ID, COLLECTION_ID, FACT_TYPE_ID, - make_payload(123), + make_payload(PAYLOAD), ); }); } From f7cc66b27082cb99348b78ad966918850959db8b Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:20:24 +0000 Subject: [PATCH 119/197] name constants --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index e692fc1a4afd..dd3c90a48f45 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -79,7 +79,8 @@ pub unconstrained fn record_non_retractable_fact( /// Deletes a fact collection, removing all its facts from PXE storage. /// /// Collections must be eventually deleted to reclaim storage and to stop reprocessing past the lifespan of the -// workflows they enable. +/// workflows they enable. +/// /// A no-op if no such collection exists. pub unconstrained fn delete_fact_collection( contract_address: AztecAddress, From 159a6be12fca1eb6a34e75d5b8d0192ca1fb0070 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:26:24 +0000 Subject: [PATCH 120/197] check payloads --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index dd3c90a48f45..be037450ca1c 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -133,7 +133,7 @@ mod test { global TYPE_ID: Field = 42; global COLLECTION_ID: Field = 7; global FACT_TYPE_ID: Field = 99; - global PAYLOAD: Field = 123; + global PAYLOAD: [Field; 3] = [123, 456, 789]; unconstrained fn setup() -> (TestEnvironment, AztecAddress) { let mut env = TestEnvironment::new(); @@ -141,12 +141,21 @@ mod test { (env, scope) } - unconstrained fn make_payload(value: Field) -> EphemeralArray { + unconstrained fn make_payload(values: [Field; N]) -> EphemeralArray { let payload: EphemeralArray = EphemeralArray::empty(); - payload.push(value); + for i in 0..N { + payload.push(values[i]); + } payload } + unconstrained fn assert_payload(payload: EphemeralArray) { + assert_eq(payload.len(), PAYLOAD.len()); + for i in 0..PAYLOAD.len() { + assert_eq(payload.get(i), PAYLOAD[i]); + } + } + #[test] unconstrained fn records_and_reads_a_fact() { let (env, scope) = setup(); @@ -170,7 +179,7 @@ mod test { let fact = collection.facts.get(0); assert_eq(fact.fact_type_id, FACT_TYPE_ID); - assert_eq(fact.payload.get(0), PAYLOAD); + assert_payload(fact.payload); assert(fact.origin_block.is_none()); }); } @@ -191,7 +200,14 @@ mod test { let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); assert_eq(collections.len(), 1); - assert_eq(collections.get(0).fact_collection_id, COLLECTION_ID); + + let collection = collections.get(0); + assert_eq(collection.fact_collection_id, COLLECTION_ID); + assert_eq(collection.facts.len(), 1); + + let fact = collection.facts.get(0); + assert_eq(fact.fact_type_id, FACT_TYPE_ID); + assert_payload(fact.payload); }); } @@ -213,7 +229,11 @@ mod test { let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.facts.len(), 1); - let origin_block = collection.facts.get(0).origin_block.unwrap(); + let fact = collection.facts.get(0); + assert_eq(fact.fact_type_id, FACT_TYPE_ID); + assert_payload(fact.payload); + + let origin_block = fact.origin_block.unwrap(); assert_eq(origin_block.block_number, 5); assert_eq(origin_block.block_hash, 0xabc); }); From b176c175bf4495b48310dad1bdca50e8e9326c55 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:37:53 +0000 Subject: [PATCH 121/197] add some more tests to facts mod --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 92 ++++++++++++------- 1 file changed, 60 insertions(+), 32 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index be037450ca1c..d441dd071987 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -156,19 +156,23 @@ mod test { } } + unconstrained fn record_fact(contract_address: AztecAddress, scope: AztecAddress) { + record_non_retractable_fact( + contract_address, + scope, + TYPE_ID, + COLLECTION_ID, + FACT_TYPE_ID, + make_payload(PAYLOAD), + ); + } + #[test] unconstrained fn records_and_reads_a_fact() { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_non_retractable_fact( - contract_address, - scope, - TYPE_ID, - COLLECTION_ID, - FACT_TYPE_ID, - make_payload(PAYLOAD), - ); + record_fact(contract_address, scope); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.contract_address, contract_address); @@ -189,14 +193,7 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_non_retractable_fact( - contract_address, - scope, - TYPE_ID, - COLLECTION_ID, - FACT_TYPE_ID, - make_payload(PAYLOAD), - ); + record_fact(contract_address, scope); let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); assert_eq(collections.len(), 1); @@ -244,14 +241,7 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_non_retractable_fact( - contract_address, - scope, - TYPE_ID, - COLLECTION_ID, - FACT_TYPE_ID, - make_payload(PAYLOAD), - ); + record_fact(contract_address, scope); delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); let collections = get_fact_collections_by_type(contract_address, scope, TYPE_ID); @@ -274,14 +264,52 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let other = AztecAddress::from_field(context.this_address().to_field() + 1); - record_non_retractable_fact( - other, - scope, - TYPE_ID, - COLLECTION_ID, - FACT_TYPE_ID, - make_payload(PAYLOAD), - ); + record_fact(other, scope); + }); + } + + #[test] + unconstrained fn re_recording_an_identical_fact_is_a_no_op() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + record_default_fact(contract_address, scope); + record_default_fact(contract_address, scope); + + let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); + assert_eq(collection.facts.len(), 1); + }); + } + + #[test] + unconstrained fn deleting_a_non_existing_collection_is_a_no_op() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); + + assert(get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).is_none()); + }); + } + + #[test] + unconstrained fn recording_a_fact_after_delete_recreates_the_collection() { + let (env, scope) = setup(); + env.private_context(|context| { + let contract_address = context.this_address(); + + record_default_fact(contract_address, scope); + let collection_pre_deletion = + get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); + assert_eq(collection.facts.len(), 1); + + delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); + let collection_deleted = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); + assert_eq(collection.facts.len(), 0); + + record_default_fact(contract_address, scope); + let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); + assert_eq(collection.facts.len(), 1); }); } } From 6912f82336b2c260067a9fc40d5be3c549520cf9 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 10:47:40 +0000 Subject: [PATCH 122/197] fix compilation --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index d441dd071987..e092f0a12226 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -273,8 +273,8 @@ mod test { let (env, scope) = setup(); env.private_context(|context| { let contract_address = context.this_address(); - record_default_fact(contract_address, scope); - record_default_fact(contract_address, scope); + record_fact(contract_address, scope); + record_fact(contract_address, scope); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.facts.len(), 1); @@ -298,18 +298,18 @@ mod test { env.private_context(|context| { let contract_address = context.this_address(); - record_default_fact(contract_address, scope); - let collection_pre_deletion = + record_fact(contract_address, scope); + let collection_before_delete = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); - assert_eq(collection.facts.len(), 1); + assert_eq(collection_before_delete.facts.len(), 1); delete_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID); - let collection_deleted = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); - assert_eq(collection.facts.len(), 0); + assert(get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).is_none()); - record_default_fact(contract_address, scope); - let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); - assert_eq(collection.facts.len(), 1); + record_fact(contract_address, scope); + let collection_after_recreate = + get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); + assert_eq(collection_after_recreate.facts.len(), 1); }); } } From 2429b67573d7ff69f815ffd568ea34a84895d3ad Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 11:05:54 +0000 Subject: [PATCH 123/197] bump oracle versions --- noir-projects/aztec-nr/aztec/src/oracle/version.nr | 4 ++-- .../contracts/protocol/aztec_sublib/src/oracle/version.nr | 2 +- yarn-project/pxe/src/oracle_version.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/version.nr b/noir-projects/aztec-nr/aztec/src/oracle/version.nr index 8ef8a54b6afb..ff8f9a5afe2d 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/version.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/version.nr @@ -10,8 +10,8 @@ /// the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. -pub global ORACLE_VERSION_MAJOR: Field = 31; -pub global ORACLE_VERSION_MINOR: Field = 0; +pub global ORACLE_VERSION_MAJOR: Field = 30; +pub global ORACLE_VERSION_MINOR: Field = 1; /// Asserts that the version of the oracle is compatible with the version expected by the contract. pub fn assert_compatible_oracle_version() { diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr index dea5115930a5..bd0ff1883bb7 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr @@ -10,7 +10,7 @@ /// the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. -pub global ORACLE_VERSION_MAJOR: Field = 31; +pub global ORACLE_VERSION_MAJOR: Field = 30; pub global ORACLE_VERSION_MINOR: Field = 0; /// Asserts that the version of the oracle is compatible with the version expected by the contract. diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index cf2eea257cbc..ef3292376b49 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -10,8 +10,8 @@ /// used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw immediately /// if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency without actually /// using any of the new oracles then there is no reason to throw. -export const ORACLE_VERSION_MAJOR = 31; -export const ORACLE_VERSION_MINOR = 0; +export const ORACLE_VERSION_MAJOR = 30; +export const ORACLE_VERSION_MINOR = 1; /// This hash is computed from the `ORACLE_REGISTRY` declaration (each oracle's name, ordered parameter names and /// types, and return type) and is used to detect when the oracle interface changes. When it does, you need to either: From 2a0c4011f1461e25d549adfb71f0063e38ad1b90 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 11:59:36 +0000 Subject: [PATCH 124/197] refactor(aztec-nr): reimplement offchain reception on the facts framework --- .../messages/processing/offchain/message.nr | 18 +- .../src/messages/processing/offchain/mod.nr | 215 +++++++++++++----- 2 files changed, 159 insertions(+), 74 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr index 3101fa12fa3a..5a221dff439b 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr @@ -1,11 +1,10 @@ use crate::{ - entities::EntityBody, messages::encoding::MESSAGE_CIPHERTEXT_LEN, protocol::{address::AztecAddress, hash::{poseidon2_hash, sha256_to_field}, traits::{Deserialize, Serialize}}, }; -/// Entity type id shared by every offchain message reception entity in the entity store. -pub(crate) global OFFCHAIN_RECEPTION_ENTITY: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_ENTITY".as_bytes()); +/// Fact-collection type id shared by every offchain message reception in the fact store. +pub(crate) global OFFCHAIN_RECEPTION_TYPE: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE".as_bytes()); /// A message delivered via the `offchain_receive` utility function. #[derive(Serialize, Deserialize)] @@ -26,19 +25,14 @@ pub struct OffchainMessage { /// `MESSAGE_CIPHERTEXT_LEN + 1`. global SERIALIZED_CIPHERTEXT_LEN: u32 = MESSAGE_CIPHERTEXT_LEN + 1; -impl EntityBody for OffchainMessage { - /// All offchain messages share the reception state-machine entity type. - fn entity_type_id() -> Field { - OFFCHAIN_RECEPTION_ENTITY - } - - /// Computes the entity id that identifies this message's reception entity in the entity store. +impl OffchainMessage { + /// Computes the fact-collection id that identifies this message's reception in the fact store. /// /// The id is a poseidon2 hash over the serialized ciphertext fields and the normalized tx hash (0 when absent). - /// Re-delivering the same `(ciphertext, tx_hash)` pair therefore maps to the same entity, making `receive` + /// Re-delivering the same `(ciphertext, tx_hash)` pair therefore maps to the same collection, making `receive` /// idempotent. The `recipient` and `anchor_block_timestamp` fields are intentionally excluded, so identity depends /// only on the message content and its originating transaction. - fn entity_id(self) -> Field { + pub fn fact_collection_id(self) -> Field { let serialized_ciphertext: [Field; SERIALIZED_CIPHERTEXT_LEN] = self.ciphertext.serialize(); let mut inputs: [Field; SERIALIZED_CIPHERTEXT_LEN + 1] = [0; SERIALIZED_CIPHERTEXT_LEN + 1]; for i in 0..SERIALIZED_CIPHERTEXT_LEN { diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 74355afb4443..0ada1848644e 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -1,14 +1,23 @@ pub mod message; pub use message::OffchainMessage; +use message::OFFCHAIN_RECEPTION_TYPE; use crate::{ context::UtilityContext, - entities::{Entity, Fact}, ephemeral::EphemeralArray, + facts::{ + delete_fact_collection, Fact, FactCollection, get_fact_collections_by_type, OriginBlock, + record_non_retractable_fact, record_retractable_fact, + }, messages::processing::{MessageContext, OffchainMessageWithContext}, oracle::{contract_sync::set_contract_sync_cache_invalid, tx_resolution::{get_resolved_txs, ResolvedTx}}, - protocol::{address::AztecAddress, constants::MAX_TX_LIFETIME, hash::sha256_to_field}, + protocol::{ + address::AztecAddress, + constants::MAX_TX_LIFETIME, + hash::sha256_to_field, + traits::{Deserialize, Serialize}, + }, }; /// Maximum number of offchain messages accepted by `offchain_receive` in a single call. @@ -20,9 +29,12 @@ pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; /// (7200 == 2 hours) global MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + 7200; +/// Fact type id of the fact that stores the offchain message body inside a reception collection. +global OFFCHAIN_MESSAGE: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE".as_bytes()); + /// Fact type id to mark an offchain message as processed. /// -/// A reception is in "processed state" exactly when it carries a fact of this type. +/// A reception is in "processed state" exactly when its collection carries a fact of this type. global OFFCHAIN_MESSAGE_PROCESSED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_PROCESSED".as_bytes()); /// A function that manages offchain-delivered messages for processing during sync. @@ -59,12 +71,74 @@ pub unconstrained fn receive( contract_address: AztecAddress, messages: BoundedVec, ) { - messages.for_each(|msg| { let _ = Entity::create_non_retractable(contract_address, msg.recipient, msg); }); + messages.for_each(|msg| { + record_non_retractable_fact( + contract_address, + msg.recipient, + OFFCHAIN_RECEPTION_TYPE, + msg.fact_collection_id(), + OFFCHAIN_MESSAGE, + encode_message(msg), + ); + }); // Clear cache for message recipients so the next sync runs. set_contract_sync_cache_invalid(contract_address, messages.map(|msg| msg.recipient)); } +/// Serializes an `OffchainMessage` into a fact payload. +unconstrained fn encode_message(message: OffchainMessage) -> EphemeralArray { + let fields = message.serialize(); + let payload: EphemeralArray = EphemeralArray::empty(); + for i in 0..fields.len() { + payload.push(fields[i]); + } + payload +} + +/// Reads the message body fact back out of a reception collection. +/// +/// Every collection returned by the store carries exactly one `OFFCHAIN_MESSAGE` fact: the collection only exists +/// because `receive` recorded it, and that fact is non-retractable so it is never pruned. +unconstrained fn decode_message(reception: FactCollection) -> OffchainMessage { + let message_fact = reception.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE).unwrap(); + let n = ::N; + let mut fields = [0; ::N]; + for i in 0..n { + fields[i] = message_fact.payload.get(i); + } + Deserialize::deserialize(fields) +} + +/// Returns `true` if the reception has been marked processed. +unconstrained fn is_processed(reception: FactCollection) -> bool { + reception.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) +} + +/// Records the retractable processed marker for a reception, originated at the resolved block. +unconstrained fn mark_processed(reception: FactCollection, block_number: u32, block_hash: Field) { + let empty_payload: EphemeralArray = EphemeralArray::empty(); + record_retractable_fact( + reception.contract_address, + reception.scope, + reception.fact_collection_type_id, + reception.fact_collection_id, + OFFCHAIN_MESSAGE_PROCESSED, + empty_payload, + OriginBlock { block_number, block_hash }, + ); +} + +/// Terminates a reception by deleting its fact collection. +unconstrained fn terminate(reception: FactCollection) { + delete_fact_collection( + reception.contract_address, + reception.scope, + reception.fact_collection_type_id, + reception.fact_collection_id, + ); +} + /// Step function to advance the reception workflow of an offchain message. /// /// The reception workflow can be in one of the following states: @@ -79,7 +153,8 @@ pub unconstrained fn receive( /// - Received-but-unresolved (or tx-less, which never resolves), or already processed: the TX that originated this /// message is not yet available but might be in the future, so the message stays in the inbox for a future sync. unconstrained fn process_reception( - reception: Entity, + reception: FactCollection, + message: OffchainMessage, maybe_resolved: Option, now: u64, ) -> Option { @@ -94,22 +169,22 @@ unconstrained fn process_reception( // are "unterminated" with a block, but also are removed when a block is final. // This, in offchain reception's particular case, would make facts entirely unnecessary (at least at its present // functionality). - let expired = now > reception.body.anchor_block_timestamp + MAX_MSG_TTL; - let already_processed = reception.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED); + let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; + let already_processed = is_processed(reception); if !already_processed & maybe_resolved.is_some() { let resolved = maybe_resolved.unwrap(); - reception.log_retractable_fact(OFFCHAIN_MESSAGE_PROCESSED, [], resolved.block_number, resolved.block_hash); + mark_processed(reception, resolved.block_number, resolved.block_hash); let message_context = MessageContext { tx_hash: resolved.tx_hash, unique_note_hashes_in_tx: resolved.unique_note_hashes_in_tx, first_nullifier_in_tx: resolved.first_nullifier_in_tx, }; Option::some( - OffchainMessageWithContext { message_ciphertext: reception.body.ciphertext, message_context }, + OffchainMessageWithContext { message_ciphertext: message.ciphertext, message_context }, ) } else if expired { - reception.terminate(); + terminate(reception); Option::none() } else { Option::none() @@ -121,21 +196,22 @@ pub unconstrained fn sync_inbox( contract_address: AztecAddress, scope: AztecAddress, ) -> EphemeralArray { - let active_receptions = Entity::::read_all(contract_address, scope); + let receptions = get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE); - // Ask PXE to resolve each message's originating tx. We pass the tx hashes in active-reception order, so the - // resolved txs come back aligned with the reception indices and can be matched back positionally. - let resolved_txs = get_resolved_txs(active_receptions.map(|reception: Entity| { - reception.body.tx_hash.unwrap_or(0) + // Ask PXE to resolve each message's originating tx. We pass the tx hashes in reception order, so the resolved txs + // come back aligned with the reception indices and can be matched back positionally. + let resolved_txs = get_resolved_txs(receptions.map(|reception: FactCollection| { + decode_message(reception).tx_hash.unwrap_or(0) })); - assert_eq(resolved_txs.len(), active_receptions.len()); + assert_eq(resolved_txs.len(), receptions.len()); let processable_messages: EphemeralArray = EphemeralArray::empty(); let now = UtilityContext::new().timestamp(); - active_receptions.for_each(|i, reception| { - let maybe_message = process_reception(reception, resolved_txs.get(i), now); + receptions.for_each(|i, reception| { + let message = decode_message(reception); + let maybe_message = process_reception(reception, message, resolved_txs.get(i), now); if maybe_message.is_some() { processable_messages.push(maybe_message.unwrap()); } @@ -146,8 +222,9 @@ pub unconstrained fn sync_inbox( mod test { use crate::{ - entities::{Entity, EntityBody, Fact, get_entity}, ephemeral::EphemeralArray, + facts::{Fact, FactCollection, get_fact_collection, get_fact_collections_by_type}, + messages::processing::offchain::message::OFFCHAIN_RECEPTION_TYPE, oracle::random::random, protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, @@ -175,28 +252,31 @@ mod test { env.last_block_timestamp() } - /// Returns the entity ids of the reception entities currently active for the given scope. + /// Returns the collection ids of the receptions currently active for the given scope. unconstrained fn messages_in_inbox(contract_address: AztecAddress, scope: AztecAddress) -> EphemeralArray { - Entity::::read_all(contract_address, scope).map(|e: Entity| { - e.body.entity_id() + get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE).map(|c: FactCollection| { + c.fact_collection_id }) } - /// Returns `true` if a reception entity with the given entity id is currently active. - unconstrained fn is_in_inbox(contract_address: AztecAddress, scope: AztecAddress, msg_entity_id: Field) -> bool { - messages_in_inbox(contract_address, scope).any(|k: Field| k == msg_entity_id) + /// Returns `true` if a reception with the given collection id is currently active. + unconstrained fn is_in_inbox(contract_address: AztecAddress, scope: AztecAddress, collection_id: Field) -> bool { + messages_in_inbox(contract_address, scope).any(|k: Field| k == collection_id) } - /// Returns `true` if the reception entity with the given id has been marked processed. - unconstrained fn is_processed(contract_address: AztecAddress, scope: AztecAddress, msg_entity_id: Field) -> bool { - let facts = get_entity::( + /// Returns `true` if the reception with the given collection id has been marked processed. + unconstrained fn is_processed(contract_address: AztecAddress, scope: AztecAddress, collection_id: Field) -> bool { + let maybe_collection = get_fact_collection( contract_address, scope, - OffchainMessage::entity_type_id(), - msg_entity_id, - ) - .facts; - facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + OFFCHAIN_RECEPTION_TYPE, + collection_id, + ); + if maybe_collection.is_some() { + maybe_collection.unwrap().facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + } else { + false + } } #[test] @@ -228,7 +308,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_in_inbox(address, scope, msg.entity_id()), "expired entity should be terminated"); + assert(!is_in_inbox(address, scope, msg.fact_collection_id()), "expired reception should be terminated"); }); } @@ -249,8 +329,8 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(is_in_inbox(address, scope, msg.entity_id()), "not expired entity should stay active"); - assert(!is_processed(address, scope, msg.entity_id()), "should still be unprocessed"); + assert(is_in_inbox(address, scope, msg.fact_collection_id()), "not expired reception should stay active"); + assert(!is_processed(address, scope, msg.fact_collection_id()), "should still be unprocessed"); }); } @@ -271,7 +351,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_in_inbox(address, scope, msg.entity_id()), "expired entity should be terminated"); + assert(!is_in_inbox(address, scope, msg.fact_collection_id()), "expired reception should be terminated"); }); } @@ -291,8 +371,8 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // not resolved, not ready - assert(is_in_inbox(address, scope, msg.entity_id()), "unresolved entity should stay active"); - assert(!is_processed(address, scope, msg.entity_id()), "should still be unprocessed"); + assert(is_in_inbox(address, scope, msg.fact_collection_id()), "unresolved reception should stay active"); + assert(!is_processed(address, scope, msg.fact_collection_id()), "should still be unprocessed"); }); } @@ -329,11 +409,17 @@ mod test { assert_eq(result.len(), 0); // all contexts are None assert( - !is_in_inbox(address, scope, expired_a.entity_id()), - "expired tx-bound entity should be terminated", + !is_in_inbox(address, scope, expired_a.fact_collection_id()), + "expired tx-bound reception should be terminated", + ); + assert( + !is_in_inbox(address, scope, expired_b.fact_collection_id()), + "expired tx-less reception should be terminated", + ); + assert( + is_in_inbox(address, scope, survivor.fact_collection_id()), + "survivor reception should stay active", ); - assert(!is_in_inbox(address, scope, expired_b.entity_id()), "expired tx-less entity should be terminated"); - assert(is_in_inbox(address, scope, survivor.entity_id()), "survivor entity should stay active"); assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -363,12 +449,12 @@ mod test { let ctx = result.get(0).message_context; assert_eq(ctx.tx_hash, known_tx_hash); - // Entity stays active (not expired) and is now marked processed, with a Processed fact recorded. + // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. assert( - is_in_inbox(address, scope, msg.entity_id()), - "processed entity should stay active for reorg safety", + is_in_inbox(address, scope, msg.fact_collection_id()), + "processed reception should stay active for reorg safety", ); - assert(is_processed(address, scope, msg.entity_id()), "should be processed"); + assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); }); } @@ -388,17 +474,20 @@ mod test { let address = context.this_address(); let first = sync_inbox(address, scope); assert_eq(first.len(), 1); - assert(is_processed(address, scope, msg.entity_id()), "should be processed"); + assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); }); - // Second sync with the same resolvable context the entity remains active (not expired). + // Second sync with the same resolvable context the reception remains active (not expired). env.utility_context(|context| { let address = context.this_address(); let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed - assert(is_in_inbox(address, scope, msg.entity_id()), "processed entity should still be active"); - assert(is_processed(address, scope, msg.entity_id()), "should remain processed"); + assert( + is_in_inbox(address, scope, msg.fact_collection_id()), + "processed reception should still be active", + ); + assert(is_processed(address, scope, msg.fact_collection_id()), "should remain processed"); }); } @@ -421,26 +510,26 @@ mod test { assert_eq(result.len(), 1); assert( - is_in_inbox(address, scope, msg.entity_id()), - "expired-but-resolved entity is processed, not terminated yet", + is_in_inbox(address, scope, msg.fact_collection_id()), + "expired-but-resolved reception is processed, not terminated yet", ); - assert(is_processed(address, scope, msg.entity_id()), "should be processed"); + assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); }); - // Second sync: still expired and now processed, so the entity is terminated. + // Second sync: still expired and now processed, so the reception is terminated. env.utility_context(|context| { let address = context.this_address(); let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed assert( - !is_in_inbox(address, scope, msg.entity_id()), - "expired processed entity is terminated on the next sync", + !is_in_inbox(address, scope, msg.fact_collection_id()), + "expired processed reception is terminated on the next sync", ); }); } - // -- Idempotent re-delivery (first-write-wins entity creation) --------- + // -- Idempotent re-delivery (first-write-wins fact recording) --------- #[test] unconstrained fn redelivery_is_idempotent() { @@ -456,7 +545,7 @@ mod test { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_in_inbox(address, scope, msg.entity_id()), "reception should be active"); + assert(is_in_inbox(address, scope, msg.fact_collection_id()), "reception should be active"); assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -476,7 +565,7 @@ mod test { env.utility_context(|context| { let address = context.this_address(); assert_eq(sync_inbox(address, scope).len(), 1); - assert(is_processed(address, scope, msg.entity_id()), "should be processed"); + assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); }); // Re-deliver the same message. The next sync recognizes it as already processed and does not re-push it. @@ -484,9 +573,11 @@ mod test { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_processed(address, scope, msg.entity_id()), "re-delivery must preserve the processed guard"); + assert( + is_processed(address, scope, msg.fact_collection_id()), + "re-delivery must preserve the processed guard", + ); assert_eq(sync_inbox(address, scope).len(), 0); }); } - } From 5fdc60250a7b1e0c183b340fff4856b0dbe23895 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 12:28:51 +0000 Subject: [PATCH 125/197] refactor(aztec-nr): derive the offchain fact collection id from the full message Hash the whole serialized OffchainMessage (via its Serialize derive) instead of just ciphertext + tx hash, so identity covers every field and there are no silently-excluded fields to reason about. --- .../messages/processing/offchain/message.nr | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr index 5a221dff439b..45389b09d32b 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr @@ -19,27 +19,14 @@ pub struct OffchainMessage { pub anchor_block_timestamp: u64, } -/// Number of fields produced by serializing a `BoundedVec`. -/// -/// A `BoundedVec` serializes as its storage fields followed by a trailing length field, so the total is -/// `MESSAGE_CIPHERTEXT_LEN + 1`. -global SERIALIZED_CIPHERTEXT_LEN: u32 = MESSAGE_CIPHERTEXT_LEN + 1; - impl OffchainMessage { /// Computes the fact-collection id that identifies this message's reception in the fact store. /// - /// The id is a poseidon2 hash over the serialized ciphertext fields and the normalized tx hash (0 when absent). - /// Re-delivering the same `(ciphertext, tx_hash)` pair therefore maps to the same collection, making `receive` - /// idempotent. The `recipient` and `anchor_block_timestamp` fields are intentionally excluded, so identity depends - /// only on the message content and its originating transaction. + /// The id is a poseidon2 hash over the full serialized message. Re-delivering a byte-identical message therefore + /// maps to the same collection, making `receive` idempotent; a message differing in any field (recipient, + /// tx hash, anchor timestamp, or ciphertext) is a distinct reception. pub fn fact_collection_id(self) -> Field { - let serialized_ciphertext: [Field; SERIALIZED_CIPHERTEXT_LEN] = self.ciphertext.serialize(); - let mut inputs: [Field; SERIALIZED_CIPHERTEXT_LEN + 1] = [0; SERIALIZED_CIPHERTEXT_LEN + 1]; - for i in 0..SERIALIZED_CIPHERTEXT_LEN { - inputs[i] = serialized_ciphertext[i]; - } - inputs[SERIALIZED_CIPHERTEXT_LEN] = self.tx_hash.unwrap_or(0); - poseidon2_hash(inputs) + poseidon2_hash(self.serialize()) } } From 003486016e4d22fa477f4e17c32681f38f2fe68f Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 12:38:24 +0000 Subject: [PATCH 126/197] refactor(aztec-nr): collapse offchain message.nr into mod.nr OffchainMessage, OFFCHAIN_RECEPTION_TYPE and fact_collection_id (now a free function rather than a method) move into mod.nr; the near-empty message.nr and its round-trip test are removed. --- .../messages/processing/offchain/message.nr | 56 ------------ .../src/messages/processing/offchain/mod.nr | 87 +++++++++++-------- 2 files changed, 50 insertions(+), 93 deletions(-) delete mode 100644 noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr deleted file mode 100644 index 45389b09d32b..000000000000 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/message.nr +++ /dev/null @@ -1,56 +0,0 @@ -use crate::{ - messages::encoding::MESSAGE_CIPHERTEXT_LEN, - protocol::{address::AztecAddress, hash::{poseidon2_hash, sha256_to_field}, traits::{Deserialize, Serialize}}, -}; - -/// Fact-collection type id shared by every offchain message reception in the fact store. -pub(crate) global OFFCHAIN_RECEPTION_TYPE: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE".as_bytes()); - -/// A message delivered via the `offchain_receive` utility function. -#[derive(Serialize, Deserialize)] -pub struct OffchainMessage { - /// The encrypted message payload. - pub ciphertext: BoundedVec, - /// The intended recipient of the message. - pub recipient: AztecAddress, - /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message. - pub tx_hash: Option, - /// Anchor block timestamp at message emission. - pub anchor_block_timestamp: u64, -} - -impl OffchainMessage { - /// Computes the fact-collection id that identifies this message's reception in the fact store. - /// - /// The id is a poseidon2 hash over the full serialized message. Re-delivering a byte-identical message therefore - /// maps to the same collection, making `receive` idempotent; a message differing in any field (recipient, - /// tx hash, anchor timestamp, or ciphertext) is a distinct reception. - pub fn fact_collection_id(self) -> Field { - poseidon2_hash(self.serialize()) - } -} - -mod test { - use crate::{ - messages::encoding::MESSAGE_CIPHERTEXT_LEN, - protocol::{address::AztecAddress, traits::{Deserialize, FromField, Serialize}}, - }; - use super::OffchainMessage; - - #[test] - unconstrained fn pack_unpack_round_trips_offchain_message() { - let ciphertext: BoundedVec = BoundedVec::new(); - let msg = OffchainMessage { - ciphertext, - recipient: AztecAddress::from_field(42), - tx_hash: Option::some(99), - anchor_block_timestamp: 12345, - }; - let packed = msg.serialize(); - let roundtripped: OffchainMessage = Deserialize::deserialize(packed); - assert_eq(roundtripped.recipient, msg.recipient); - assert_eq(roundtripped.tx_hash, msg.tx_hash); - assert_eq(roundtripped.anchor_block_timestamp, msg.anchor_block_timestamp); - assert_eq(roundtripped.ciphertext.len(), msg.ciphertext.len()); - } -} diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 0ada1848644e..77a9101c3c72 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -1,8 +1,3 @@ -pub mod message; - -pub use message::OffchainMessage; -use message::OFFCHAIN_RECEPTION_TYPE; - use crate::{ context::UtilityContext, ephemeral::EphemeralArray, @@ -10,16 +5,41 @@ use crate::{ delete_fact_collection, Fact, FactCollection, get_fact_collections_by_type, OriginBlock, record_non_retractable_fact, record_retractable_fact, }, - messages::processing::{MessageContext, OffchainMessageWithContext}, + messages::{encoding::MESSAGE_CIPHERTEXT_LEN, processing::{MessageContext, OffchainMessageWithContext}}, oracle::{contract_sync::set_contract_sync_cache_invalid, tx_resolution::{get_resolved_txs, ResolvedTx}}, protocol::{ address::AztecAddress, constants::MAX_TX_LIFETIME, - hash::sha256_to_field, + hash::{poseidon2_hash, sha256_to_field}, traits::{Deserialize, Serialize}, }, }; +/// A message delivered via the `offchain_receive` utility function. +#[derive(Serialize, Deserialize)] +pub struct OffchainMessage { + /// The encrypted message payload. + pub ciphertext: BoundedVec, + /// The intended recipient of the message. + pub recipient: AztecAddress, + /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message. + pub tx_hash: Option, + /// Anchor block timestamp at message emission. + pub anchor_block_timestamp: u64, +} + +/// Fact-collection type id shared by every offchain message reception in the fact store. +global OFFCHAIN_RECEPTION_TYPE: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE".as_bytes()); + +/// Computes the fact-collection id that identifies a message's reception in the fact store. +/// +/// The id is a poseidon2 hash over the full serialized message. Re-delivering a byte-identical message therefore +/// maps to the same collection, making `receive` idempotent; a message differing in any field (recipient, tx hash, +/// anchor timestamp, or ciphertext) is a distinct reception. +fn fact_collection_id(message: OffchainMessage) -> Field { + poseidon2_hash(message.serialize()) +} + /// Maximum number of offchain messages accepted by `offchain_receive` in a single call. pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; @@ -76,7 +96,7 @@ pub unconstrained fn receive( contract_address, msg.recipient, OFFCHAIN_RECEPTION_TYPE, - msg.fact_collection_id(), + fact_collection_id(msg), OFFCHAIN_MESSAGE, encode_message(msg), ); @@ -224,14 +244,13 @@ mod test { use crate::{ ephemeral::EphemeralArray, facts::{Fact, FactCollection, get_fact_collection, get_fact_collections_by_type}, - messages::processing::offchain::message::OFFCHAIN_RECEPTION_TYPE, oracle::random::random, protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, }; use super::{ - MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_MESSAGE_PROCESSED, OffchainMessage, receive, - sync_inbox, + fact_collection_id, MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_MESSAGE_PROCESSED, + OFFCHAIN_RECEPTION_TYPE, OffchainMessage, receive, sync_inbox, }; unconstrained fn setup() -> (TestEnvironment, AztecAddress) { @@ -308,7 +327,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_in_inbox(address, scope, msg.fact_collection_id()), "expired reception should be terminated"); + assert(!is_in_inbox(address, scope, fact_collection_id(msg)), "expired reception should be terminated"); }); } @@ -329,8 +348,8 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(is_in_inbox(address, scope, msg.fact_collection_id()), "not expired reception should stay active"); - assert(!is_processed(address, scope, msg.fact_collection_id()), "should still be unprocessed"); + assert(is_in_inbox(address, scope, fact_collection_id(msg)), "not expired reception should stay active"); + assert(!is_processed(address, scope, fact_collection_id(msg)), "should still be unprocessed"); }); } @@ -351,7 +370,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_in_inbox(address, scope, msg.fact_collection_id()), "expired reception should be terminated"); + assert(!is_in_inbox(address, scope, fact_collection_id(msg)), "expired reception should be terminated"); }); } @@ -371,8 +390,8 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // not resolved, not ready - assert(is_in_inbox(address, scope, msg.fact_collection_id()), "unresolved reception should stay active"); - assert(!is_processed(address, scope, msg.fact_collection_id()), "should still be unprocessed"); + assert(is_in_inbox(address, scope, fact_collection_id(msg)), "unresolved reception should stay active"); + assert(!is_processed(address, scope, fact_collection_id(msg)), "should still be unprocessed"); }); } @@ -409,17 +428,14 @@ mod test { assert_eq(result.len(), 0); // all contexts are None assert( - !is_in_inbox(address, scope, expired_a.fact_collection_id()), + !is_in_inbox(address, scope, fact_collection_id(expired_a)), "expired tx-bound reception should be terminated", ); assert( - !is_in_inbox(address, scope, expired_b.fact_collection_id()), + !is_in_inbox(address, scope, fact_collection_id(expired_b)), "expired tx-less reception should be terminated", ); - assert( - is_in_inbox(address, scope, survivor.fact_collection_id()), - "survivor reception should stay active", - ); + assert(is_in_inbox(address, scope, fact_collection_id(survivor)), "survivor reception should stay active"); assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -451,10 +467,10 @@ mod test { // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. assert( - is_in_inbox(address, scope, msg.fact_collection_id()), + is_in_inbox(address, scope, fact_collection_id(msg)), "processed reception should stay active for reorg safety", ); - assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); + assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); }); } @@ -474,7 +490,7 @@ mod test { let address = context.this_address(); let first = sync_inbox(address, scope); assert_eq(first.len(), 1); - assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); + assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); }); // Second sync with the same resolvable context the reception remains active (not expired). @@ -483,11 +499,8 @@ mod test { let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed - assert( - is_in_inbox(address, scope, msg.fact_collection_id()), - "processed reception should still be active", - ); - assert(is_processed(address, scope, msg.fact_collection_id()), "should remain processed"); + assert(is_in_inbox(address, scope, fact_collection_id(msg)), "processed reception should still be active"); + assert(is_processed(address, scope, fact_collection_id(msg)), "should remain processed"); }); } @@ -510,10 +523,10 @@ mod test { assert_eq(result.len(), 1); assert( - is_in_inbox(address, scope, msg.fact_collection_id()), + is_in_inbox(address, scope, fact_collection_id(msg)), "expired-but-resolved reception is processed, not terminated yet", ); - assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); + assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); }); // Second sync: still expired and now processed, so the reception is terminated. @@ -523,7 +536,7 @@ mod test { assert_eq(second.len(), 0); // already processed, not re-pushed assert( - !is_in_inbox(address, scope, msg.fact_collection_id()), + !is_in_inbox(address, scope, fact_collection_id(msg)), "expired processed reception is terminated on the next sync", ); }); @@ -545,7 +558,7 @@ mod test { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_in_inbox(address, scope, msg.fact_collection_id()), "reception should be active"); + assert(is_in_inbox(address, scope, fact_collection_id(msg)), "reception should be active"); assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -565,7 +578,7 @@ mod test { env.utility_context(|context| { let address = context.this_address(); assert_eq(sync_inbox(address, scope).len(), 1); - assert(is_processed(address, scope, msg.fact_collection_id()), "should be processed"); + assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); }); // Re-deliver the same message. The next sync recognizes it as already processed and does not re-push it. @@ -574,7 +587,7 @@ mod test { receive(address, BoundedVec::from_array([msg])); assert( - is_processed(address, scope, msg.fact_collection_id()), + is_processed(address, scope, fact_collection_id(msg)), "re-delivery must preserve the processed guard", ); assert_eq(sync_inbox(address, scope).len(), 0); From 356c192f35b7c955d88910d4d052bd36bd4eff57 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 13:06:08 +0000 Subject: [PATCH 127/197] refactor to rely on facts --- .../src/messages/processing/offchain/mod.nr | 59 +++++++------------ 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 77a9101c3c72..d8fb23928c8b 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -29,16 +29,7 @@ pub struct OffchainMessage { } /// Fact-collection type id shared by every offchain message reception in the fact store. -global OFFCHAIN_RECEPTION_TYPE: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE".as_bytes()); - -/// Computes the fact-collection id that identifies a message's reception in the fact store. -/// -/// The id is a poseidon2 hash over the full serialized message. Re-delivering a byte-identical message therefore -/// maps to the same collection, making `receive` idempotent; a message differing in any field (recipient, tx hash, -/// anchor timestamp, or ciphertext) is a distinct reception. -fn fact_collection_id(message: OffchainMessage) -> Field { - poseidon2_hash(message.serialize()) -} +global OFFCHAIN_RECEPTION_TYPE_ID: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE_ID".as_bytes()); /// Maximum number of offchain messages accepted by `offchain_receive` in a single call. pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; @@ -74,6 +65,14 @@ global OFFCHAIN_MESSAGE_PROCESSED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_M pub type OffchainInboxSync = unconstrained fn( /* contract_address */AztecAddress, /* scope */ AztecAddress) -> EphemeralArray; +/// Computes the fact-collection id that identifies a message's reception workflow in the fact store. +/// +/// The id is a hash over the full serialized message. Re-delivering a byte-identical message therefore is idempotent, +/// and a message differing in any of its fields triggers a completely new reception workflow. +fn fact_collection_id(message: OffchainMessage) -> Field { + poseidon2_hash(message.serialize()) +} + /// Delivers offchain messages to the given contract's offchain inbox for subsequent processing. /// /// Offchain messages are transaction effects that are not broadcasted via onchain logs. Instead, the sender shares the @@ -95,7 +94,7 @@ pub unconstrained fn receive( record_non_retractable_fact( contract_address, msg.recipient, - OFFCHAIN_RECEPTION_TYPE, + OFFCHAIN_RECEPTION_TYPE_ID, fact_collection_id(msg), OFFCHAIN_MESSAGE, encode_message(msg), @@ -117,9 +116,6 @@ unconstrained fn encode_message(message: OffchainMessage) -> EphemeralArray OffchainMessage { let message_fact = reception.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE).unwrap(); let n = ::N; @@ -178,17 +174,8 @@ unconstrained fn process_reception( maybe_resolved: Option, now: u64, ) -> Option { - // TODO(@mverzilli): we could annotate retractable entities and facts as "final" when their corresponding blocks - // are below the final tip. Then we could use that as termination condition instead of relying on timestamp - // arithmetics. - // - // Alternatively, we could accept a block on `terminate`, which would make the termination itself retractable. - // The "problem" with that is that we would need some sort of heuristic to cleanup. Maybe the whole - // retractable/non-retractable distinction is useless at the entity level. We can simply handle entities and - // if they are started with a block, they are retracted with a block; if they are terminated with a block, they - // are "unterminated" with a block, but also are removed when a block is final. - // This, in offchain reception's particular case, would make facts entirely unnecessary (at least at its present - // functionality). + // TODO(@mverzilli): we could annotate retractable facts as "final" when their corresponding blocks are below the + // final tip. Then we could use that as termination condition instead of relying on timestamp arithmetics. let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; let already_processed = is_processed(reception); @@ -216,22 +203,20 @@ pub unconstrained fn sync_inbox( contract_address: AztecAddress, scope: AztecAddress, ) -> EphemeralArray { - let receptions = get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE); + let active_receptions = get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID); + let messages = active_receptions.map(|reception: FactCollection| decode_message(reception)); // Ask PXE to resolve each message's originating tx. We pass the tx hashes in reception order, so the resolved txs // come back aligned with the reception indices and can be matched back positionally. - let resolved_txs = get_resolved_txs(receptions.map(|reception: FactCollection| { - decode_message(reception).tx_hash.unwrap_or(0) - })); - - assert_eq(resolved_txs.len(), receptions.len()); + let resolved_txs = get_resolved_txs( + messages.map(|msg: OffchainMessage| msg.tx_hash.unwrap_or(0)), + ); let processable_messages: EphemeralArray = EphemeralArray::empty(); let now = UtilityContext::new().timestamp(); - receptions.for_each(|i, reception| { - let message = decode_message(reception); - let maybe_message = process_reception(reception, message, resolved_txs.get(i), now); + active_receptions.for_each(|i, reception| { + let maybe_message = process_reception(reception, messages.get(i), resolved_txs.get(i), now); if maybe_message.is_some() { processable_messages.push(maybe_message.unwrap()); } @@ -250,7 +235,7 @@ mod test { }; use super::{ fact_collection_id, MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_MESSAGE_PROCESSED, - OFFCHAIN_RECEPTION_TYPE, OffchainMessage, receive, sync_inbox, + OFFCHAIN_RECEPTION_TYPE_ID, OffchainMessage, receive, sync_inbox, }; unconstrained fn setup() -> (TestEnvironment, AztecAddress) { @@ -273,7 +258,7 @@ mod test { /// Returns the collection ids of the receptions currently active for the given scope. unconstrained fn messages_in_inbox(contract_address: AztecAddress, scope: AztecAddress) -> EphemeralArray { - get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE).map(|c: FactCollection| { + get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID).map(|c: FactCollection| { c.fact_collection_id }) } @@ -288,7 +273,7 @@ mod test { let maybe_collection = get_fact_collection( contract_address, scope, - OFFCHAIN_RECEPTION_TYPE, + OFFCHAIN_RECEPTION_TYPE_ID, collection_id, ); if maybe_collection.is_some() { From 2b4dd3b85a9e21288e429737ef31381680b937f1 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 13:23:22 +0000 Subject: [PATCH 128/197] reorder file contents to make reviewing easier --- .../src/messages/processing/offchain/mod.nr | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index d8fb23928c8b..8097a982f5b7 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -15,22 +15,6 @@ use crate::{ }, }; -/// A message delivered via the `offchain_receive` utility function. -#[derive(Serialize, Deserialize)] -pub struct OffchainMessage { - /// The encrypted message payload. - pub ciphertext: BoundedVec, - /// The intended recipient of the message. - pub recipient: AztecAddress, - /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message. - pub tx_hash: Option, - /// Anchor block timestamp at message emission. - pub anchor_block_timestamp: u64, -} - -/// Fact-collection type id shared by every offchain message reception in the fact store. -global OFFCHAIN_RECEPTION_TYPE_ID: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE_ID".as_bytes()); - /// Maximum number of offchain messages accepted by `offchain_receive` in a single call. pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; @@ -65,14 +49,6 @@ global OFFCHAIN_MESSAGE_PROCESSED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_M pub type OffchainInboxSync = unconstrained fn( /* contract_address */AztecAddress, /* scope */ AztecAddress) -> EphemeralArray; -/// Computes the fact-collection id that identifies a message's reception workflow in the fact store. -/// -/// The id is a hash over the full serialized message. Re-delivering a byte-identical message therefore is idempotent, -/// and a message differing in any of its fields triggers a completely new reception workflow. -fn fact_collection_id(message: OffchainMessage) -> Field { - poseidon2_hash(message.serialize()) -} - /// Delivers offchain messages to the given contract's offchain inbox for subsequent processing. /// /// Offchain messages are transaction effects that are not broadcasted via onchain logs. Instead, the sender shares the @@ -225,6 +201,30 @@ pub unconstrained fn sync_inbox( processable_messages } +/// A message delivered via the `offchain_receive` utility function. +#[derive(Serialize, Deserialize)] +pub struct OffchainMessage { + /// The encrypted message payload. + pub ciphertext: BoundedVec, + /// The intended recipient of the message. + pub recipient: AztecAddress, + /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message. + pub tx_hash: Option, + /// Anchor block timestamp at message emission. + pub anchor_block_timestamp: u64, +} + +/// Fact-collection type id shared by every offchain message reception in the fact store. +global OFFCHAIN_RECEPTION_TYPE_ID: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE_ID".as_bytes()); + +/// Computes the fact-collection id that identifies a message's reception workflow in the fact store. +/// +/// The id is a hash over the full serialized message. Re-delivering a byte-identical message therefore is idempotent, +/// and a message differing in any of its fields triggers a completely new reception workflow. +fn fact_collection_id(message: OffchainMessage) -> Field { + poseidon2_hash(message.serialize()) +} + mod test { use crate::{ ephemeral::EphemeralArray, From 9855a44126c61e58fac3859b5e7b8077249dc042 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 13:53:23 +0000 Subject: [PATCH 129/197] code review --- .../aztec-nr/aztec/src/messages/processing/offchain/mod.nr | 3 +++ 1 file changed, 3 insertions(+) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 8097a982f5b7..9d87c3fe6fb1 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -66,6 +66,9 @@ pub unconstrained fn receive( contract_address: AztecAddress, messages: BoundedVec, ) { + // Offchain reception facts are scoped to the recipient. Note that because offchain messages have no integrity or + // authenticity checks it is not possible to verify that this is indeed the intended recipient. In this case we're + // assuming a cooperative environment, which is on par with other offchain delivery expectations. messages.for_each(|msg| { record_non_retractable_fact( contract_address, From 34bf45a87733bd1133650e719e3ad9bb53d2ba8e Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 15:40:30 +0000 Subject: [PATCH 130/197] document --- .../src/messages/processing/offchain/mod.nr | 106 ++++++++++++++++-- 1 file changed, 94 insertions(+), 12 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 9d87c3fe6fb1..a63394be1727 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -1,3 +1,93 @@ +//! # Offchain message reception workflow +//! +//! This module processes offchain messages received via the `receive` function. Offchain processing needs to handle +//! some complexity, including the possibility of reorgs reverting message effects, and the need to reprocess messages +//! in that case. The state chart below summarizes the current behavior. +//! +//! ```text +//! offchain_receive() +//! | +//! v +//! +-----------+ tx found onchain +-----------+ +//! | | --------------------------> | | +//! (self-loop) | RECEIVED | | PROCESSED | (self-loop) +//! not resolved & | | <-------------------------- | | processed & ====> discover notes, +//! events, etc +//! not expired | | tx block re-orged | | not expired +//! +-----------+ +-----------+ +//! | | +//! | TTL expired | TTL expired +//! v v +//! +---------------------------------------------------------+ +//! | TERMINATED (process ends) | +//! +---------------------------------------------------------+ +//! ``` +//! +//! ## States +//! +//! - **Received**: the message is persisted but its originating transaction has not been found onchain yet (or the +//! message is tx-less; see below). While the reception process is in this state, it keeps looking for the +// transaction onchain. +//! - **Processed**: the message has been handed off for processing. If there weren't reorgs, reaching this state would +//! be equivalent to terminating the reception process. Since reorgs are a possibility, this state is not terminal. +//! - **Terminated**: the message has reached its TTL which means nothing else can we done with it. This is the +//! terminal state of this process. +//! +//! ## Transitions (each evaluated by [`process_reception`] on a single [`sync_inbox`] pass) +//! +//! - **Received -> Processed**: the originating transaction is found onchain. The message (packaged with its +//! transaction context) is queued to have its actual contents processed (which can lead for example to the discovery +//! of notes and events). +//! - **Processed -> Received**: the block where the message transaction was originally found is re-orged out. +//! - **Received -> Terminated**: the message TTL has elapsed (see below), so the message is no longer processable. +//! - **Processed -> Terminated**: the message TTL has elapsed (see below), so the effects of its processing are +//! permanent. +//! +//! # Message reception lifecycle and the TTL +//! +//! A reception expires once `now > anchor_block_timestamp + MAX_MSG_TTL`, where `MAX_MSG_TTL = MAX_TX_LIFETIME + 2h`. +//! A transaction anchored at a given block can only be mined within `MAX_TX_LIFETIME` of that block, so once that +//! window (plus a safety margin of 2 hours) has elapsed the originating transaction can no longer appear, and it is +//! safe to stop looking for it. +//! +//! Already-processed receptions reuse the same TTL: we could instead wait for the block that included the transaction +//! to finalize, but we currently do not have the primitives to reliably get that information. +//! +//! # Current limitations, future plans +//! +//! - **Tx-less messages** never resolve, so they never reach `Processed` and are only ever removed by expiry. This +//! will be supported in the future. +//! - Already-processed receptions linger longer than needed in the inbox. As discussed, we need access to block +//! finality to properly implement that case, which will be added in the future. +//! +//! # Implementation +//! +//! Each message received via `receive` is stored as a fact collection, content addressed. +//! +//! The first recorded fact of said collection is an `OFFCHAIN_MESSAGE_RECEIVED` non-retractable fact, which persists +//! in its payload an `OffchainMessage`. This represents an active reception process in the RECEIVED state from our +//! state chart above. +//! +//! Once the message is processed it records an `OFFCHAIN_MESSAGE_PROCESSED` retractable fact associated to the block +//! where the transaction was found. +//! +//! Analyzing the recorded facts in combination with the TTL is all it takes to determine in which state of the +//! reception process we are: +//! +//! - If the TTL has elapsed, we reached the end of the process and the fact collection can be deleted. +//! - Otherwise: +//! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state and there is nothing to do. +//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state and we need to check if the +//! message transaction is now available onchain and exercise the RECEIVED->PROCESSED transition. +//! +//! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to +//! fall off the chain, the OFFCHAIN_MESSAGE_PROCESSED fact disappears, taking us back to the RECEIVED state. +//! +//! Each time a contract's state is synchronized, Aztec.nr invokes the [`sync_inbox`] function, which is in charge of +//! advancing the state of all active message reception processes. [`sync_inbox`] loads every active reception process +//! advances it by one step via [`process_reception`], which implements the rest of reception state machine as +//! described above. + use crate::{ context::UtilityContext, ephemeral::EphemeralArray, @@ -134,19 +224,11 @@ unconstrained fn terminate(reception: FactCollection) { ); } -/// Step function to advance the reception workflow of an offchain message. -/// -/// The reception workflow can be in one of the following states: -/// -/// - Received and resolved: the TX that originated the message has been found by PXE, giving the context needed to -/// process the message. The message then gets processed, but the workflow remains active because a re-org might undo -// its effects. -/// -/// - Expired: the message's effective expiration (`anchor_block_timestamp + MAX_MSG_TTL`) has passed and it is not -/// being handed off now, so we terminate the reception to stop tracking it. +/// Advances a single reception by one step of its state machine. See the module-level documentation for the states, +/// transitions, and expiry rules. /// -/// - Received-but-unresolved (or tx-less, which never resolves), or already processed: the TX that originated this -/// message is not yet available but might be in the future, so the message stays in the inbox for a future sync. +/// Returns `Some` with the message and its resolved context when this step processes the message (the +/// `Received -> Processed` transition), and `None` otherwise. unconstrained fn process_reception( reception: FactCollection, message: OffchainMessage, From 99f21e27c7475982d950fdfc13f5413aa66ed309 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Tue, 23 Jun 2026 16:06:32 +0000 Subject: [PATCH 131/197] better docs --- .../src/messages/processing/offchain/mod.nr | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index a63394be1727..56a9d43a5ff5 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -1,6 +1,6 @@ //! # Offchain message reception workflow //! -//! This module processes offchain messages received via the `receive` function. Offchain processing needs to handle +//! This module processes offchain messages received via the [`receive`] function. Offchain processing needs to handle //! some complexity, including the possibility of reorgs reverting message effects, and the need to reprocess messages //! in that case. The state chart below summarizes the current behavior. //! @@ -46,7 +46,7 @@ //! # Message reception lifecycle and the TTL //! //! A reception expires once `now > anchor_block_timestamp + MAX_MSG_TTL`, where `MAX_MSG_TTL = MAX_TX_LIFETIME + 2h`. -//! A transaction anchored at a given block can only be mined within `MAX_TX_LIFETIME` of that block, so once that +//! A transaction anchored at a given block can only be mined within [`MAX_TX_LIFETIME`] of that block, so once that //! window (plus a safety margin of 2 hours) has elapsed the originating transaction can no longer appear, and it is //! safe to stop looking for it. //! @@ -62,26 +62,30 @@ //! //! # Implementation //! -//! Each message received via `receive` is stored as a fact collection, content addressed. +//! Each message received via [`receive`] is stored as a [fact collection](crate::facts::FactCollection), content +//! addressed. //! -//! The first recorded fact of said collection is an `OFFCHAIN_MESSAGE_RECEIVED` non-retractable fact, which persists -//! in its payload an `OffchainMessage`. This represents an active reception process in the RECEIVED state from our +//! The first recorded fact of said collection is an `OFFCHAIN_MESSAGE_RECEIVED` [non-retractable +//! fact](crate::facts::record_non_retractable_fact), which persists +//! in its payload an [`OffchainMessage`]. This represents an active reception process in the RECEIVED state from our //! state chart above. //! -//! Once the message is processed it records an `OFFCHAIN_MESSAGE_PROCESSED` retractable fact associated to the block +//! Once the message is processed it records an `OFFCHAIN_MESSAGE_PROCESSED` [retractable +//! fact](crate::facts::record_retractable_fact) associated to the block //! where the transaction was found. //! //! Analyzing the recorded facts in combination with the TTL is all it takes to determine in which state of the //! reception process we are: //! -//! - If the TTL has elapsed, we reached the end of the process and the fact collection can be deleted. +//! - If the TTL has elapsed, we reached the end of the process and the [fact collection](crate::facts::FactCollection) +//! can be deleted. //! - Otherwise: //! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state and there is nothing to do. //! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state and we need to check if the //! message transaction is now available onchain and exercise the RECEIVED->PROCESSED transition. //! //! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to -//! fall off the chain, the OFFCHAIN_MESSAGE_PROCESSED fact disappears, taking us back to the RECEIVED state. +//! fall off the chain, the [`OFFCHAIN_MESSAGE_PROCESSED`] fact disappears, taking us back to the RECEIVED state. //! //! Each time a contract's state is synchronized, Aztec.nr invokes the [`sync_inbox`] function, which is in charge of //! advancing the state of all active message reception processes. [`sync_inbox`] loads every active reception process @@ -115,7 +119,7 @@ pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; global MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + 7200; /// Fact type id of the fact that stores the offchain message body inside a reception collection. -global OFFCHAIN_MESSAGE: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE".as_bytes()); +global OFFCHAIN_MESSAGE_RECEIVED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_RECEIVED".as_bytes()); /// Fact type id to mark an offchain message as processed. /// @@ -134,7 +138,8 @@ global OFFCHAIN_MESSAGE_PROCESSED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_M /// This function determines when each message in said inbox is ready for processing, when it can be safely disposed /// of, etc. /// -/// The only current implementation of an `OffchainInboxSync` is [`sync_inbox`], which manages an inbox with expiration +/// The only current implementation of an [`OffchainInboxSync`] is [`sync_inbox`], which manages an inbox with +/// expiration /// based eviction and automatic transaction context resolution. pub type OffchainInboxSync = unconstrained fn( /* contract_address */AztecAddress, /* scope */ AztecAddress) -> EphemeralArray; @@ -165,7 +170,7 @@ pub unconstrained fn receive( msg.recipient, OFFCHAIN_RECEPTION_TYPE_ID, fact_collection_id(msg), - OFFCHAIN_MESSAGE, + OFFCHAIN_MESSAGE_RECEIVED, encode_message(msg), ); }); @@ -174,7 +179,7 @@ pub unconstrained fn receive( set_contract_sync_cache_invalid(contract_address, messages.map(|msg| msg.recipient)); } -/// Serializes an `OffchainMessage` into a fact payload. +/// Serializes an [`OffchainMessage`] into a fact payload. unconstrained fn encode_message(message: OffchainMessage) -> EphemeralArray { let fields = message.serialize(); let payload: EphemeralArray = EphemeralArray::empty(); @@ -186,7 +191,7 @@ unconstrained fn encode_message(message: OffchainMessage) -> EphemeralArray OffchainMessage { - let message_fact = reception.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE).unwrap(); + let message_fact = reception.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_RECEIVED).unwrap(); let n = ::N; let mut fields = [0; ::N]; for i in 0..n { @@ -214,7 +219,7 @@ unconstrained fn mark_processed(reception: FactCollection, block_number: u32, bl ); } -/// Terminates a reception by deleting its fact collection. +/// Terminates a reception by deleting its [fact collection](crate::facts::FactCollection). unconstrained fn terminate(reception: FactCollection) { delete_fact_collection( reception.contract_address, @@ -299,13 +304,10 @@ pub struct OffchainMessage { pub anchor_block_timestamp: u64, } -/// Fact-collection type id shared by every offchain message reception in the fact store. +/// Fact-collection type id shared by every offchain message reception in the [fact store](crate::facts). global OFFCHAIN_RECEPTION_TYPE_ID: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE_ID".as_bytes()); -/// Computes the fact-collection id that identifies a message's reception workflow in the fact store. -/// -/// The id is a hash over the full serialized message. Re-delivering a byte-identical message therefore is idempotent, -/// and a message differing in any of its fields triggers a completely new reception workflow. +/// Computes the fact-collection id that identifies a message's reception workflow in the [fact store](crate::facts). fn fact_collection_id(message: OffchainMessage) -> Field { poseidon2_hash(message.serialize()) } From fe233bef3789a1731c3692ec9b07f223b8b8a17b Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 09:32:51 +0000 Subject: [PATCH 132/197] update snapshots --- .../expand/amm_contract/snapshots__expanded.snap | 8 ++++---- .../snapshots__expanded.snap | 8 ++++---- .../avm_test_contract/snapshots__expanded.snap | 6 +++--- .../snapshots__expanded.snap | 8 ++++---- .../snapshots__expanded.snap | 6 +++--- .../expand/token_contract/snapshots__expanded.snap | 12 ++++++------ 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap index f511b86a33b5..6c7b1a8dad95 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap @@ -383,7 +383,7 @@ pub contract AMM { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -800,8 +800,8 @@ pub contract AMM { aztec::context::calls::UtilityCall::<27, 3, u128>::new(self.target_contract, selector, "get_amount_in_for_exact_out", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -837,7 +837,7 @@ pub contract AMM { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap index 7de41cfc8c2d..c219e2555419 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_gadgets_test_contract/snapshots__expanded.snap @@ -142,7 +142,7 @@ contract AvmGadgetsTest { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: aztec::protocol::address::AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -304,8 +304,8 @@ contract AvmGadgetsTest { aztec::context::calls::PublicCall::<15, 300, [u8; 32]>::new(self.target_contract, selector, "keccak_hash_300", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -336,7 +336,7 @@ contract AvmGadgetsTest { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap index ee7535c9dff9..b04644838350 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/avm_test_contract/snapshots__expanded.snap @@ -731,7 +731,7 @@ pub contract AvmTest { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -1684,7 +1684,7 @@ pub contract AvmTest { aztec::context::calls::PublicCall::<46, 23, ()>::new(self.target_contract, selector, "nested_call_to_add_n_times_different_addresses", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { let serialized_params: [Field; 321] = messages.serialize(); let selector: FunctionSelector = FunctionSelector::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) @@ -1721,7 +1721,7 @@ pub contract AvmTest { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap index 5081b41a59d9..3df63f3bf259 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/public_fns_with_emit_repro_contract/snapshots__expanded.snap @@ -163,7 +163,7 @@ pub contract PublicFnsWithEmitRepro { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: aztec::protocol::address::AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -275,8 +275,8 @@ pub contract PublicFnsWithEmitRepro { aztec::context::calls::PublicCall::<5, 1, ()>::new(self.target_contract, selector, "fn_09", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -312,7 +312,7 @@ pub contract PublicFnsWithEmitRepro { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap index 908d41ff9e1c..5a84c91f96e3 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/storage_proof_test_contract/snapshots__expanded.snap @@ -109,7 +109,7 @@ contract StorageProofTest { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -232,7 +232,7 @@ contract StorageProofTest { aztec::context::calls::PublicStaticCall::<13, 1290, ()>::new(self.target_contract, selector, "account_proof", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { let serialized_params: [Field; 321] = messages.serialize(); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) @@ -264,7 +264,7 @@ contract StorageProofTest { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap index 9c8109dabdfa..b13af9550268 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap @@ -402,7 +402,7 @@ pub contract Token { /// For more details, see `aztec::messages::processing::offchain::receive`. /// /// This function is automatically injected by the `#[aztec]` macro. - unconstrained fn offchain_receive(messages: BoundedVec) { + unconstrained fn offchain_receive(messages: BoundedVec) { let address: AztecAddress = aztec::context::UtilityContext::new().this_address(); aztec::messages::processing::offchain::receive(address, messages); } @@ -1002,8 +1002,8 @@ pub contract Token { aztec::context::calls::UtilityCall::<18, 1, u128>::new(self.target_contract, selector, "balance_of_private", serialized_params) } - pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { - let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); + pub fn offchain_receive(self, messages: BoundedVec) -> aztec::context::calls::UtilityCall<16, 321, ()> { + let serialized_params: [Field; 321] = as aztec::protocol::traits::Serialize>::serialize(messages); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1396850735_Field); aztec::context::calls::UtilityCall::<16, 321, ()>::new(self.target_contract, selector, "offchain_receive", serialized_params) } @@ -1039,7 +1039,7 @@ pub contract Token { } pub struct offchain_receive_parameters { - pub messages: BoundedVec, + pub messages: BoundedVec, } #[abi(functions)] @@ -3875,8 +3875,8 @@ mod test { let transfer_amount: u128 = 1000_Field as u128; let transfer_call: aztec::context::calls::PrivateCall<42, 4, ()> = Token::at(token_contract_address).transfer_in_private_with_offchain_delivery(owner, recipient, transfer_amount, 0_Field); env.call_private(owner, transfer_call); - let messages: BoundedVec = env.offchain_messages(); - let mut batch: BoundedVec = BoundedVec::::new(); + let messages: BoundedVec = env.offchain_messages(); + let mut batch: BoundedVec = BoundedVec::::new(); for i in 0_u32..messages.len() { batch.push(messages.get(i)); }; From f186d5c65598a0e248476d60bb6451b2e0dc1338 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 10:31:32 +0000 Subject: [PATCH 133/197] polish docs --- .../src/messages/processing/offchain/mod.nr | 67 ++++++++++--------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 56a9d43a5ff5..8f4d7dbe5b20 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -5,16 +5,16 @@ //! in that case. The state chart below summarizes the current behavior. //! //! ```text -//! offchain_receive() +//! offchain_receive() (process starts) //! | //! v -//! +-----------+ tx found onchain +-----------+ -//! | | --------------------------> | | -//! (self-loop) | RECEIVED | | PROCESSED | (self-loop) -//! not resolved & | | <-------------------------- | | processed & ====> discover notes, -//! events, etc -//! not expired | | tx block re-orged | | not expired -//! +-----------+ +-----------+ +//! +-----------+ tx found onchain +-----------+ +//! ---- | | --------------------------> | | +//! tx not found | | | | | discover notes, +//! |--> | RECEIVED | | PROCESSED | ~~> events, etc +//! | | <-------------------------- | | +//! | | tx block re-orged | | +//! +-----------+ +-----------+ //! | | //! | TTL expired | TTL expired //! v v @@ -25,12 +25,12 @@ //! //! ## States //! -//! - **Received**: the message is persisted but its originating transaction has not been found onchain yet (or the +//! - **Received**: the message is stored but its originating transaction has not been found onchain yet (or the //! message is tx-less; see below). While the reception process is in this state, it keeps looking for the // transaction onchain. //! - **Processed**: the message has been handed off for processing. If there weren't reorgs, reaching this state would //! be equivalent to terminating the reception process. Since reorgs are a possibility, this state is not terminal. -//! - **Terminated**: the message has reached its TTL which means nothing else can we done with it. This is the +//! - **Terminated**: the message has reached its TTL which means nothing else can be done with it. This is the //! terminal state of this process. //! //! ## Transitions (each evaluated by [`process_reception`] on a single [`sync_inbox`] pass) @@ -55,42 +55,45 @@ //! //! # Current limitations, future plans //! -//! - **Tx-less messages** never resolve, so they never reach `Processed` and are only ever removed by expiry. This -//! will be supported in the future. +//! - **Tx-less messages** never reach `Processed` and are only ever removed by expiry. This will be supported in the +//! future. //! - Already-processed receptions linger longer than needed in the inbox. As discussed, we need access to block -//! finality to properly implement that case, which will be added in the future. +//! finality information to properly implement that case, which will be added in the future. //! //! # Implementation //! -//! Each message received via [`receive`] is stored as a [fact collection](crate::facts::FactCollection), content -//! addressed. +//! Each new message ([`OffchainMessage`]) received via [`receive`] creates a +//! [fact collection](crate::facts::FactCollection) of type `OFFCHAIN_RECEPTION_TYPE_ID`. The fact collection is +//! identified by a hash of the `OffchainMessage`, which makes duplicate calls to `receive` idempotent. +// +//! Upon reception, an `OFFCHAIN_MESSAGE_RECEIVED` [non-retractable fact](crate::facts::record_non_retractable_fact) is +//! recorded. The fact's payload is the `OffchainMessage` itself, which persists it to be subsequently processed. +//! A fact collection with just an `OFFCHAIN_MESSAGE_RECEIVED` fact represents an active reception process in the +//! RECEIVED state from our state chart above. //! -//! The first recorded fact of said collection is an `OFFCHAIN_MESSAGE_RECEIVED` [non-retractable -//! fact](crate::facts::record_non_retractable_fact), which persists -//! in its payload an [`OffchainMessage`]. This represents an active reception process in the RECEIVED state from our -//! state chart above. +//! Each time a contract's state synchronization function ([`sync_state`]) triggers, Aztec.nr invokes the +//! [`sync_inbox`] function, which is in charge of advancing the state of all active message reception processes. +//! [`sync_inbox`] loads every active reception process by fetching fact collections of type +//! `OFFCHAIN_RECEPTION_TYPE_ID`. It then advances each reception process by one step via [`process_reception`], which +//! implements the rest of reception state machine described above. The reception is thus stepwise processed. //! -//! Once the message is processed it records an `OFFCHAIN_MESSAGE_PROCESSED` [retractable -//! fact](crate::facts::record_retractable_fact) associated to the block -//! where the transaction was found. +//! When stepping, if the transaction to the message is found onchain, an `OFFCHAIN_MESSAGE_PROCESSED` [retractable +//! fact](crate::facts::record_retractable_fact) associated to the block where the transaction was found is recorded. +//! Note that since this fact is retractable, a reorg dropping said block would result in the fact being automatically +//! removed by PXE, effectively pushing the reception process back to `RECEIVED` state. //! -//! Analyzing the recorded facts in combination with the TTL is all it takes to determine in which state of the -//! reception process we are: +//! To determine in which state of the reception process we are we just need to analyze the recorded facts available +//! in combination with the TTL: //! //! - If the TTL has elapsed, we reached the end of the process and the [fact collection](crate::facts::FactCollection) -//! can be deleted. +//! can (and should) be deleted. //! - Otherwise: //! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state and there is nothing to do. -//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state and we need to check if the -//! message transaction is now available onchain and exercise the RECEIVED->PROCESSED transition. +//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state, so we need to check if the +//! message transaction is now available onchain, and if so, exercise the RECEIVED->PROCESSED transition. //! //! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to //! fall off the chain, the [`OFFCHAIN_MESSAGE_PROCESSED`] fact disappears, taking us back to the RECEIVED state. -//! -//! Each time a contract's state is synchronized, Aztec.nr invokes the [`sync_inbox`] function, which is in charge of -//! advancing the state of all active message reception processes. [`sync_inbox`] loads every active reception process -//! advances it by one step via [`process_reception`], which implements the rest of reception state machine as -//! described above. use crate::{ context::UtilityContext, From e989162054a643cfd043056983187d93b817443d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 11:29:05 +0000 Subject: [PATCH 134/197] extract offchain reception state machine --- .../src/messages/processing/offchain/mod.nr | 224 +++++------------- .../messages/processing/offchain/reception.nr | 172 ++++++++++++++ 2 files changed, 231 insertions(+), 165 deletions(-) create mode 100644 noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 8f4d7dbe5b20..c893b474670f 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -33,7 +33,7 @@ //! - **Terminated**: the message has reached its TTL which means nothing else can be done with it. This is the //! terminal state of this process. //! -//! ## Transitions (each evaluated by [`process_reception`] on a single [`sync_inbox`] pass) +//! ## Transitions (each evaluated by [`OffchainReception::step`] on a single [`sync_inbox`] pass) //! //! - **Received -> Processed**: the originating transaction is found onchain. The message (packaged with its //! transaction context) is queued to have its actual contents processed (which can lead for example to the discovery @@ -46,7 +46,8 @@ //! # Message reception lifecycle and the TTL //! //! A reception expires once `now > anchor_block_timestamp + MAX_MSG_TTL`, where `MAX_MSG_TTL = MAX_TX_LIFETIME + 2h`. -//! A transaction anchored at a given block can only be mined within [`MAX_TX_LIFETIME`] of that block, so once that +//! A transaction anchored at a given block can only be mined within +//! [`MAX_TX_LIFETIME`](crate::protocol::constants::MAX_TX_LIFETIME) of that block, so once that //! window (plus a safety margin of 2 hours) has elapsed the originating transaction can no longer appear, and it is //! safe to stop looking for it. //! @@ -71,11 +72,11 @@ //! A fact collection with just an `OFFCHAIN_MESSAGE_RECEIVED` fact represents an active reception process in the //! RECEIVED state from our state chart above. //! -//! Each time a contract's state synchronization function ([`sync_state`]) triggers, Aztec.nr invokes the +//! Each time a contract's state synchronization function (`sync_state`) triggers, Aztec.nr invokes the //! [`sync_inbox`] function, which is in charge of advancing the state of all active message reception processes. //! [`sync_inbox`] loads every active reception process by fetching fact collections of type -//! `OFFCHAIN_RECEPTION_TYPE_ID`. It then advances each reception process by one step via [`process_reception`], which -//! implements the rest of reception state machine described above. The reception is thus stepwise processed. +//! `OFFCHAIN_RECEPTION_TYPE_ID`. It then advances each reception process by one step via [`OffchainReception::step`], +//! which implements the rest of reception state machine described above. The reception is thus stepwise processed. //! //! When stepping, if the transaction to the message is found onchain, an `OFFCHAIN_MESSAGE_PROCESSED` [retractable //! fact](crate::facts::record_retractable_fact) associated to the block where the transaction was found is recorded. @@ -93,42 +94,22 @@ //! message transaction is now available onchain, and if so, exercise the RECEIVED->PROCESSED transition. //! //! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to -//! fall off the chain, the [`OFFCHAIN_MESSAGE_PROCESSED`] fact disappears, taking us back to the RECEIVED state. +//! fall off the chain, the `OFFCHAIN_MESSAGE_PROCESSED` fact disappears, taking us back to the RECEIVED state. use crate::{ context::UtilityContext, ephemeral::EphemeralArray, - facts::{ - delete_fact_collection, Fact, FactCollection, get_fact_collections_by_type, OriginBlock, - record_non_retractable_fact, record_retractable_fact, - }, - messages::{encoding::MESSAGE_CIPHERTEXT_LEN, processing::{MessageContext, OffchainMessageWithContext}}, - oracle::{contract_sync::set_contract_sync_cache_invalid, tx_resolution::{get_resolved_txs, ResolvedTx}}, - protocol::{ - address::AztecAddress, - constants::MAX_TX_LIFETIME, - hash::{poseidon2_hash, sha256_to_field}, - traits::{Deserialize, Serialize}, - }, + messages::{encoding::MESSAGE_CIPHERTEXT_LEN, processing::OffchainMessageWithContext}, + oracle::{contract_sync::set_contract_sync_cache_invalid, tx_resolution::get_resolved_txs}, + protocol::{address::AztecAddress, traits::{Deserialize, Serialize}}, }; +mod reception; +use reception::OffchainReception; + /// Maximum number of offchain messages accepted by `offchain_receive` in a single call. pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; -/// Maximum time-to-live for a tx-bound offchain message. -/// -/// After `anchor_block_timestamp + MAX_MSG_TTL`, the message is evicted from the inbox. -/// (7200 == 2 hours) -global MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + 7200; - -/// Fact type id of the fact that stores the offchain message body inside a reception collection. -global OFFCHAIN_MESSAGE_RECEIVED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_RECEIVED".as_bytes()); - -/// Fact type id to mark an offchain message as processed. -/// -/// A reception is in "processed state" exactly when its collection carries a fact of this type. -global OFFCHAIN_MESSAGE_PROCESSED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_PROCESSED".as_bytes()); - /// A function that manages offchain-delivered messages for processing during sync. /// /// Offchain messages are messages that are not broadcasted via onchain logs. They are instead delivered to the @@ -167,125 +148,30 @@ pub unconstrained fn receive( // Offchain reception facts are scoped to the recipient. Note that because offchain messages have no integrity or // authenticity checks it is not possible to verify that this is indeed the intended recipient. In this case we're // assuming a cooperative environment, which is on par with other offchain delivery expectations. - messages.for_each(|msg| { - record_non_retractable_fact( - contract_address, - msg.recipient, - OFFCHAIN_RECEPTION_TYPE_ID, - fact_collection_id(msg), - OFFCHAIN_MESSAGE_RECEIVED, - encode_message(msg), - ); - }); + messages.for_each(|msg| OffchainReception::init(contract_address, msg)); // Clear cache for message recipients so the next sync runs. set_contract_sync_cache_invalid(contract_address, messages.map(|msg| msg.recipient)); } -/// Serializes an [`OffchainMessage`] into a fact payload. -unconstrained fn encode_message(message: OffchainMessage) -> EphemeralArray { - let fields = message.serialize(); - let payload: EphemeralArray = EphemeralArray::empty(); - for i in 0..fields.len() { - payload.push(fields[i]); - } - payload -} - -/// Reads the message body fact back out of a reception collection. -unconstrained fn decode_message(reception: FactCollection) -> OffchainMessage { - let message_fact = reception.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_RECEIVED).unwrap(); - let n = ::N; - let mut fields = [0; ::N]; - for i in 0..n { - fields[i] = message_fact.payload.get(i); - } - Deserialize::deserialize(fields) -} - -/// Returns `true` if the reception has been marked processed. -unconstrained fn is_processed(reception: FactCollection) -> bool { - reception.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) -} - -/// Records the retractable processed marker for a reception, originated at the resolved block. -unconstrained fn mark_processed(reception: FactCollection, block_number: u32, block_hash: Field) { - let empty_payload: EphemeralArray = EphemeralArray::empty(); - record_retractable_fact( - reception.contract_address, - reception.scope, - reception.fact_collection_type_id, - reception.fact_collection_id, - OFFCHAIN_MESSAGE_PROCESSED, - empty_payload, - OriginBlock { block_number, block_hash }, - ); -} - -/// Terminates a reception by deleting its [fact collection](crate::facts::FactCollection). -unconstrained fn terminate(reception: FactCollection) { - delete_fact_collection( - reception.contract_address, - reception.scope, - reception.fact_collection_type_id, - reception.fact_collection_id, - ); -} - -/// Advances a single reception by one step of its state machine. See the module-level documentation for the states, -/// transitions, and expiry rules. -/// -/// Returns `Some` with the message and its resolved context when this step processes the message (the -/// `Received -> Processed` transition), and `None` otherwise. -unconstrained fn process_reception( - reception: FactCollection, - message: OffchainMessage, - maybe_resolved: Option, - now: u64, -) -> Option { - // TODO(@mverzilli): we could annotate retractable facts as "final" when their corresponding blocks are below the - // final tip. Then we could use that as termination condition instead of relying on timestamp arithmetics. - let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; - let already_processed = is_processed(reception); - - if !already_processed & maybe_resolved.is_some() { - let resolved = maybe_resolved.unwrap(); - mark_processed(reception, resolved.block_number, resolved.block_hash); - let message_context = MessageContext { - tx_hash: resolved.tx_hash, - unique_note_hashes_in_tx: resolved.unique_note_hashes_in_tx, - first_nullifier_in_tx: resolved.first_nullifier_in_tx, - }; - Option::some( - OffchainMessageWithContext { message_ciphertext: message.ciphertext, message_context }, - ) - } else if expired { - terminate(reception); - Option::none() - } else { - Option::none() - } -} - /// Returns offchain-delivered messages to process during sync. pub unconstrained fn sync_inbox( contract_address: AztecAddress, scope: AztecAddress, ) -> EphemeralArray { - let active_receptions = get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID); - let messages = active_receptions.map(|reception: FactCollection| decode_message(reception)); + let active_receptions = OffchainReception::load_all(contract_address, scope); // Ask PXE to resolve each message's originating tx. We pass the tx hashes in reception order, so the resolved txs // come back aligned with the reception indices and can be matched back positionally. - let resolved_txs = get_resolved_txs( - messages.map(|msg: OffchainMessage| msg.tx_hash.unwrap_or(0)), - ); + let resolved_txs = get_resolved_txs(active_receptions.map(|reception: OffchainReception| { + reception.message().tx_hash.unwrap_or(0) + })); let processable_messages: EphemeralArray = EphemeralArray::empty(); let now = UtilityContext::new().timestamp(); active_receptions.for_each(|i, reception| { - let maybe_message = process_reception(reception, messages.get(i), resolved_txs.get(i), now); + let maybe_message = reception.step(resolved_txs.get(i), now); if maybe_message.is_some() { processable_messages.push(maybe_message.unwrap()); } @@ -307,14 +193,6 @@ pub struct OffchainMessage { pub anchor_block_timestamp: u64, } -/// Fact-collection type id shared by every offchain message reception in the [fact store](crate::facts). -global OFFCHAIN_RECEPTION_TYPE_ID: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE_ID".as_bytes()); - -/// Computes the fact-collection id that identifies a message's reception workflow in the [fact store](crate::facts). -fn fact_collection_id(message: OffchainMessage) -> Field { - poseidon2_hash(message.serialize()) -} - mod test { use crate::{ ephemeral::EphemeralArray, @@ -323,10 +201,8 @@ mod test { protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, }; - use super::{ - fact_collection_id, MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_MESSAGE_PROCESSED, - OFFCHAIN_RECEPTION_TYPE_ID, OffchainMessage, receive, sync_inbox, - }; + use super::{MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OffchainMessage, receive, sync_inbox}; + use super::reception::{MAX_MSG_TTL, OFFCHAIN_MESSAGE_PROCESSED, OFFCHAIN_RECEPTION_TYPE_ID, OffchainReception}; unconstrained fn setup() -> (TestEnvironment, AztecAddress) { let mut env = TestEnvironment::new(); @@ -402,7 +278,10 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_in_inbox(address, scope, fact_collection_id(msg)), "expired reception should be terminated"); + assert( + !is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "expired reception should be terminated", + ); }); } @@ -423,8 +302,11 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(is_in_inbox(address, scope, fact_collection_id(msg)), "not expired reception should stay active"); - assert(!is_processed(address, scope, fact_collection_id(msg)), "should still be unprocessed"); + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "not expired reception should stay active", + ); + assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); }); } @@ -445,7 +327,10 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert(!is_in_inbox(address, scope, fact_collection_id(msg)), "expired reception should be terminated"); + assert( + !is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "expired reception should be terminated", + ); }); } @@ -465,8 +350,11 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // not resolved, not ready - assert(is_in_inbox(address, scope, fact_collection_id(msg)), "unresolved reception should stay active"); - assert(!is_processed(address, scope, fact_collection_id(msg)), "should still be unprocessed"); + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "unresolved reception should stay active", + ); + assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); }); } @@ -503,14 +391,17 @@ mod test { assert_eq(result.len(), 0); // all contexts are None assert( - !is_in_inbox(address, scope, fact_collection_id(expired_a)), + !is_in_inbox(address, scope, OffchainReception::id_for(expired_a)), "expired tx-bound reception should be terminated", ); assert( - !is_in_inbox(address, scope, fact_collection_id(expired_b)), + !is_in_inbox(address, scope, OffchainReception::id_for(expired_b)), "expired tx-less reception should be terminated", ); - assert(is_in_inbox(address, scope, fact_collection_id(survivor)), "survivor reception should stay active"); + assert( + is_in_inbox(address, scope, OffchainReception::id_for(survivor)), + "survivor reception should stay active", + ); assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -542,10 +433,10 @@ mod test { // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. assert( - is_in_inbox(address, scope, fact_collection_id(msg)), + is_in_inbox(address, scope, OffchainReception::id_for(msg)), "processed reception should stay active for reorg safety", ); - assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); }); } @@ -565,7 +456,7 @@ mod test { let address = context.this_address(); let first = sync_inbox(address, scope); assert_eq(first.len(), 1); - assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); }); // Second sync with the same resolvable context the reception remains active (not expired). @@ -574,8 +465,11 @@ mod test { let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed - assert(is_in_inbox(address, scope, fact_collection_id(msg)), "processed reception should still be active"); - assert(is_processed(address, scope, fact_collection_id(msg)), "should remain processed"); + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "processed reception should still be active", + ); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should remain processed"); }); } @@ -598,10 +492,10 @@ mod test { assert_eq(result.len(), 1); assert( - is_in_inbox(address, scope, fact_collection_id(msg)), + is_in_inbox(address, scope, OffchainReception::id_for(msg)), "expired-but-resolved reception is processed, not terminated yet", ); - assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); }); // Second sync: still expired and now processed, so the reception is terminated. @@ -611,7 +505,7 @@ mod test { assert_eq(second.len(), 0); // already processed, not re-pushed assert( - !is_in_inbox(address, scope, fact_collection_id(msg)), + !is_in_inbox(address, scope, OffchainReception::id_for(msg)), "expired processed reception is terminated on the next sync", ); }); @@ -633,7 +527,7 @@ mod test { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_in_inbox(address, scope, fact_collection_id(msg)), "reception should be active"); + assert(is_in_inbox(address, scope, OffchainReception::id_for(msg)), "reception should be active"); assert_eq(messages_in_inbox(address, scope).len(), 1); }); } @@ -653,7 +547,7 @@ mod test { env.utility_context(|context| { let address = context.this_address(); assert_eq(sync_inbox(address, scope).len(), 1); - assert(is_processed(address, scope, fact_collection_id(msg)), "should be processed"); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); }); // Re-deliver the same message. The next sync recognizes it as already processed and does not re-push it. @@ -662,7 +556,7 @@ mod test { receive(address, BoundedVec::from_array([msg])); assert( - is_processed(address, scope, fact_collection_id(msg)), + is_processed(address, scope, OffchainReception::id_for(msg)), "re-delivery must preserve the processed guard", ); assert_eq(sync_inbox(address, scope).len(), 0); diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr new file mode 100644 index 000000000000..ed89052299f3 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -0,0 +1,172 @@ +//! The state machine of a single offchain message reception process. +//! +//! See the [module documentation](super) for the reception state machine that [`OffchainReception`] +//! implements. + +use crate::{ + ephemeral::EphemeralArray, + facts::{ + delete_fact_collection, Fact, FactCollection, get_fact_collections_by_type, OriginBlock, + record_non_retractable_fact, record_retractable_fact, + }, + messages::processing::{MessageContext, OffchainMessageWithContext}, + oracle::tx_resolution::ResolvedTx, + protocol::{ + address::AztecAddress, + constants::MAX_TX_LIFETIME, + hash::{poseidon2_hash, sha256_to_field}, + traits::{Deserialize, Serialize}, + }, +}; +use super::OffchainMessage; + +/// Maximum time-to-live for a tx-bound offchain message. +/// +/// After `anchor_block_timestamp + MAX_MSG_TTL`, the message is evicted from the inbox. +/// (7200 == 2 hours) +pub(crate) global MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + 7200; + +/// Fact type id of the fact that stores the offchain message body inside a reception collection. +global OFFCHAIN_MESSAGE_RECEIVED: Field = sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_RECEIVED".as_bytes()); + +/// Fact type id to mark an offchain message as processed. +/// +/// A reception is in "processed state" exactly when its collection carries a fact of this type. +pub(crate) global OFFCHAIN_MESSAGE_PROCESSED: Field = + sha256_to_field("AZTEC_NR::OFFCHAIN_MESSAGE_PROCESSED".as_bytes()); + +/// Fact-collection type id shared by every offchain message reception in the [fact store](crate::facts). +pub(crate) global OFFCHAIN_RECEPTION_TYPE_ID: Field = + sha256_to_field("AZTEC_NR::OFFCHAIN_RECEPTION_TYPE_ID".as_bytes()); + +/// A single offchain message reception machine, backed by a [`FactCollection`](crate::facts::FactCollection). +/// +/// Wraps the fact collection that tracks one message's progress through the reception state machine (see the +/// [module documentation](super)); the [`OffchainMessage`] it carries is decoded on demand. +#[derive(Deserialize, Serialize)] +pub(crate) struct OffchainReception { + collection: FactCollection, +} + +impl OffchainReception { + /// Initializes a new reception for a freshly received message, in the `Received` state. + /// + /// Re-initializing the same message is a no-op, which makes redelivery idempotent. + pub(crate) unconstrained fn init(contract_address: AztecAddress, message: OffchainMessage) { + record_non_retractable_fact( + contract_address, + message.recipient, + OFFCHAIN_RECEPTION_TYPE_ID, + Self::id_for(message), + OFFCHAIN_MESSAGE_RECEIVED, + to_payload(message), + ); + } + + /// Loads every active reception for the given contract and scope, decoding each message body. + pub(crate) unconstrained fn load_all( + contract_address: AztecAddress, + scope: AztecAddress, + ) -> EphemeralArray { + get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID) + .map(|collection: FactCollection| OffchainReception { collection }) + } + + /// Computes the fact-collection id that identifies a message's reception machine in the [fact store](crate::facts). + /// + /// The id is a hash of the message, which makes duplicate receptions of the same message collapse onto a single + /// reception. + pub(crate) fn id_for(message: OffchainMessage) -> Field { + poseidon2_hash(message.serialize()) + } + + /// Decodes and returns the message this reception carries. + pub(crate) unconstrained fn message(self) -> OffchainMessage { + read_message(self.collection) + } + + /// Advances this reception by one step of its state machine. See the [module documentation](super) for the + /// states, transitions, and expiry rules. + /// + /// Returns `Some` with the message and its resolved context when this step determines the message is ready to be + /// processed. + pub(crate) unconstrained fn step( + self, + maybe_resolved_tx: Option, + now: u64, + ) -> Option { + // TODO(@mverzilli): we could annotate retractable facts as "final" when their corresponding blocks are below + // the final tip. Then we could use that as termination condition instead of relying on timestamp arithmetics. + let message = self.message(); + let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; + let already_processed = self.is_processed(); + + if !already_processed & maybe_resolved_tx.is_some() { + let resolved = maybe_resolved_tx.unwrap(); + self.mark_processed(resolved.block_number, resolved.block_hash); + let message_context = MessageContext { + tx_hash: resolved.tx_hash, + unique_note_hashes_in_tx: resolved.unique_note_hashes_in_tx, + first_nullifier_in_tx: resolved.first_nullifier_in_tx, + }; + Option::some( + OffchainMessageWithContext { message_ciphertext: message.ciphertext, message_context }, + ) + } else if expired { + self.terminate(); + Option::none() + } else { + Option::none() + } + } + + /// Returns `true` if this reception has been marked processed. + unconstrained fn is_processed(self) -> bool { + self.collection.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + } + + /// Records the retractable processed marker for this reception, originated at the resolved block. + unconstrained fn mark_processed(self, block_number: u32, block_hash: Field) { + let empty_payload: EphemeralArray = EphemeralArray::empty(); + record_retractable_fact( + self.collection.contract_address, + self.collection.scope, + self.collection.fact_collection_type_id, + self.collection.fact_collection_id, + OFFCHAIN_MESSAGE_PROCESSED, + empty_payload, + OriginBlock { block_number, block_hash }, + ); + } + + /// Terminates this reception by deleting its [fact collection](crate::facts::FactCollection). + unconstrained fn terminate(self) { + delete_fact_collection( + self.collection.contract_address, + self.collection.scope, + self.collection.fact_collection_type_id, + self.collection.fact_collection_id, + ); + } +} + +/// Serializes an [`OffchainMessage`] into a fact payload. +unconstrained fn to_payload(message: OffchainMessage) -> EphemeralArray { + let fields = message.serialize(); + let payload: EphemeralArray = EphemeralArray::empty(); + for i in 0..fields.len() { + payload.push(fields[i]); + } + payload +} + +/// Reads the message body fact back out of a reception collection. +unconstrained fn read_message(collection: FactCollection) -> OffchainMessage { + let message_fact = collection.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_RECEIVED).unwrap(); + let n = ::N; + let mut fields = [0; ::N]; + for i in 0..n { + fields[i] = message_fact.payload.get(i); + } + Deserialize::deserialize(fields) +} From 5a9a371906a7d9bf05993ed314c075556be4c924 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 12:25:41 +0000 Subject: [PATCH 135/197] reorganize docs --- .../src/messages/processing/offchain/mod.nr | 98 ----------------- .../messages/processing/offchain/reception.nr | 104 ++++++++++++++++-- 2 files changed, 97 insertions(+), 105 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index c893b474670f..527fbfe72686 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -1,101 +1,3 @@ -//! # Offchain message reception workflow -//! -//! This module processes offchain messages received via the [`receive`] function. Offchain processing needs to handle -//! some complexity, including the possibility of reorgs reverting message effects, and the need to reprocess messages -//! in that case. The state chart below summarizes the current behavior. -//! -//! ```text -//! offchain_receive() (process starts) -//! | -//! v -//! +-----------+ tx found onchain +-----------+ -//! ---- | | --------------------------> | | -//! tx not found | | | | | discover notes, -//! |--> | RECEIVED | | PROCESSED | ~~> events, etc -//! | | <-------------------------- | | -//! | | tx block re-orged | | -//! +-----------+ +-----------+ -//! | | -//! | TTL expired | TTL expired -//! v v -//! +---------------------------------------------------------+ -//! | TERMINATED (process ends) | -//! +---------------------------------------------------------+ -//! ``` -//! -//! ## States -//! -//! - **Received**: the message is stored but its originating transaction has not been found onchain yet (or the -//! message is tx-less; see below). While the reception process is in this state, it keeps looking for the -// transaction onchain. -//! - **Processed**: the message has been handed off for processing. If there weren't reorgs, reaching this state would -//! be equivalent to terminating the reception process. Since reorgs are a possibility, this state is not terminal. -//! - **Terminated**: the message has reached its TTL which means nothing else can be done with it. This is the -//! terminal state of this process. -//! -//! ## Transitions (each evaluated by [`OffchainReception::step`] on a single [`sync_inbox`] pass) -//! -//! - **Received -> Processed**: the originating transaction is found onchain. The message (packaged with its -//! transaction context) is queued to have its actual contents processed (which can lead for example to the discovery -//! of notes and events). -//! - **Processed -> Received**: the block where the message transaction was originally found is re-orged out. -//! - **Received -> Terminated**: the message TTL has elapsed (see below), so the message is no longer processable. -//! - **Processed -> Terminated**: the message TTL has elapsed (see below), so the effects of its processing are -//! permanent. -//! -//! # Message reception lifecycle and the TTL -//! -//! A reception expires once `now > anchor_block_timestamp + MAX_MSG_TTL`, where `MAX_MSG_TTL = MAX_TX_LIFETIME + 2h`. -//! A transaction anchored at a given block can only be mined within -//! [`MAX_TX_LIFETIME`](crate::protocol::constants::MAX_TX_LIFETIME) of that block, so once that -//! window (plus a safety margin of 2 hours) has elapsed the originating transaction can no longer appear, and it is -//! safe to stop looking for it. -//! -//! Already-processed receptions reuse the same TTL: we could instead wait for the block that included the transaction -//! to finalize, but we currently do not have the primitives to reliably get that information. -//! -//! # Current limitations, future plans -//! -//! - **Tx-less messages** never reach `Processed` and are only ever removed by expiry. This will be supported in the -//! future. -//! - Already-processed receptions linger longer than needed in the inbox. As discussed, we need access to block -//! finality information to properly implement that case, which will be added in the future. -//! -//! # Implementation -//! -//! Each new message ([`OffchainMessage`]) received via [`receive`] creates a -//! [fact collection](crate::facts::FactCollection) of type `OFFCHAIN_RECEPTION_TYPE_ID`. The fact collection is -//! identified by a hash of the `OffchainMessage`, which makes duplicate calls to `receive` idempotent. -// -//! Upon reception, an `OFFCHAIN_MESSAGE_RECEIVED` [non-retractable fact](crate::facts::record_non_retractable_fact) is -//! recorded. The fact's payload is the `OffchainMessage` itself, which persists it to be subsequently processed. -//! A fact collection with just an `OFFCHAIN_MESSAGE_RECEIVED` fact represents an active reception process in the -//! RECEIVED state from our state chart above. -//! -//! Each time a contract's state synchronization function (`sync_state`) triggers, Aztec.nr invokes the -//! [`sync_inbox`] function, which is in charge of advancing the state of all active message reception processes. -//! [`sync_inbox`] loads every active reception process by fetching fact collections of type -//! `OFFCHAIN_RECEPTION_TYPE_ID`. It then advances each reception process by one step via [`OffchainReception::step`], -//! which implements the rest of reception state machine described above. The reception is thus stepwise processed. -//! -//! When stepping, if the transaction to the message is found onchain, an `OFFCHAIN_MESSAGE_PROCESSED` [retractable -//! fact](crate::facts::record_retractable_fact) associated to the block where the transaction was found is recorded. -//! Note that since this fact is retractable, a reorg dropping said block would result in the fact being automatically -//! removed by PXE, effectively pushing the reception process back to `RECEIVED` state. -//! -//! To determine in which state of the reception process we are we just need to analyze the recorded facts available -//! in combination with the TTL: -//! -//! - If the TTL has elapsed, we reached the end of the process and the [fact collection](crate::facts::FactCollection) -//! can (and should) be deleted. -//! - Otherwise: -//! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state and there is nothing to do. -//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state, so we need to check if the -//! message transaction is now available onchain, and if so, exercise the RECEIVED->PROCESSED transition. -//! -//! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to -//! fall off the chain, the `OFFCHAIN_MESSAGE_PROCESSED` fact disappears, taking us back to the RECEIVED state. - use crate::{ context::UtilityContext, ephemeral::EphemeralArray, diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index ed89052299f3..7aa1214b8f8a 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -1,7 +1,97 @@ //! The state machine of a single offchain message reception process. //! -//! See the [module documentation](super) for the reception state machine that [`OffchainReception`] -//! implements. +//! Offchain processing needs to handle some complexity, including the possibility of reorgs reverting message effects, +//! and the need to reprocess messages in that case. The state chart below summarizes the current behavior. +//! +//! ```text +//! offchain_receive() (process starts) +//! | +//! v +//! +-----------+ tx found onchain +-----------+ +//! ---- | | --------------------------> | | +//! tx not found | | | | | discover notes, +//! |--> | RECEIVED | | PROCESSED | ~~> events, etc +//! | | <-------------------------- | | +//! | | tx block re-orged | | +//! +-----------+ +-----------+ +//! | | +//! | TTL expired | TTL expired +//! v v +//! +---------------------------------------------------------+ +//! | TERMINATED (process ends) | +//! +---------------------------------------------------------+ +//! ``` +//! +//! ## States +//! +//! - **Received**: the message is stored but its originating transaction has not been found onchain yet (or the +//! message is tx-less; see below). While the reception process is in this state, it keeps looking for the +// transaction onchain. +//! - **Processed**: the message has been handed off for processing. If there weren't reorgs, reaching this state would +//! be equivalent to terminating the reception process. Since reorgs are a possibility, this state is not terminal. +//! - **Terminated**: the message has reached its TTL which means nothing else can be done with it. This is the +//! terminal state of this process. +//! +//! ## Transitions (each evaluated by [`OffchainReception::step`]) +//! +//! - **Received -> Processed**: the originating transaction is found onchain. The message (packaged with its +//! transaction context) is queued to have its actual contents processed (which can lead for example to the discovery +//! of notes and events). +//! - **Processed -> Received**: the block where the message transaction was originally found is re-orged out. +//! - **Received -> Terminated**: the message TTL has elapsed (see below), so the message is no longer processable. +//! - **Processed -> Terminated**: the message TTL has elapsed (see below), so the effects of its processing are +//! permanent. +//! +//! # Message reception lifecycle and the TTL +//! +//! A reception expires once `now > anchor_block_timestamp + MAX_MSG_TTL`, where `MAX_MSG_TTL = MAX_TX_LIFETIME + 2h`. +//! A transaction anchored at a given block can only be mined within +//! [`MAX_TX_LIFETIME`](crate::protocol::constants::MAX_TX_LIFETIME) of that block, so once that +//! window (plus a safety margin of 2 hours) has elapsed the originating transaction can no longer appear, and it is +//! safe to stop looking for it. +//! +//! Already-processed receptions reuse the same TTL: we could instead wait for the block that included the transaction +//! to finalize, but we currently do not have the primitives to reliably get that information. +//! +//! # Current limitations, future plans +//! +//! - Tx-less messages never reach `Processed` and are only ever removed by expiry. This will be supported in the +//! future. +//! - Already-processed receptions stay active longer than needed. As discussed, we need access to block finality +//! information to properly implement that case, which will be added in the future. +//! +//! # Implementation +//! +//! [`OffchainReception::init`] creates a [fact collection](crate::facts::FactCollection) of type +//! `OFFCHAIN_RECEPTION_TYPE_ID`. The fact collection is identified by a hash of the `OffchainMessage` it tracks, which +//! makes duplicate calls to `init` idempotent. +//! +//! Upon reception, an `OFFCHAIN_MESSAGE_RECEIVED` [non-retractable fact](crate::facts::record_non_retractable_fact) is +//! recorded. The fact's payload is the `OffchainMessage` itself, which persists it to be subsequently processed. +//! A fact collection with just an `OFFCHAIN_MESSAGE_RECEIVED` fact represents an active reception process in the +//! RECEIVED state from our state chart above. +//! +//! The message reception state machine is driven externally, advancing one step at a time each time +//! [`OffchainReception::step`] is invoked. [`OffchainReception::step`] implements the rest of the reception state +//! machine described above. +//! +//! When stepping, if the transaction to the message is found onchain, an `OFFCHAIN_MESSAGE_PROCESSED` [retractable +//! fact](crate::facts::record_retractable_fact) associated to the block where the transaction was found is recorded. +//! Note that since this fact is retractable, a reorg dropping said block would result in the fact being automatically +//! removed by PXE, effectively pushing the reception process back to `RECEIVED` state. +//! +//! To determine in which state of the reception process we are we just need to analyze the recorded facts available +//! in combination with the TTL: +//! +//! - If the TTL has elapsed, we reached the end of the process and the [fact collection](crate::facts::FactCollection) +//! can (and should) be deleted. +//! - Otherwise: +//! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state and there is nothing to do. +//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state, so we need to check if the +//! message transaction is now available onchain, and if so, exercise the RECEIVED->PROCESSED transition. +//! +//! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to +//! fall off the chain, the `OFFCHAIN_MESSAGE_PROCESSED` fact disappears, taking us back to the RECEIVED state. use crate::{ ephemeral::EphemeralArray, @@ -72,6 +162,11 @@ impl OffchainReception { .map(|collection: FactCollection| OffchainReception { collection }) } + /// Decodes and returns the message this reception carries. + pub(crate) unconstrained fn message(self) -> OffchainMessage { + read_message(self.collection) + } + /// Computes the fact-collection id that identifies a message's reception machine in the [fact store](crate::facts). /// /// The id is a hash of the message, which makes duplicate receptions of the same message collapse onto a single @@ -80,11 +175,6 @@ impl OffchainReception { poseidon2_hash(message.serialize()) } - /// Decodes and returns the message this reception carries. - pub(crate) unconstrained fn message(self) -> OffchainMessage { - read_message(self.collection) - } - /// Advances this reception by one step of its state machine. See the [module documentation](super) for the /// states, transitions, and expiry rules. /// From 9b7e5195938f4e36b720ebea7a0702c55127e228 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 12:30:31 +0000 Subject: [PATCH 136/197] rename --- .../src/messages/processing/offchain/mod.nr | 2 +- .../messages/processing/offchain/reception.nr | 25 ++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 527fbfe72686..4b13a60919b4 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -66,7 +66,7 @@ pub unconstrained fn sync_inbox( // Ask PXE to resolve each message's originating tx. We pass the tx hashes in reception order, so the resolved txs // come back aligned with the reception indices and can be matched back positionally. let resolved_txs = get_resolved_txs(active_receptions.map(|reception: OffchainReception| { - reception.message().tx_hash.unwrap_or(0) + reception.read_message().tx_hash.unwrap_or(0) })); let processable_messages: EphemeralArray = EphemeralArray::empty(); diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index 7aa1214b8f8a..c756ba3d7dab 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -162,9 +162,15 @@ impl OffchainReception { .map(|collection: FactCollection| OffchainReception { collection }) } - /// Decodes and returns the message this reception carries. - pub(crate) unconstrained fn message(self) -> OffchainMessage { - read_message(self.collection) + /// Reads and returns the message this reception carries, decoding it from its fact collection. + pub(crate) unconstrained fn read_message(self) -> OffchainMessage { + let message_fact = self.collection.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_RECEIVED).unwrap(); + let n = ::N; + let mut fields = [0; ::N]; + for i in 0..n { + fields[i] = message_fact.payload.get(i); + } + Deserialize::deserialize(fields) } /// Computes the fact-collection id that identifies a message's reception machine in the [fact store](crate::facts). @@ -187,7 +193,7 @@ impl OffchainReception { ) -> Option { // TODO(@mverzilli): we could annotate retractable facts as "final" when their corresponding blocks are below // the final tip. Then we could use that as termination condition instead of relying on timestamp arithmetics. - let message = self.message(); + let message = self.read_message(); let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; let already_processed = self.is_processed(); @@ -249,14 +255,3 @@ unconstrained fn to_payload(message: OffchainMessage) -> EphemeralArray { } payload } - -/// Reads the message body fact back out of a reception collection. -unconstrained fn read_message(collection: FactCollection) -> OffchainMessage { - let message_fact = collection.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_RECEIVED).unwrap(); - let n = ::N; - let mut fields = [0; ::N]; - for i in 0..n { - fields[i] = message_fact.payload.get(i); - } - Deserialize::deserialize(fields) -} From 6909d9283b77b3befc21be12d4a74b8da24c3bd7 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 12:46:17 +0000 Subject: [PATCH 137/197] reorganize tests --- .../src/messages/processing/offchain/mod.nr | 258 +---------------- .../messages/processing/offchain/reception.nr | 274 ++++++++++++++++++ 2 files changed, 277 insertions(+), 255 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 4b13a60919b4..a4a8eb536dad 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -96,60 +96,10 @@ pub struct OffchainMessage { } mod test { - use crate::{ - ephemeral::EphemeralArray, - facts::{Fact, FactCollection, get_fact_collection, get_fact_collections_by_type}, - oracle::random::random, - protocol::address::AztecAddress, - test::helpers::test_environment::TestEnvironment, - }; + use crate::oracle::random::random; use super::{MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OffchainMessage, receive, sync_inbox}; - use super::reception::{MAX_MSG_TTL, OFFCHAIN_MESSAGE_PROCESSED, OFFCHAIN_RECEPTION_TYPE_ID, OffchainReception}; - - unconstrained fn setup() -> (TestEnvironment, AztecAddress) { - let mut env = TestEnvironment::new(); - let scope = env.create_light_account(); - (env, scope) - } - - /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. - fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { - OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } - } - - /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. - unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { - env.advance_next_block_timestamp_by(offset); - env.mine_block(); - env.last_block_timestamp() - } - - /// Returns the collection ids of the receptions currently active for the given scope. - unconstrained fn messages_in_inbox(contract_address: AztecAddress, scope: AztecAddress) -> EphemeralArray { - get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID).map(|c: FactCollection| { - c.fact_collection_id - }) - } - - /// Returns `true` if a reception with the given collection id is currently active. - unconstrained fn is_in_inbox(contract_address: AztecAddress, scope: AztecAddress, collection_id: Field) -> bool { - messages_in_inbox(contract_address, scope).any(|k: Field| k == collection_id) - } - - /// Returns `true` if the reception with the given collection id has been marked processed. - unconstrained fn is_processed(contract_address: AztecAddress, scope: AztecAddress, collection_id: Field) -> bool { - let maybe_collection = get_fact_collection( - contract_address, - scope, - OFFCHAIN_RECEPTION_TYPE_ID, - collection_id, - ); - if maybe_collection.is_some() { - maybe_collection.unwrap().facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) - } else { - false - } - } + use super::reception::{MAX_MSG_TTL, OffchainReception}; + use super::reception::test::{advance_by, is_in_inbox, is_processed, make_msg, messages_in_inbox, setup}; #[test] unconstrained fn empty_inbox_returns_empty_result() { @@ -163,103 +113,6 @@ mod test { }); } - #[test] - unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - let tx_hash = random(); - let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, MAX_MSG_TTL + 1); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert( - !is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "expired reception should be terminated", - ); - }); - } - - #[test] - unconstrained fn tx_bound_msg_not_expired_before_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - let tx_hash = random(); - let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance, but not past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "not expired reception should stay active", - ); - assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); - }); - } - - #[test] - unconstrained fn tx_less_msg_expires_after_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - // A tx-less message normalizes to tx_hash 0. - let msg = make_msg(scope, Option::none(), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, MAX_MSG_TTL + 1); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert( - !is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "expired reception should be terminated", - ); - }); - } - - #[test] - unconstrained fn unresolved_tx_stays_in_inbox() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - let tx_hash = random(); - let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 0); // not resolved, not ready - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "unresolved reception should stay active", - ); - assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); - }); - } - #[test] unconstrained fn multiple_messages_mixed_expiration() { let (env, scope) = setup(); @@ -308,111 +161,6 @@ mod test { }); } - // -- Resolved context (ready to process) ------------------------------ - - #[test] - unconstrained fn resolved_msg_is_ready_to_process() { - let (env, scope) = setup(); - // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1. - // We use this as a "known resolvable" tx hash. - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - // The message should be ready to process since its tx context was resolved. - assert_eq(result.len(), 1); - - let ctx = result.get(0).message_context; - assert_eq(ctx.tx_hash, known_tx_hash); - - // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "processed reception should stay active for reorg safety", - ); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); - }); - } - - #[test] - unconstrained fn already_processed_is_not_re_pushed() { - let (env, scope) = setup(); - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - let _now = advance_by(env, 100); - - // First sync: the message resolves, is pushed for processing. - env.utility_context(|context| { - let address = context.this_address(); - let first = sync_inbox(address, scope); - assert_eq(first.len(), 1); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); - }); - - // Second sync with the same resolvable context the reception remains active (not expired). - env.utility_context(|context| { - let address = context.this_address(); - let second = sync_inbox(address, scope); - - assert_eq(second.len(), 0); // already processed, not re-pushed - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "processed reception should still be active", - ); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should remain processed"); - }); - } - - #[test] - unconstrained fn expired_resolved_msg_is_processed_once_before_termination() { - let (env, scope) = setup(); - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance past anchor_ts + MAX_MSG_TTL so the message is expired on the next sync. - let _now = advance_by(env, MAX_MSG_TTL + 1); - - // First sync: even though the message is expired, its context resolves, so it is handed off for processing. - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 1); - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "expired-but-resolved reception is processed, not terminated yet", - ); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); - }); - - // Second sync: still expired and now processed, so the reception is terminated. - env.utility_context(|context| { - let address = context.this_address(); - let second = sync_inbox(address, scope); - - assert_eq(second.len(), 0); // already processed, not re-pushed - assert( - !is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "expired processed reception is terminated on the next sync", - ); - }); - } - // -- Idempotent re-delivery (first-write-wins fact recording) --------- #[test] diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index c756ba3d7dab..ec5a4aef5fe4 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -255,3 +255,277 @@ unconstrained fn to_payload(message: OffchainMessage) -> EphemeralArray { } payload } + +pub(crate) mod test { + use crate::{ + ephemeral::EphemeralArray, + facts::{Fact, FactCollection, get_fact_collection, get_fact_collections_by_type}, + messages::processing::offchain::{OffchainMessage, receive, sync_inbox}, + oracle::random::random, + protocol::address::AztecAddress, + test::helpers::test_environment::TestEnvironment, + }; + use super::{MAX_MSG_TTL, OFFCHAIN_MESSAGE_PROCESSED, OFFCHAIN_RECEPTION_TYPE_ID, OffchainReception}; + + pub(crate) unconstrained fn setup() -> (TestEnvironment, AztecAddress) { + let mut env = TestEnvironment::new(); + let scope = env.create_light_account(); + (env, scope) + } + + /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. + pub(crate) fn make_msg( + recipient: AztecAddress, + tx_hash: Option, + anchor_block_timestamp: u64, + ) -> OffchainMessage { + OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } + } + + /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. + pub(crate) unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { + env.advance_next_block_timestamp_by(offset); + env.mine_block(); + env.last_block_timestamp() + } + + /// Returns the collection ids of the receptions currently active for the given scope. + pub(crate) unconstrained fn messages_in_inbox( + contract_address: AztecAddress, + scope: AztecAddress, + ) -> EphemeralArray { + get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID).map(|c: FactCollection| { + c.fact_collection_id + }) + } + + /// Returns `true` if a reception with the given collection id is currently active. + pub(crate) unconstrained fn is_in_inbox( + contract_address: AztecAddress, + scope: AztecAddress, + collection_id: Field, + ) -> bool { + messages_in_inbox(contract_address, scope).any(|k: Field| k == collection_id) + } + + /// Returns `true` if the reception with the given collection id has been marked processed. + pub(crate) unconstrained fn is_processed( + contract_address: AztecAddress, + scope: AztecAddress, + collection_id: Field, + ) -> bool { + let maybe_collection = get_fact_collection( + contract_address, + scope, + OFFCHAIN_RECEPTION_TYPE_ID, + collection_id, + ); + if maybe_collection.is_some() { + maybe_collection.unwrap().facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + } else { + false + } + } + + #[test] + unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + // Advance past anchor_ts + MAX_MSG_TTL. + let _now = advance_by(env, MAX_MSG_TTL + 1); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // context is None, not ready + assert( + !is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "expired reception should be terminated", + ); + }); + } + + #[test] + unconstrained fn tx_bound_msg_not_expired_before_max_msg_ttl() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + // Advance, but not past anchor_ts + MAX_MSG_TTL. + let _now = advance_by(env, 100); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // context is None, not ready + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "not expired reception should stay active", + ); + assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); + }); + } + + #[test] + unconstrained fn tx_less_msg_expires_after_max_msg_ttl() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + // A tx-less message normalizes to tx_hash 0. + let msg = make_msg(scope, Option::none(), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + // Advance past anchor_ts + MAX_MSG_TTL. + let _now = advance_by(env, MAX_MSG_TTL + 1); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // context is None, not ready + assert( + !is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "expired reception should be terminated", + ); + }); + } + + #[test] + unconstrained fn unresolved_tx_stays_in_inbox() { + let (env, scope) = setup(); + let anchor_ts = advance_by(env, 10); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + let _now = advance_by(env, 100); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 0); // not resolved, not ready + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "unresolved reception should stay active", + ); + assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); + }); + } + + // -- Resolved context (ready to process) ------------------------------ + + #[test] + unconstrained fn resolved_msg_is_ready_to_process() { + let (env, scope) = setup(); + // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1. + // We use this as a "known resolvable" tx hash. + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + let _now = advance_by(env, 100); + + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + // The message should be ready to process since its tx context was resolved. + assert_eq(result.len(), 1); + + let ctx = result.get(0).message_context; + assert_eq(ctx.tx_hash, known_tx_hash); + + // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "processed reception should stay active for reorg safety", + ); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + }); + } + + #[test] + unconstrained fn already_processed_is_not_re_pushed() { + let (env, scope) = setup(); + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + let _now = advance_by(env, 100); + + // First sync: the message resolves, is pushed for processing. + env.utility_context(|context| { + let address = context.this_address(); + let first = sync_inbox(address, scope); + assert_eq(first.len(), 1); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + }); + + // Second sync with the same resolvable context the reception remains active (not expired). + env.utility_context(|context| { + let address = context.this_address(); + let second = sync_inbox(address, scope); + + assert_eq(second.len(), 0); // already processed, not re-pushed + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "processed reception should still be active", + ); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should remain processed"); + }); + } + + #[test] + unconstrained fn expired_resolved_msg_is_processed_once_before_termination() { + let (env, scope) = setup(); + let known_tx_hash: Field = 1; + let anchor_ts = advance_by(env, 10); + let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); + + env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); + + // Advance past anchor_ts + MAX_MSG_TTL so the message is expired on the next sync. + let _now = advance_by(env, MAX_MSG_TTL + 1); + + // First sync: even though the message is expired, its context resolves, so it is handed off for processing. + env.utility_context(|context| { + let address = context.this_address(); + let result = sync_inbox(address, scope); + + assert_eq(result.len(), 1); + assert( + is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "expired-but-resolved reception is processed, not terminated yet", + ); + assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + }); + + // Second sync: still expired and now processed, so the reception is terminated. + env.utility_context(|context| { + let address = context.this_address(); + let second = sync_inbox(address, scope); + + assert_eq(second.len(), 0); // already processed, not re-pushed + assert( + !is_in_inbox(address, scope, OffchainReception::id_for(msg)), + "expired processed reception is terminated on the next sync", + ); + }); + } +} From 04c7868852018fc287a75e8159b826f761d752f8 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 13:18:04 +0000 Subject: [PATCH 138/197] more tests refactors --- .../src/messages/processing/offchain/mod.nr | 32 +++-- .../messages/processing/offchain/reception.nr | 126 +++++++----------- 2 files changed, 68 insertions(+), 90 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index a4a8eb536dad..dbcfda8b5f6d 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -96,10 +96,17 @@ pub struct OffchainMessage { } mod test { - use crate::oracle::random::random; + use crate::{oracle::random::random, test::helpers::test_environment::TestEnvironment}; use super::{MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OffchainMessage, receive, sync_inbox}; use super::reception::{MAX_MSG_TTL, OffchainReception}; - use super::reception::test::{advance_by, is_in_inbox, is_processed, make_msg, messages_in_inbox, setup}; + use super::reception::test::{make_msg, setup}; + + /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. + unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { + env.advance_next_block_timestamp_by(offset); + env.mine_block(); + env.last_block_timestamp() + } #[test] unconstrained fn empty_inbox_returns_empty_result() { @@ -109,7 +116,7 @@ mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); - assert_eq(messages_in_inbox(address, scope).len(), 0); + assert_eq(OffchainReception::load_all(address, scope).len(), 0); }); } @@ -146,18 +153,15 @@ mod test { assert_eq(result.len(), 0); // all contexts are None assert( - !is_in_inbox(address, scope, OffchainReception::id_for(expired_a)), + !OffchainReception::is_active(address, scope, expired_a), "expired tx-bound reception should be terminated", ); assert( - !is_in_inbox(address, scope, OffchainReception::id_for(expired_b)), + !OffchainReception::is_active(address, scope, expired_b), "expired tx-less reception should be terminated", ); - assert( - is_in_inbox(address, scope, OffchainReception::id_for(survivor)), - "survivor reception should stay active", - ); - assert_eq(messages_in_inbox(address, scope).len(), 1); + assert(OffchainReception::is_active(address, scope, survivor), "survivor reception should stay active"); + assert_eq(OffchainReception::load_all(address, scope).len(), 1); }); } @@ -177,8 +181,8 @@ mod test { let address = context.this_address(); receive(address, BoundedVec::from_array([msg])); - assert(is_in_inbox(address, scope, OffchainReception::id_for(msg)), "reception should be active"); - assert_eq(messages_in_inbox(address, scope).len(), 1); + assert(OffchainReception::is_active(address, scope, msg), "reception should be active"); + assert_eq(OffchainReception::load_all(address, scope).len(), 1); }); } @@ -197,7 +201,7 @@ mod test { env.utility_context(|context| { let address = context.this_address(); assert_eq(sync_inbox(address, scope).len(), 1); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); }); // Re-deliver the same message. The next sync recognizes it as already processed and does not re-push it. @@ -206,7 +210,7 @@ mod test { receive(address, BoundedVec::from_array([msg])); assert( - is_processed(address, scope, OffchainReception::id_for(msg)), + OffchainReception::is_processed(address, scope, msg), "re-delivery must preserve the processed guard", ); assert_eq(sync_inbox(address, scope).len(), 0); diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index ec5a4aef5fe4..116112e06325 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -96,7 +96,7 @@ use crate::{ ephemeral::EphemeralArray, facts::{ - delete_fact_collection, Fact, FactCollection, get_fact_collections_by_type, OriginBlock, + delete_fact_collection, Fact, FactCollection, get_fact_collection, get_fact_collections_by_type, OriginBlock, record_non_retractable_fact, record_retractable_fact, }, messages::processing::{MessageContext, OffchainMessageWithContext}, @@ -181,6 +181,21 @@ impl OffchainReception { poseidon2_hash(message.serialize()) } + /// Returns `true` if a reception for `message` is currently active for the given contract and scope. + pub(crate) unconstrained fn is_active( + contract_address: AztecAddress, + scope: AztecAddress, + message: OffchainMessage, + ) -> bool { + get_fact_collection( + contract_address, + scope, + OFFCHAIN_RECEPTION_TYPE_ID, + Self::id_for(message), + ) + .is_some() + } + /// Advances this reception by one step of its state machine. See the [module documentation](super) for the /// states, transitions, and expiry rules. /// @@ -195,7 +210,7 @@ impl OffchainReception { // the final tip. Then we could use that as termination condition instead of relying on timestamp arithmetics. let message = self.read_message(); let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; - let already_processed = self.is_processed(); + let already_processed = self.collection.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED); if !already_processed & maybe_resolved_tx.is_some() { let resolved = maybe_resolved_tx.unwrap(); @@ -216,9 +231,23 @@ impl OffchainReception { } } - /// Returns `true` if this reception has been marked processed. - unconstrained fn is_processed(self) -> bool { - self.collection.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + /// Returns `true` if the reception for `message` has been marked processed. + pub(crate) unconstrained fn is_processed( + contract_address: AztecAddress, + scope: AztecAddress, + message: OffchainMessage, + ) -> bool { + let maybe_collection = get_fact_collection( + contract_address, + scope, + OFFCHAIN_RECEPTION_TYPE_ID, + Self::id_for(message), + ); + if maybe_collection.is_some() { + maybe_collection.unwrap().facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) + } else { + false + } } /// Records the retractable processed marker for this reception, originated at the resolved block. @@ -258,14 +287,12 @@ unconstrained fn to_payload(message: OffchainMessage) -> EphemeralArray { pub(crate) mod test { use crate::{ - ephemeral::EphemeralArray, - facts::{Fact, FactCollection, get_fact_collection, get_fact_collections_by_type}, messages::processing::offchain::{OffchainMessage, receive, sync_inbox}, oracle::random::random, protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, }; - use super::{MAX_MSG_TTL, OFFCHAIN_MESSAGE_PROCESSED, OFFCHAIN_RECEPTION_TYPE_ID, OffchainReception}; + use super::{MAX_MSG_TTL, OffchainReception}; pub(crate) unconstrained fn setup() -> (TestEnvironment, AztecAddress) { let mut env = TestEnvironment::new(); @@ -283,50 +310,12 @@ pub(crate) mod test { } /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. - pub(crate) unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { + unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { env.advance_next_block_timestamp_by(offset); env.mine_block(); env.last_block_timestamp() } - /// Returns the collection ids of the receptions currently active for the given scope. - pub(crate) unconstrained fn messages_in_inbox( - contract_address: AztecAddress, - scope: AztecAddress, - ) -> EphemeralArray { - get_fact_collections_by_type(contract_address, scope, OFFCHAIN_RECEPTION_TYPE_ID).map(|c: FactCollection| { - c.fact_collection_id - }) - } - - /// Returns `true` if a reception with the given collection id is currently active. - pub(crate) unconstrained fn is_in_inbox( - contract_address: AztecAddress, - scope: AztecAddress, - collection_id: Field, - ) -> bool { - messages_in_inbox(contract_address, scope).any(|k: Field| k == collection_id) - } - - /// Returns `true` if the reception with the given collection id has been marked processed. - pub(crate) unconstrained fn is_processed( - contract_address: AztecAddress, - scope: AztecAddress, - collection_id: Field, - ) -> bool { - let maybe_collection = get_fact_collection( - contract_address, - scope, - OFFCHAIN_RECEPTION_TYPE_ID, - collection_id, - ); - if maybe_collection.is_some() { - maybe_collection.unwrap().facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED) - } else { - false - } - } - #[test] unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() { let (env, scope) = setup(); @@ -344,10 +333,7 @@ pub(crate) mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert( - !is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "expired reception should be terminated", - ); + assert(!OffchainReception::is_active(address, scope, msg), "expired reception should be terminated"); }); } @@ -368,11 +354,8 @@ pub(crate) mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "not expired reception should stay active", - ); - assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); + assert(OffchainReception::is_active(address, scope, msg), "not expired reception should stay active"); + assert(!OffchainReception::is_processed(address, scope, msg), "should still be unprocessed"); }); } @@ -393,10 +376,7 @@ pub(crate) mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // context is None, not ready - assert( - !is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "expired reception should be terminated", - ); + assert(!OffchainReception::is_active(address, scope, msg), "expired reception should be terminated"); }); } @@ -416,11 +396,8 @@ pub(crate) mod test { let result = sync_inbox(address, scope); assert_eq(result.len(), 0); // not resolved, not ready - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "unresolved reception should stay active", - ); - assert(!is_processed(address, scope, OffchainReception::id_for(msg)), "should still be unprocessed"); + assert(OffchainReception::is_active(address, scope, msg), "unresolved reception should stay active"); + assert(!OffchainReception::is_processed(address, scope, msg), "should still be unprocessed"); }); } @@ -451,10 +428,10 @@ pub(crate) mod test { // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), + OffchainReception::is_active(address, scope, msg), "processed reception should stay active for reorg safety", ); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); }); } @@ -474,7 +451,7 @@ pub(crate) mod test { let address = context.this_address(); let first = sync_inbox(address, scope); assert_eq(first.len(), 1); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); }); // Second sync with the same resolvable context the reception remains active (not expired). @@ -483,11 +460,8 @@ pub(crate) mod test { let second = sync_inbox(address, scope); assert_eq(second.len(), 0); // already processed, not re-pushed - assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), - "processed reception should still be active", - ); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should remain processed"); + assert(OffchainReception::is_active(address, scope, msg), "processed reception should still be active"); + assert(OffchainReception::is_processed(address, scope, msg), "should remain processed"); }); } @@ -510,10 +484,10 @@ pub(crate) mod test { assert_eq(result.len(), 1); assert( - is_in_inbox(address, scope, OffchainReception::id_for(msg)), + OffchainReception::is_active(address, scope, msg), "expired-but-resolved reception is processed, not terminated yet", ); - assert(is_processed(address, scope, OffchainReception::id_for(msg)), "should be processed"); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); }); // Second sync: still expired and now processed, so the reception is terminated. @@ -523,7 +497,7 @@ pub(crate) mod test { assert_eq(second.len(), 0); // already processed, not re-pushed assert( - !is_in_inbox(address, scope, OffchainReception::id_for(msg)), + !OffchainReception::is_active(address, scope, msg), "expired processed reception is terminated on the next sync", ); }); From 48d9af0679770f3d29211f07588878d57ff69a33 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 13:21:51 +0000 Subject: [PATCH 139/197] keep test modules isolated --- .../src/messages/processing/offchain/mod.nr | 16 ++++++++++++++-- .../messages/processing/offchain/reception.nr | 10 +++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index dbcfda8b5f6d..37cc3c887fa5 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -96,10 +96,22 @@ pub struct OffchainMessage { } mod test { - use crate::{oracle::random::random, test::helpers::test_environment::TestEnvironment}; + use crate::{ + oracle::random::random, protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, + }; use super::{MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OffchainMessage, receive, sync_inbox}; use super::reception::{MAX_MSG_TTL, OffchainReception}; - use super::reception::test::{make_msg, setup}; + + unconstrained fn setup() -> (TestEnvironment, AztecAddress) { + let mut env = TestEnvironment::new(); + let scope = env.create_light_account(); + (env, scope) + } + + /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. + fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { + OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } + } /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index 116112e06325..5b38d2c0f21b 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -285,7 +285,7 @@ unconstrained fn to_payload(message: OffchainMessage) -> EphemeralArray { payload } -pub(crate) mod test { +mod test { use crate::{ messages::processing::offchain::{OffchainMessage, receive, sync_inbox}, oracle::random::random, @@ -294,18 +294,14 @@ pub(crate) mod test { }; use super::{MAX_MSG_TTL, OffchainReception}; - pub(crate) unconstrained fn setup() -> (TestEnvironment, AztecAddress) { + unconstrained fn setup() -> (TestEnvironment, AztecAddress) { let mut env = TestEnvironment::new(); let scope = env.create_light_account(); (env, scope) } /// Creates an `OffchainMessage` with dummy ciphertext and the given scope as recipient. - pub(crate) fn make_msg( - recipient: AztecAddress, - tx_hash: Option, - anchor_block_timestamp: u64, - ) -> OffchainMessage { + fn make_msg(recipient: AztecAddress, tx_hash: Option, anchor_block_timestamp: u64) -> OffchainMessage { OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } } From 708a45974510ba9d153bc7afe826f80891bd8631 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 13:34:38 +0000 Subject: [PATCH 140/197] consolidate tests --- .../messages/processing/offchain/reception.nr | 193 +++++------------- 1 file changed, 56 insertions(+), 137 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index 5b38d2c0f21b..3b7696b4ca6d 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -287,8 +287,8 @@ unconstrained fn to_payload(message: OffchainMessage) -> EphemeralArray { mod test { use crate::{ - messages::processing::offchain::{OffchainMessage, receive, sync_inbox}, - oracle::random::random, + messages::processing::offchain::OffchainMessage, + oracle::{random::random, tx_resolution::ResolvedTx}, protocol::address::AztecAddress, test::helpers::test_environment::TestEnvironment, }; @@ -305,196 +305,115 @@ mod test { OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } } - /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp. - unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 { - env.advance_next_block_timestamp_by(offset); - env.mine_block(); - env.last_block_timestamp() - } - - #[test] - unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - let tx_hash = random(); - let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, MAX_MSG_TTL + 1); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert(!OffchainReception::is_active(address, scope, msg), "expired reception should be terminated"); - }); - } - - #[test] - unconstrained fn tx_bound_msg_not_expired_before_max_msg_ttl() { - let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - let tx_hash = random(); - let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance, but not past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, 100); - - env.utility_context(|context| { - let address = context.this_address(); - let result = sync_inbox(address, scope); - - assert_eq(result.len(), 0); // context is None, not ready - assert(OffchainReception::is_active(address, scope, msg), "not expired reception should stay active"); - assert(!OffchainReception::is_processed(address, scope, msg), "should still be unprocessed"); - }); + /// Builds the resolved-tx context PXE would return for `tx_hash`. + fn resolved_tx(tx_hash: Field) -> ResolvedTx { + ResolvedTx { + tx_hash, + unique_note_hashes_in_tx: BoundedVec::new(), + first_nullifier_in_tx: 0, + block_number: 1, + block_hash: 0, + } } #[test] - unconstrained fn tx_less_msg_expires_after_max_msg_ttl() { + unconstrained fn expired_reception_is_terminated() { let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - // A tx-less message normalizes to tx_hash 0. - let msg = make_msg(scope, Option::none(), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance past anchor_ts + MAX_MSG_TTL. - let _now = advance_by(env, MAX_MSG_TTL + 1); + let msg = make_msg(scope, Option::some(random()), 0); env.utility_context(|context| { let address = context.this_address(); - let result = sync_inbox(address, scope); + OffchainReception::init(address, msg); + let reception = OffchainReception::load_all(address, scope).get(0); - assert_eq(result.len(), 0); // context is None, not ready + // Past the TTL with no resolved tx: the reception is terminated. + assert(reception.step(Option::none(), MAX_MSG_TTL + 1).is_none()); assert(!OffchainReception::is_active(address, scope, msg), "expired reception should be terminated"); }); } #[test] - unconstrained fn unresolved_tx_stays_in_inbox() { + unconstrained fn unresolved_reception_stays_active() { let (env, scope) = setup(); - let anchor_ts = advance_by(env, 10); - let tx_hash = random(); - let msg = make_msg(scope, Option::some(tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - let _now = advance_by(env, 100); + let msg = make_msg(scope, Option::some(random()), 0); env.utility_context(|context| { let address = context.this_address(); - let result = sync_inbox(address, scope); + OffchainReception::init(address, msg); + let reception = OffchainReception::load_all(address, scope).get(0); - assert_eq(result.len(), 0); // not resolved, not ready + // Within the TTL with no resolved tx: nothing to process, the reception stays. + assert(reception.step(Option::none(), 100).is_none()); assert(OffchainReception::is_active(address, scope, msg), "unresolved reception should stay active"); assert(!OffchainReception::is_processed(address, scope, msg), "should still be unprocessed"); }); } - // -- Resolved context (ready to process) ------------------------------ - #[test] - unconstrained fn resolved_msg_is_ready_to_process() { + unconstrained fn resolved_reception_is_ready_to_process() { let (env, scope) = setup(); - // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1. - // We use this as a "known resolvable" tx hash. - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - let _now = advance_by(env, 100); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), 0); env.utility_context(|context| { let address = context.this_address(); - let result = sync_inbox(address, scope); - - // The message should be ready to process since its tx context was resolved. - assert_eq(result.len(), 1); + OffchainReception::init(address, msg); + let reception = OffchainReception::load_all(address, scope).get(0); - let ctx = result.get(0).message_context; - assert_eq(ctx.tx_hash, known_tx_hash); + // A resolved tx within the TTL: the message is handed off with its tx context attached. + let processable = reception.step(Option::some(resolved_tx(tx_hash)), 100); + assert(processable.is_some()); + assert_eq(processable.unwrap().message_context.tx_hash, tx_hash); - // Reception stays active (not expired) and is now marked processed, with a Processed fact recorded. - assert( - OffchainReception::is_active(address, scope, msg), - "processed reception should stay active for reorg safety", - ); + // It stays active for reorg safety and is now marked processed. + assert(OffchainReception::is_active(address, scope, msg), "processed reception should stay active"); assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); }); } #[test] - unconstrained fn already_processed_is_not_re_pushed() { + unconstrained fn already_processed_reception_is_not_re_pushed() { let (env, scope) = setup(); - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - let _now = advance_by(env, 100); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), 0); - // First sync: the message resolves, is pushed for processing. env.utility_context(|context| { let address = context.this_address(); - let first = sync_inbox(address, scope); - assert_eq(first.len(), 1); - assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); - }); + OffchainReception::init(address, msg); - // Second sync with the same resolvable context the reception remains active (not expired). - env.utility_context(|context| { - let address = context.this_address(); - let second = sync_inbox(address, scope); + // First step processes the message. + let reception = OffchainReception::load_all(address, scope).get(0); + assert(reception.step(Option::some(resolved_tx(tx_hash)), 100).is_some()); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); - assert_eq(second.len(), 0); // already processed, not re-pushed + // Second step (still resolved, not expired) recognizes it as processed and does not re-push it. + let reloaded = OffchainReception::load_all(address, scope).get(0); + assert(reloaded.step(Option::some(resolved_tx(tx_hash)), 100).is_none(), "already processed"); assert(OffchainReception::is_active(address, scope, msg), "processed reception should still be active"); - assert(OffchainReception::is_processed(address, scope, msg), "should remain processed"); }); } #[test] - unconstrained fn expired_resolved_msg_is_processed_once_before_termination() { + unconstrained fn expired_resolved_reception_is_processed_once_before_termination() { let (env, scope) = setup(); - let known_tx_hash: Field = 1; - let anchor_ts = advance_by(env, 10); - let msg = make_msg(scope, Option::some(known_tx_hash), anchor_ts); - - env.utility_context(|context| { receive(context.this_address(), BoundedVec::from_array([msg])); }); - - // Advance past anchor_ts + MAX_MSG_TTL so the message is expired on the next sync. - let _now = advance_by(env, MAX_MSG_TTL + 1); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), 0); - // First sync: even though the message is expired, its context resolves, so it is handed off for processing. env.utility_context(|context| { let address = context.this_address(); - let result = sync_inbox(address, scope); + OffchainReception::init(address, msg); - assert_eq(result.len(), 1); - assert( - OffchainReception::is_active(address, scope, msg), - "expired-but-resolved reception is processed, not terminated yet", - ); + // Expired but resolved: the message is processed once (not terminated yet). + let reception = OffchainReception::load_all(address, scope).get(0); + assert(reception.step(Option::some(resolved_tx(tx_hash)), MAX_MSG_TTL + 1).is_some()); assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); - }); - - // Second sync: still expired and now processed, so the reception is terminated. - env.utility_context(|context| { - let address = context.this_address(); - let second = sync_inbox(address, scope); - assert_eq(second.len(), 0); // already processed, not re-pushed + // Next step: still expired and now processed, so the reception is terminated. + let reloaded = OffchainReception::load_all(address, scope).get(0); + assert(reloaded.step(Option::some(resolved_tx(tx_hash)), MAX_MSG_TTL + 1).is_none()); assert( !OffchainReception::is_active(address, scope, msg), - "expired processed reception is terminated on the next sync", + "expired processed reception is terminated on the next step", ); }); } From 30b654305228cf3bcb314d98cdde896cebce7306 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 15:02:02 +0000 Subject: [PATCH 141/197] feat: add fact origin-block state classification --- .../pxe/src/storage/fact_store/index.ts | 9 +++ .../storage/fact_store/origin_state.test.ts | 43 ++++++++++++++ .../src/storage/fact_store/origin_state.ts | 56 +++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 yarn-project/pxe/src/storage/fact_store/origin_state.test.ts create mode 100644 yarn-project/pxe/src/storage/fact_store/origin_state.ts diff --git a/yarn-project/pxe/src/storage/fact_store/index.ts b/yarn-project/pxe/src/storage/fact_store/index.ts index 75be9ce2b947..e2b2669e60cc 100644 --- a/yarn-project/pxe/src/storage/fact_store/index.ts +++ b/yarn-project/pxe/src/storage/fact_store/index.ts @@ -2,3 +2,12 @@ export { FactStore, type FactCollection } from './fact_store.js'; export { FactService } from './fact_service.js'; export { FactCollectionKey, FactCollectionTypeKey, type OriginBlock } from './fact_store_keys.js'; export type { Fact } from './stored_fact.js'; +export { + OriginState, + classifyOriginState, + annotateFact, + type TipBlockNumbers, + type RetractableFactOrigin, + type AnnotatedFact, + type AnnotatedFactCollection, +} from './origin_state.js'; diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts new file mode 100644 index 000000000000..74014934b8b0 --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts @@ -0,0 +1,43 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; + +import { OriginState, annotateFact, classifyOriginState } from './origin_state.js'; + +describe('classifyOriginState', () => { + const tips = { provenBlockNumber: 10, finalizedBlockNumber: 5 }; + + it('classifies a block at or below the finalized tip as Finalized', () => { + expect(classifyOriginState(5, tips)).toBe(OriginState.Finalized); + expect(classifyOriginState(3, tips)).toBe(OriginState.Finalized); + }); + + it('classifies a block above finalized but at or below proven as Proven', () => { + expect(classifyOriginState(6, tips)).toBe(OriginState.Proven); + expect(classifyOriginState(10, tips)).toBe(OriginState.Proven); + }); + + it('classifies a block above the proven tip as Pending', () => { + expect(classifyOriginState(11, tips)).toBe(OriginState.Pending); + expect(classifyOriginState(12, tips)).toBe(OriginState.Pending); + }); +}); + +describe('annotateFact', () => { + const tips = { provenBlockNumber: 10, finalizedBlockNumber: 5 }; + const factTypeId = new Fr(7); + const payload = [new Fr(1), new Fr(2)]; + + it('annotates a retractable fact with its origin block state', () => { + const blockHash = new Fr(99); + const annotated = annotateFact({ factTypeId, payload, originBlock: { blockNumber: 3, blockHash } }, tips); + expect(annotated).toEqual({ + factTypeId, + payload, + originBlock: { blockNumber: 3, blockHash, blockState: OriginState.Finalized }, + }); + }); + + it('leaves a non-retractable fact without an origin block', () => { + const annotated = annotateFact({ factTypeId, payload, originBlock: undefined }, tips); + expect(annotated).toEqual({ factTypeId, payload, originBlock: undefined }); + }); +}); diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.ts new file mode 100644 index 000000000000..dece2062a026 --- /dev/null +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.ts @@ -0,0 +1,56 @@ +import type { Fr } from '@aztec/foundation/curves/bn254'; + +import type { FactCollectionKey, OriginBlock } from './fact_store_keys.js'; +import type { Fact } from './stored_fact.js'; + +/** + * Chain state of a retractable fact's origin block, mirroring the L2 chain tips. The numeric values are the wire + * discriminants shared with the Noir `OriginState` wrapper. + * + * - `Pending`: above the proven tip; still reorg-able. + * - `Proven`: proof on L1 but not yet finalized — confidence, not safety. + * - `Finalized`: L1-finalized and therefore irreversible (the only retraction-proof state). + */ +export enum OriginState { + Pending = 1, + Proven = 2, + Finalized = 3, +} + +/** The two chain-tip block numbers needed to classify an origin block (`finalized <= proven` always holds). */ +export type TipBlockNumbers = { provenBlockNumber: number; finalizedBlockNumber: number }; + +/** A retractable fact's origin block, annotated with that block's current chain state. */ +export type RetractableFactOrigin = { blockNumber: number; blockHash: Fr; blockState: OriginState }; + +/** A fact enriched with origin-block state. `originBlock` is undefined for a non-retractable fact. */ +export type AnnotatedFact = { factTypeId: Fr; payload: Fr[]; originBlock: RetractableFactOrigin | undefined }; + +/** A fact collection whose facts carry origin-block state. */ +export type AnnotatedFactCollection = { key: FactCollectionKey; facts: AnnotatedFact[] }; + +/** + * Classifies an origin block by number against the chain tips. A surviving retractable fact's origin block is + * guaranteed canonical (a reorg would have pruned the fact), so a number comparison is sufficient. + */ +export function classifyOriginState(blockNumber: number, tips: TipBlockNumbers): OriginState { + if (blockNumber <= tips.finalizedBlockNumber) { + return OriginState.Finalized; + } + if (blockNumber <= tips.provenBlockNumber) { + return OriginState.Proven; + } + return OriginState.Pending; +} + +/** Enriches a stored fact with the chain state of its origin block (when retractable). */ +export function annotateFact(fact: Fact, tips: TipBlockNumbers): AnnotatedFact { + const originBlock: RetractableFactOrigin | undefined = fact.originBlock + ? { + blockNumber: fact.originBlock.blockNumber, + blockHash: fact.originBlock.blockHash, + blockState: classifyOriginState(fact.originBlock.blockNumber, tips), + } + : undefined; + return { factTypeId: fact.factTypeId, payload: fact.payload, originBlock }; +} From 31700e7cfbe272e312240e6396b14e6ec7d8ba35 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 15:09:21 +0000 Subject: [PATCH 142/197] feat: serialize fact origin-block state through the fact oracles --- .../noir-structs/fact.ts | 8 ++-- .../noir-structs/fact_collection.ts | 13 ++++-- .../oracle/oracle_type_mappings.ts | 9 +++- .../oracle/utility_execution_oracle.ts | 4 ++ .../storage/fact_store/fact_service.test.ts | 45 ++++++++++++++++--- .../src/storage/fact_store/fact_service.ts | 39 +++++++++++++--- 6 files changed, 96 insertions(+), 22 deletions(-) diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts index 5e064107d40e..713023111ba2 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact.ts @@ -1,13 +1,13 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { RetractableFactOrigin } from '../../storage/fact_store/index.js'; import type { EphemeralArray } from './ephemeral_array.js'; import type { Option } from './option.js'; -import type { OriginBlock } from './origin_block.js'; /** * A single fact returned within a fact collection by the fact store oracles. * - * A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (pruned on - * reorg of that block) and `None` for a non-retractable one. + * A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (carrying its + * origin block's current chain state) and `None` for a non-retractable one. */ -export type Fact = { factTypeId: Fr; payload: EphemeralArray; originBlock: Option }; +export type Fact = { factTypeId: Fr; payload: EphemeralArray; originBlock: Option }; diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts index 4b516ac23819..484ba47a0207 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts @@ -1,7 +1,8 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import type { Fact as FactFromStore, OriginBlock } from '../../storage/fact_store/index.js'; +import type { AnnotatedFact, RetractableFactOrigin } from '../../storage/fact_store/index.js'; +import { OriginState } from '../../storage/fact_store/index.js'; import type { EphemeralArrayService } from '../ephemeral_array_service.js'; import { EphemeralArray } from './ephemeral_array.js'; import type { Fact } from './fact.js'; @@ -27,7 +28,7 @@ export function toNoirFactCollection( scope: AztecAddress, factCollectionTypeId: Fr, factCollectionId: Fr, - facts: FactFromStore[], + facts: AnnotatedFact[], ): FactCollection { return { contractAddress, @@ -37,12 +38,16 @@ export function toNoirFactCollection( facts: EphemeralArray.fromValues( service, facts.map( - (fact: FactFromStore): Fact => ({ + (fact: AnnotatedFact): Fact => ({ factTypeId: fact.factTypeId, payload: EphemeralArray.fromValues(service, fact.payload), originBlock: fact.originBlock ? Option.some(fact.originBlock) - : Option.none({ blockNumber: 0, blockHash: Fr.ZERO }), + : Option.none({ + blockNumber: 0, + blockHash: Fr.ZERO, + blockState: OriginState.Pending, + }), }), ), ), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 8a8ba996ec3b..5446fa7f64d6 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -36,7 +36,7 @@ import { import { NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees'; import { BlockHeader, TxEffect, TxHash } from '@aztec/stdlib/tx'; -import type { OriginBlock } from '../../storage/fact_store/index.js'; +import type { OriginBlock, RetractableFactOrigin } from '../../storage/fact_store/index.js'; import { BoundedVec } from '../noir-structs/bounded_vec.js'; import { EphemeralArray } from '../noir-structs/ephemeral_array.js'; import { EventValidationRequest } from '../noir-structs/event_validation_request.js'; @@ -389,12 +389,17 @@ export const ORIGIN_BLOCK: TypeMapping = { }, }; +/** Read-side origin of a retractable fact: block coordinates plus PXE-computed chain state. Output only. */ +export const RETRACTABLE_FACT_ORIGIN: TypeMapping = { + serialization: { fn: o => [new Fr(o.blockNumber), o.blockHash, new Fr(o.blockState)] }, +}; + export const FACT: TypeMapping = { serialization: { fn: f => [ f.factTypeId, f.payload.materializeSlot(v => FIELD.serialization!.fn(v).flat() as Fr[]), - ...OPTION(ORIGIN_BLOCK).serialization!.fn(f.originBlock), + ...OPTION(RETRACTABLE_FACT_ORIGIN).serialization!.fn(f.originBlock), ], }, }; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 053b1fe219a1..0d128dc89c58 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -757,8 +757,10 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); + const tips = await this.l2TipsStore.getL2Tips(); const collection = await this.factService.getFactCollection( new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), + tips, this.jobId, ); return collection @@ -782,8 +784,10 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionTypeId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); + const tips = await this.l2TipsStore.getL2Tips(); const collections = await this.factService.getFactCollectionsByType( new FactCollectionTypeKey(contractAddress, scope, factCollectionTypeId), + tips, this.jobId, ); return EphemeralArray.fromValues( diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts index 687350b0831c..f60970d181da 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts @@ -1,13 +1,27 @@ +import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types'; import { Fr } from '@aztec/foundation/curves/bn254'; import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; +import type { L2TipId, L2Tips } from '@aztec/stdlib/block'; import { FactService } from './fact_service.js'; import { FactStore } from './fact_store.js'; import { FactCollectionKey, FactCollectionTypeKey } from './fact_store_keys.js'; +import { OriginState } from './origin_state.js'; describe('FactService', () => { + const tipId = (n: number): L2TipId => ({ + block: { number: BlockNumber(n), hash: '' }, + checkpoint: { number: CheckpointNumber(0), hash: '' }, + }); + const makeTips = (finalized: number, proven: number): L2Tips => ({ + proposed: { number: BlockNumber(proven), hash: '' }, + checkpointed: tipId(proven), + proven: tipId(proven), + finalized: tipId(finalized), + }); + let kv: AztecAsyncKVStore; let store: FactStore; @@ -34,7 +48,7 @@ describe('FactService', () => { const service = new FactService(store, [allowedScope]); await service.recordFact(factCollectionKey, factTypeId, [factPayload], undefined, jobId); - const collection = await service.getFactCollection(factCollectionKey, jobId); + const collection = await service.getFactCollection(factCollectionKey, makeTips(0, 0), jobId); expect(collection?.facts).toEqual([{ factTypeId, payload: [factPayload], originBlock: undefined }]); }); @@ -42,7 +56,7 @@ describe('FactService', () => { const service = new FactService(store, [allowedScope]); await service.recordFact(factCollectionKey, factTypeId, [factPayload], undefined, jobId); - const collections = await service.getFactCollectionsByType(factCollectionTypeKey, jobId); + const collections = await service.getFactCollectionsByType(factCollectionTypeKey, makeTips(0, 0), jobId); expect(collections).toEqual([ { key: factCollectionKey, facts: [{ factTypeId, payload: [factPayload], originBlock: undefined }] }, ]); @@ -53,7 +67,7 @@ describe('FactService', () => { await service.recordFact(factCollectionKey, factTypeId, [factPayload], undefined, jobId); await service.deleteFactCollection(factCollectionKey, jobId); - expect(await service.getFactCollection(factCollectionKey, jobId)).toBeUndefined(); + expect(await service.getFactCollection(factCollectionKey, makeTips(0, 0), jobId)).toBeUndefined(); }); it('rejects a disallowed scope on recordFact', () => { @@ -68,15 +82,32 @@ describe('FactService', () => { expect(() => service.deleteFactCollection(disallowedCollectionKey, jobId)).toThrow(/not in the allowed scopes/); }); - it('rejects a disallowed scope on getFactCollection', () => { + it('rejects a disallowed scope on getFactCollection', async () => { const service = new FactService(store, [allowedScope]); - expect(() => service.getFactCollection(disallowedCollectionKey, jobId)).toThrow(/not in the allowed scopes/); + await expect(service.getFactCollection(disallowedCollectionKey, makeTips(0, 0), jobId)).rejects.toThrow( + /not in the allowed scopes/, + ); }); - it('rejects a disallowed scope on getFactCollectionsByType', () => { + it('rejects a disallowed scope on getFactCollectionsByType', async () => { const service = new FactService(store, [allowedScope]); - expect(() => service.getFactCollectionsByType(disallowedCollectionTypeKey, jobId)).toThrow( + await expect(service.getFactCollectionsByType(disallowedCollectionTypeKey, makeTips(0, 0), jobId)).rejects.toThrow( /not in the allowed scopes/, ); }); + + it('annotates a retractable fact with its origin block state', async () => { + const service = new FactService(store, [allowedScope]); + const blockHash = new Fr(123); + await service.recordFact(factCollectionKey, factTypeId, [factPayload], { blockNumber: 4, blockHash }, jobId); + + const collection = await service.getFactCollection(factCollectionKey, makeTips(5, 10), jobId); + expect(collection?.facts).toEqual([ + { + factTypeId, + payload: [factPayload], + originBlock: { blockNumber: 4, blockHash, blockState: OriginState.Finalized }, + }, + ]); + }); }); diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.ts index 7642105dc9cf..cc589f4a98a3 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.ts @@ -1,9 +1,17 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import type { AztecAddress } from '@aztec/stdlib/aztec-address'; +import type { L2Tips } from '@aztec/stdlib/block'; import { assertAllowedScope } from '../allowed_scopes.js'; -import type { FactCollection, FactStore } from './fact_store.js'; +import type { FactStore } from './fact_store.js'; import type { FactCollectionKey, FactCollectionTypeKey, OriginBlock } from './fact_store_keys.js'; +import { + type AnnotatedFact, + type AnnotatedFactCollection, + type TipBlockNumbers, + annotateFact, +} from './origin_state.js'; +import type { Fact } from './stored_fact.js'; /** * Wraps a {@link FactStore} with scope-based access control. @@ -33,13 +41,34 @@ export class FactService { return this.factStore.deleteFactCollection(factCollectionKey, jobId); } - getFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise { + async getFactCollection( + factCollectionKey: FactCollectionKey, + tips: L2Tips, + jobId: string, + ): Promise { assertAllowedScope(factCollectionKey.scope, this.allowedScopes); - return this.factStore.getFactCollection(factCollectionKey, jobId); + const collection = await this.factStore.getFactCollection(factCollectionKey, jobId); + if (!collection) { + return undefined; + } + return { key: collection.key, facts: this.#annotate(collection.facts, tips) }; } - getFactCollectionsByType(factCollectionTypeKey: FactCollectionTypeKey, jobId: string): Promise { + async getFactCollectionsByType( + factCollectionTypeKey: FactCollectionTypeKey, + tips: L2Tips, + jobId: string, + ): Promise { assertAllowedScope(factCollectionTypeKey.scope, this.allowedScopes); - return this.factStore.getFactCollectionsByType(factCollectionTypeKey, jobId); + const collections = await this.factStore.getFactCollectionsByType(factCollectionTypeKey, jobId); + return collections.map(collection => ({ key: collection.key, facts: this.#annotate(collection.facts, tips) })); + } + + #annotate(facts: Fact[], tips: L2Tips): AnnotatedFact[] { + const tipBlockNumbers: TipBlockNumbers = { + provenBlockNumber: tips.proven.block.number, + finalizedBlockNumber: tips.finalized.block.number, + }; + return facts.map(fact => annotateFact(fact, tipBlockNumbers)); } } From 2805b8466212c24dfc190218e0f7d9c644e23fca Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 15:17:20 +0000 Subject: [PATCH 143/197] feat: expose fact origin-block state in aztec-nr --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 56 +++++++++++++++---- .../aztec-nr/aztec/src/facts/origin_state.nr | 53 ++++++++++++++++++ 2 files changed, 99 insertions(+), 10 deletions(-) create mode 100644 noir-projects/aztec-nr/aztec/src/facts/origin_state.nr diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index e092f0a12226..05adcd2c5b4a 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -8,6 +8,9 @@ use crate::oracle::fact_store::{ }; use crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}}; +mod origin_state; +pub use origin_state::OriginState; + /// The block a retractable fact originates from. #[derive(Deserialize, Eq, Serialize)] pub struct OriginBlock { @@ -15,12 +18,20 @@ pub struct OriginBlock { pub block_hash: Field, } +/// A retractable fact's origin block, annotated by PXE with the block's current chain state. +#[derive(Deserialize, Eq, Serialize)] +pub struct RetractableFactOrigin { + pub block_number: u32, + pub block_hash: Field, + pub block_state: OriginState, +} + /// A single immutable fact in a collection. #[derive(Deserialize, Serialize)] pub struct Fact { pub fact_type_id: Field, pub payload: EphemeralArray, - pub origin_block: Option, + pub origin_block: Option, } /// A fact collection as returned by the store. @@ -123,7 +134,7 @@ pub unconstrained fn get_fact_collections_by_type( mod test { use crate::ephemeral::EphemeralArray; use crate::facts::{ - delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, + delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, OriginState, record_non_retractable_fact, record_retractable_fact, }; use crate::protocol::address::AztecAddress; @@ -209,8 +220,9 @@ mod test { } #[test] - unconstrained fn records_a_retractable_fact() { + unconstrained fn records_a_retractable_fact_finalized_at_latest_block() { let (env, scope) = setup(); + let origin_block_number = env.last_block_number(); env.private_context(|context| { let contract_address = context.this_address(); record_retractable_fact( @@ -220,19 +232,43 @@ mod test { COLLECTION_ID, FACT_TYPE_ID, make_payload(PAYLOAD), - OriginBlock { block_number: 5, block_hash: 0xabc }, + OriginBlock { block_number: origin_block_number, block_hash: 0xabc }, ); let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.facts.len(), 1); - let fact = collection.facts.get(0); - assert_eq(fact.fact_type_id, FACT_TYPE_ID); - assert_payload(fact.payload); + let origin = collection.facts.get(0).origin_block.unwrap(); + assert_eq(origin.block_number, origin_block_number); + assert_eq(origin.block_hash, 0xabc); + // TXE finalizes every mined block, so an origin at the latest block is Finalized. + assert(origin.block_state == OriginState::finalized(), "origin block should be finalized"); + }); + } + + #[test] + unconstrained fn retractable_fact_above_proven_tip_is_pending() { + let (env, scope) = setup(); + let future_block_number = env.last_block_number() + 100; + env.private_context(|context| { + let contract_address = context.this_address(); + record_retractable_fact( + contract_address, + scope, + TYPE_ID, + COLLECTION_ID, + FACT_TYPE_ID, + make_payload(PAYLOAD), + OriginBlock { block_number: future_block_number, block_hash: 0xabc }, + ); - let origin_block = fact.origin_block.unwrap(); - assert_eq(origin_block.block_number, 5); - assert_eq(origin_block.block_hash, 0xabc); + let origin = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID) + .unwrap() + .facts + .get(0) + .origin_block + .unwrap(); + assert(origin.block_state == OriginState::pending(), "future origin block should be pending"); }); } diff --git a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr new file mode 100644 index 000000000000..4b80848bf065 --- /dev/null +++ b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr @@ -0,0 +1,53 @@ +use crate::protocol::{traits::{Deserialize, Serialize}, utils::reader::Reader}; + +/// Chain state of a retractable fact's origin block, mirroring the L2 chain tips. +/// +/// Noir has no enums, so this wraps a `u8` discriminant. `pending` means the origin block is above the proven tip +/// (still reorg-able), `proven` means it has a proof on L1 but is not yet finalized (confidence, not safety), and +/// `finalized` means it is L1-finalized and therefore irreversible — the only retraction-proof state. +#[derive(Serialize)] +pub struct OriginState { + inner: u8, +} + +impl OriginState { + pub fn pending() -> Self { + Self { inner: 1 } + } + + pub fn proven() -> Self { + Self { inner: 2 } + } + + pub fn finalized() -> Self { + Self { inner: 3 } + } + + fn from_u8(inner: u8) -> Self { + let state = Self { inner }; + assert(state.is_valid(), "unrecognized origin state"); + state + } + + fn is_valid(self) -> bool { + (self == Self::pending()) | (self == Self::proven()) | (self == Self::finalized()) + } +} + +impl Eq for OriginState { + fn eq(self, other: Self) -> bool { + self.inner == other.inner + } +} + +impl Deserialize for OriginState { + let N: u32 = ::N; + + fn deserialize(fields: [Field; Self::N]) -> Self { + Self::from_u8(::deserialize(fields)) + } + + fn stream_deserialize(reader: &mut Reader) -> Self { + Self::from_u8(reader.read() as u8) + } +} From 5d9182f1d446a4c2d24de64e0abfe3a9b71de515 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 15:22:43 +0000 Subject: [PATCH 144/197] test: restore retractable-fact field assertions and add OriginState validation tests --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 6 +++++- .../aztec-nr/aztec/src/facts/origin_state.nr | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 05adcd2c5b4a..3a1ea8867e94 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -238,7 +238,11 @@ mod test { let collection = get_fact_collection(contract_address, scope, TYPE_ID, COLLECTION_ID).unwrap(); assert_eq(collection.facts.len(), 1); - let origin = collection.facts.get(0).origin_block.unwrap(); + let fact = collection.facts.get(0); + assert_eq(fact.fact_type_id, FACT_TYPE_ID); + assert_payload(fact.payload); + + let origin = fact.origin_block.unwrap(); assert_eq(origin.block_number, origin_block_number); assert_eq(origin.block_hash, 0xabc); // TXE finalizes every mined block, so an origin at the latest block is Finalized. diff --git a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr index 4b80848bf065..673223fc798b 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr @@ -51,3 +51,23 @@ impl Deserialize for OriginState { Self::from_u8(reader.read() as u8) } } + +mod test { + use crate::protocol::traits::{Deserialize, Serialize}; + use super::OriginState; + + #[test] + fn origin_state_roundtrips_through_serialization() { + let pending = OriginState::pending(); + let proven = OriginState::proven(); + let finalized = OriginState::finalized(); + assert(OriginState::deserialize(pending.serialize()) == pending); + assert(OriginState::deserialize(proven.serialize()) == proven); + assert(OriginState::deserialize(finalized.serialize()) == finalized); + } + + #[test(should_fail_with = "unrecognized origin state")] + fn deserializing_invalid_state_fails() { + let _ = OriginState::deserialize([99]); + } +} From cc6adabb37c98cf4ac819789ac971ca90ea8d99d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 15:27:05 +0000 Subject: [PATCH 145/197] chore: bump oracle major version for fact origin-block state --- noir-projects/aztec-nr/aztec/src/oracle/version.nr | 4 ++-- .../contracts/protocol/aztec_sublib/src/oracle/version.nr | 2 +- yarn-project/pxe/src/oracle_version.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/version.nr b/noir-projects/aztec-nr/aztec/src/oracle/version.nr index ff8f9a5afe2d..8ef8a54b6afb 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/version.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/version.nr @@ -10,8 +10,8 @@ /// the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. -pub global ORACLE_VERSION_MAJOR: Field = 30; -pub global ORACLE_VERSION_MINOR: Field = 1; +pub global ORACLE_VERSION_MAJOR: Field = 31; +pub global ORACLE_VERSION_MINOR: Field = 0; /// Asserts that the version of the oracle is compatible with the version expected by the contract. pub fn assert_compatible_oracle_version() { diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr index bd0ff1883bb7..dea5115930a5 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/version.nr @@ -10,7 +10,7 @@ /// the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw /// immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency /// without actually using any of the new oracles then there is no reason to throw. -pub global ORACLE_VERSION_MAJOR: Field = 30; +pub global ORACLE_VERSION_MAJOR: Field = 31; pub global ORACLE_VERSION_MINOR: Field = 0; /// Asserts that the version of the oracle is compatible with the version expected by the contract. diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index ef3292376b49..cf2eea257cbc 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -10,8 +10,8 @@ /// used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw immediately /// if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency without actually /// using any of the new oracles then there is no reason to throw. -export const ORACLE_VERSION_MAJOR = 30; -export const ORACLE_VERSION_MINOR = 1; +export const ORACLE_VERSION_MAJOR = 31; +export const ORACLE_VERSION_MINOR = 0; /// This hash is computed from the `ORACLE_REGISTRY` declaration (each oracle's name, ordered parameter names and /// types, and return type) and is used to detect when the oracle interface changes. When it does, you need to either: From cd330763642e0880609c1777b330d02724bdee48 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 24 Jun 2026 15:36:02 +0000 Subject: [PATCH 146/197] fix: reuse OriginBlock in RetractableFactOrigin to drop unused import --- yarn-project/pxe/src/storage/fact_store/origin_state.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.ts index dece2062a026..71924f4f64a7 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.ts @@ -20,8 +20,8 @@ export enum OriginState { /** The two chain-tip block numbers needed to classify an origin block (`finalized <= proven` always holds). */ export type TipBlockNumbers = { provenBlockNumber: number; finalizedBlockNumber: number }; -/** A retractable fact's origin block, annotated with that block's current chain state. */ -export type RetractableFactOrigin = { blockNumber: number; blockHash: Fr; blockState: OriginState }; +/** A retractable fact's origin block (the record-input coordinates) annotated with that block's current chain state. */ +export type RetractableFactOrigin = OriginBlock & { blockState: OriginState }; /** A fact enriched with origin-block state. `originBlock` is undefined for a non-retractable fact. */ export type AnnotatedFact = { factTypeId: Fr; payload: Fr[]; originBlock: RetractableFactOrigin | undefined }; From 0c810d12f99a3aa85dbe353138bce9730c9ce40e Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 25 Jun 2026 09:19:22 +0000 Subject: [PATCH 147/197] refactor: address fact origin-state review feedback - add OriginState::is_pending/is_proven/is_finalized query helpers and use them in place of equality checks - cap the proven/finalized tips at the anchor block before classifying, so origin-state stays consistent with the anchored execution view (no-op for any origin at or below the anchor; future-origin facts report Pending) - narrow FactService to take the resolved TipBlockNumbers instead of L2Tips - tighten the OriginState and RETRACTABLE_FACT_ORIGIN doc comments --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 8 ++--- .../aztec-nr/aztec/src/facts/origin_state.nr | 36 ++++++++++++++++--- .../oracle/oracle_type_mappings.ts | 2 +- .../oracle/utility_execution_oracle.ts | 6 ++-- .../storage/fact_store/fact_service.test.ts | 16 +++------ .../src/storage/fact_store/fact_service.ts | 13 +++---- .../pxe/src/storage/fact_store/index.ts | 1 + .../storage/fact_store/origin_state.test.ts | 35 +++++++++++++++++- .../src/storage/fact_store/origin_state.ts | 16 +++++++++ 9 files changed, 99 insertions(+), 34 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 3a1ea8867e94..5d332be7b50f 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -18,7 +18,7 @@ pub struct OriginBlock { pub block_hash: Field, } -/// A retractable fact's origin block, annotated by PXE with the block's current chain state. +/// A retractable fact's origin block. #[derive(Deserialize, Eq, Serialize)] pub struct RetractableFactOrigin { pub block_number: u32, @@ -134,7 +134,7 @@ pub unconstrained fn get_fact_collections_by_type( mod test { use crate::ephemeral::EphemeralArray; use crate::facts::{ - delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, OriginState, + delete_fact_collection, get_fact_collection, get_fact_collections_by_type, OriginBlock, record_non_retractable_fact, record_retractable_fact, }; use crate::protocol::address::AztecAddress; @@ -246,7 +246,7 @@ mod test { assert_eq(origin.block_number, origin_block_number); assert_eq(origin.block_hash, 0xabc); // TXE finalizes every mined block, so an origin at the latest block is Finalized. - assert(origin.block_state == OriginState::finalized(), "origin block should be finalized"); + assert(origin.block_state.is_finalized(), "origin block should be finalized"); }); } @@ -272,7 +272,7 @@ mod test { .get(0) .origin_block .unwrap(); - assert(origin.block_state == OriginState::pending(), "future origin block should be pending"); + assert(origin.block_state.is_pending(), "future origin block should be pending"); }); } diff --git a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr index 673223fc798b..82c832d45c8a 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr @@ -2,9 +2,7 @@ use crate::protocol::{traits::{Deserialize, Serialize}, utils::reader::Reader}; /// Chain state of a retractable fact's origin block, mirroring the L2 chain tips. /// -/// Noir has no enums, so this wraps a `u8` discriminant. `pending` means the origin block is above the proven tip -/// (still reorg-able), `proven` means it has a proof on L1 but is not yet finalized (confidence, not safety), and -/// `finalized` means it is L1-finalized and therefore irreversible — the only retraction-proof state. +/// Note: Noir has no enums, so this wraps a `u8` discriminant. #[derive(Serialize)] pub struct OriginState { inner: u8, @@ -23,6 +21,21 @@ impl OriginState { Self { inner: 3 } } + /// Whether the origin block is still above the proven tip (reorg-able). + pub fn is_pending(self) -> bool { + self == Self::pending() + } + + /// Whether the origin block is proven but not yet finalized. + pub fn is_proven(self) -> bool { + self == Self::proven() + } + + /// Whether the origin block is finalized, the only retraction-proof state. + pub fn is_finalized(self) -> bool { + self == Self::finalized() + } + fn from_u8(inner: u8) -> Self { let state = Self { inner }; assert(state.is_valid(), "unrecognized origin state"); @@ -30,7 +43,7 @@ impl OriginState { } fn is_valid(self) -> bool { - (self == Self::pending()) | (self == Self::proven()) | (self == Self::finalized()) + self.is_pending() | self.is_proven() | self.is_finalized() } } @@ -56,6 +69,21 @@ mod test { use crate::protocol::traits::{Deserialize, Serialize}; use super::OriginState; + #[test] + fn query_functions_identify_each_state() { + assert(OriginState::pending().is_pending()); + assert(!OriginState::pending().is_proven()); + assert(!OriginState::pending().is_finalized()); + + assert(OriginState::proven().is_proven()); + assert(!OriginState::proven().is_pending()); + assert(!OriginState::proven().is_finalized()); + + assert(OriginState::finalized().is_finalized()); + assert(!OriginState::finalized().is_pending()); + assert(!OriginState::finalized().is_proven()); + } + #[test] fn origin_state_roundtrips_through_serialization() { let pending = OriginState::pending(); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts index 5446fa7f64d6..65e3a5c7fa52 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle_type_mappings.ts @@ -389,7 +389,7 @@ export const ORIGIN_BLOCK: TypeMapping = { }, }; -/** Read-side origin of a retractable fact: block coordinates plus PXE-computed chain state. Output only. */ +/** Read-side origin of a retractable fact. */ export const RETRACTABLE_FACT_ORIGIN: TypeMapping = { serialization: { fn: o => [new Fr(o.blockNumber), o.blockHash, new Fr(o.blockState)] }, }; diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 0d128dc89c58..cff406f392fd 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -50,7 +50,7 @@ import { ORACLE_VERSION_MAJOR } from '../../oracle_version.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import type { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; -import { FactCollectionKey, FactCollectionTypeKey } from '../../storage/fact_store/index.js'; +import { FactCollectionKey, FactCollectionTypeKey, cappedTipBlockNumbers } from '../../storage/fact_store/index.js'; import type { FactService, OriginBlock } from '../../storage/fact_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; @@ -757,7 +757,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); - const tips = await this.l2TipsStore.getL2Tips(); + const tips = cappedTipBlockNumbers(await this.l2TipsStore.getL2Tips(), this.anchorBlockHeader.getBlockNumber()); const collection = await this.factService.getFactCollection( new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), tips, @@ -784,7 +784,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionTypeId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); - const tips = await this.l2TipsStore.getL2Tips(); + const tips = cappedTipBlockNumbers(await this.l2TipsStore.getL2Tips(), this.anchorBlockHeader.getBlockNumber()); const collections = await this.factService.getFactCollectionsByType( new FactCollectionTypeKey(contractAddress, scope, factCollectionTypeId), tips, diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts index f60970d181da..77464e1ea44e 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts @@ -1,25 +1,17 @@ -import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types'; import { Fr } from '@aztec/foundation/curves/bn254'; import type { AztecAsyncKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import type { L2TipId, L2Tips } from '@aztec/stdlib/block'; import { FactService } from './fact_service.js'; import { FactStore } from './fact_store.js'; import { FactCollectionKey, FactCollectionTypeKey } from './fact_store_keys.js'; -import { OriginState } from './origin_state.js'; +import { OriginState, type TipBlockNumbers } from './origin_state.js'; describe('FactService', () => { - const tipId = (n: number): L2TipId => ({ - block: { number: BlockNumber(n), hash: '' }, - checkpoint: { number: CheckpointNumber(0), hash: '' }, - }); - const makeTips = (finalized: number, proven: number): L2Tips => ({ - proposed: { number: BlockNumber(proven), hash: '' }, - checkpointed: tipId(proven), - proven: tipId(proven), - finalized: tipId(finalized), + const makeTips = (finalized: number, proven: number): TipBlockNumbers => ({ + finalizedBlockNumber: finalized, + provenBlockNumber: proven, }); let kv: AztecAsyncKVStore; diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.ts index cc589f4a98a3..7e0a9797030d 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.ts @@ -1,6 +1,5 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import type { AztecAddress } from '@aztec/stdlib/aztec-address'; -import type { L2Tips } from '@aztec/stdlib/block'; import { assertAllowedScope } from '../allowed_scopes.js'; import type { FactStore } from './fact_store.js'; @@ -43,7 +42,7 @@ export class FactService { async getFactCollection( factCollectionKey: FactCollectionKey, - tips: L2Tips, + tips: TipBlockNumbers, jobId: string, ): Promise { assertAllowedScope(factCollectionKey.scope, this.allowedScopes); @@ -56,7 +55,7 @@ export class FactService { async getFactCollectionsByType( factCollectionTypeKey: FactCollectionTypeKey, - tips: L2Tips, + tips: TipBlockNumbers, jobId: string, ): Promise { assertAllowedScope(factCollectionTypeKey.scope, this.allowedScopes); @@ -64,11 +63,7 @@ export class FactService { return collections.map(collection => ({ key: collection.key, facts: this.#annotate(collection.facts, tips) })); } - #annotate(facts: Fact[], tips: L2Tips): AnnotatedFact[] { - const tipBlockNumbers: TipBlockNumbers = { - provenBlockNumber: tips.proven.block.number, - finalizedBlockNumber: tips.finalized.block.number, - }; - return facts.map(fact => annotateFact(fact, tipBlockNumbers)); + #annotate(facts: Fact[], tips: TipBlockNumbers): AnnotatedFact[] { + return facts.map(fact => annotateFact(fact, tips)); } } diff --git a/yarn-project/pxe/src/storage/fact_store/index.ts b/yarn-project/pxe/src/storage/fact_store/index.ts index e2b2669e60cc..26fdc7a05d5f 100644 --- a/yarn-project/pxe/src/storage/fact_store/index.ts +++ b/yarn-project/pxe/src/storage/fact_store/index.ts @@ -5,6 +5,7 @@ export type { Fact } from './stored_fact.js'; export { OriginState, classifyOriginState, + cappedTipBlockNumbers, annotateFact, type TipBlockNumbers, type RetractableFactOrigin, diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts index 74014934b8b0..e3b76c17a5e9 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts @@ -1,6 +1,8 @@ +import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types'; import { Fr } from '@aztec/foundation/curves/bn254'; +import type { L2TipId, L2Tips } from '@aztec/stdlib/block'; -import { OriginState, annotateFact, classifyOriginState } from './origin_state.js'; +import { OriginState, annotateFact, cappedTipBlockNumbers, classifyOriginState } from './origin_state.js'; describe('classifyOriginState', () => { const tips = { provenBlockNumber: 10, finalizedBlockNumber: 5 }; @@ -41,3 +43,34 @@ describe('annotateFact', () => { expect(annotated).toEqual({ factTypeId, payload, originBlock: undefined }); }); }); + +describe('cappedTipBlockNumbers', () => { + const tipId = (n: number): L2TipId => ({ + block: { number: BlockNumber(n), hash: '' }, + checkpoint: { number: CheckpointNumber(0), hash: '' }, + }); + const makeL2Tips = (finalized: number, proven: number): L2Tips => ({ + proposed: { number: BlockNumber(proven), hash: '' }, + checkpointed: tipId(proven), + proven: tipId(proven), + finalized: tipId(finalized), + }); + + it('passes the tips through unchanged when the anchor is at or above the proven tip', () => { + expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 20)).toEqual({ provenBlockNumber: 10, finalizedBlockNumber: 5 }); + expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 10)).toEqual({ provenBlockNumber: 10, finalizedBlockNumber: 5 }); + }); + + it('caps the proven tip at the anchor while leaving an already-lower finalized tip alone', () => { + expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 7)).toEqual({ provenBlockNumber: 7, finalizedBlockNumber: 5 }); + }); + + it('caps both tips at the anchor when the anchor is below the finalized tip', () => { + expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 3)).toEqual({ provenBlockNumber: 3, finalizedBlockNumber: 3 }); + }); + + it('reports an origin block above the anchor as Pending', () => { + const tips = cappedTipBlockNumbers(makeL2Tips(5, 10), 6); + expect(classifyOriginState(7, tips)).toBe(OriginState.Pending); + }); +}); diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.ts index 71924f4f64a7..d0007da4ec2a 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.ts @@ -1,4 +1,5 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; +import type { L2Tips } from '@aztec/stdlib/block'; import type { FactCollectionKey, OriginBlock } from './fact_store_keys.js'; import type { Fact } from './stored_fact.js'; @@ -20,6 +21,21 @@ export enum OriginState { /** The two chain-tip block numbers needed to classify an origin block (`finalized <= proven` always holds). */ export type TipBlockNumbers = { provenBlockNumber: number; finalizedBlockNumber: number }; +/** + * Projects the live chain tips to the block numbers used for classification, capped at the anchor block. + * + * A utility execution reads against a fixed anchor block, and every other node query in the oracle is bounded by it. + * Capping the proven/finalized tips at the anchor keeps origin-state consistent with that view and deterministic + * across runs: an origin block at or before the anchor classifies exactly as it would against the live tips, while an + * origin block above the anchor is reported `Pending` rather than trusting tips that look past the anchor. + */ +export function cappedTipBlockNumbers(tips: L2Tips, anchorBlockNumber: number): TipBlockNumbers { + return { + provenBlockNumber: Math.min(tips.proven.block.number, anchorBlockNumber), + finalizedBlockNumber: Math.min(tips.finalized.block.number, anchorBlockNumber), + }; +} + /** A retractable fact's origin block (the record-input coordinates) annotated with that block's current chain state. */ export type RetractableFactOrigin = OriginBlock & { blockState: OriginState }; From ae3a783e1e89c867a398aaffef0c08a0a5f8d0e7 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 25 Jun 2026 11:19:00 +0000 Subject: [PATCH 148/197] implemented --- .../src/messages/processing/offchain/mod.nr | 6 +- .../messages/processing/offchain/reception.nr | 141 +++++++++++++----- 2 files changed, 106 insertions(+), 41 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr index 37cc3c887fa5..91a0500ae492 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/mod.nr @@ -25,8 +25,7 @@ pub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16; /// of, etc. /// /// The only current implementation of an [`OffchainInboxSync`] is [`sync_inbox`], which manages an inbox with -/// expiration -/// based eviction and automatic transaction context resolution. +/// expiration and finality-based eviction and automatic transaction context resolution. pub type OffchainInboxSync = unconstrained fn( /* contract_address */AztecAddress, /* scope */ AztecAddress) -> EphemeralArray; @@ -40,7 +39,8 @@ pub type OffchainInboxSync = unconstrained fn( /// Messages are processed when their originating transaction is found onchain (providing the context needed to /// validate resulting notes and events). /// -/// Messages are kept in the inbox until they expire. The expiration is set to `anchor_block_timestamp + MAX_MSG_TTL` +/// Messages are eventually removed from the inbox: an unprocessed message once its TTL (`anchor_block_timestamp + +/// MAX_MSG_TTL`) elapses, and a processed message once the block its transaction was found in finalizes. /// /// Processing order is not guaranteed. pub unconstrained fn receive( diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr index 3b7696b4ca6d..9a79aa944cbb 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain/reception.nr @@ -15,7 +15,7 @@ //! | | tx block re-orged | | //! +-----------+ +-----------+ //! | | -//! | TTL expired | TTL expired +//! | TTL expired | tx block finalized //! v v //! +---------------------------------------------------------+ //! | TERMINATED (process ends) | @@ -28,9 +28,11 @@ //! message is tx-less; see below). While the reception process is in this state, it keeps looking for the // transaction onchain. //! - **Processed**: the message has been handed off for processing. If there weren't reorgs, reaching this state would -//! be equivalent to terminating the reception process. Since reorgs are a possibility, this state is not terminal. -//! - **Terminated**: the message has reached its TTL which means nothing else can be done with it. This is the -//! terminal state of this process. +//! be equivalent to terminating the reception process. Since reorgs are a possibility, this state is not terminal +//! until the block the originating transaction was found in finalizes. +//! - **Terminated**: nothing else can be done with the message, either because its originating transaction never +//! appeared within the TTL, or because the block it was processed in has finalized. This is the terminal state of +//! this process. //! //! ## Transitions (each evaluated by [`OffchainReception::step`]) //! @@ -38,9 +40,10 @@ //! transaction context) is queued to have its actual contents processed (which can lead for example to the discovery //! of notes and events). //! - **Processed -> Received**: the block where the message transaction was originally found is re-orged out. -//! - **Received -> Terminated**: the message TTL has elapsed (see below), so the message is no longer processable. -//! - **Processed -> Terminated**: the message TTL has elapsed (see below), so the effects of its processing are -//! permanent. +//! - **Received -> Terminated**: the message TTL has elapsed (see below), so the originating transaction can no longer +//! appear and the message is no longer processable. +//! - **Processed -> Terminated**: the block the originating transaction was found in has finalized, so the effects of +//! its processing are permanent and reorg-proof. //! //! # Message reception lifecycle and the TTL //! @@ -50,15 +53,13 @@ //! window (plus a safety margin of 2 hours) has elapsed the originating transaction can no longer appear, and it is //! safe to stop looking for it. //! -//! Already-processed receptions reuse the same TTL: we could instead wait for the block that included the transaction -//! to finalize, but we currently do not have the primitives to reliably get that information. +//! The TTL only matters for unprocessed messages. Already-processed message receptions complete when the block that +//! included the originating transaction finalizes, which is exactly when the processing becomes reorg-proof. //! //! # Current limitations, future plans //! //! - Tx-less messages never reach `Processed` and are only ever removed by expiry. This will be supported in the //! future. -//! - Already-processed receptions stay active longer than needed. As discussed, we need access to block finality -//! information to properly implement that case, which will be added in the future. //! //! # Implementation //! @@ -80,15 +81,14 @@ //! Note that since this fact is retractable, a reorg dropping said block would result in the fact being automatically //! removed by PXE, effectively pushing the reception process back to `RECEIVED` state. //! -//! To determine in which state of the reception process we are we just need to analyze the recorded facts available -//! in combination with the TTL: +//! To determine in which state of the reception process we are we just analyze the recorded facts: //! -//! - If the TTL has elapsed, we reached the end of the process and the [fact collection](crate::facts::FactCollection) -//! can (and should) be deleted. -//! - Otherwise: -//! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state and there is nothing to do. -//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state, so we need to check if the -//! message transaction is now available onchain, and if so, exercise the RECEIVED->PROCESSED transition. +//! - If there is an `OFFCHAIN_MESSAGE_PROCESSED` fact we are in PROCESSED state. Once that fact's origin block has +//! finalized the processing is reorg-proof, so the [fact collection](crate::facts::FactCollection) can (and should) +//! be deleted; until then there is nothing to do. +//! - If there is only an `OFFCHAIN_MESSAGE_RECEIVED` fact we are in RECEIVED state, so we check if the message +//! transaction is now available onchain, and if so, exercise the RECEIVED->PROCESSED transition. Otherwise, once the +//! TTL has elapsed the originating transaction can no longer appear and the collection can (and should) be deleted. //! //! The PROCESSED->RECEIVED transition is transparently handled by PXE: if a re-org caused the message transaction to //! fall off the chain, the `OFFCHAIN_MESSAGE_PROCESSED` fact disappears, taking us back to the RECEIVED state. @@ -206,13 +206,11 @@ impl OffchainReception { maybe_resolved_tx: Option, now: u64, ) -> Option { - // TODO(@mverzilli): we could annotate retractable facts as "final" when their corresponding blocks are below - // the final tip. Then we could use that as termination condition instead of relying on timestamp arithmetics. let message = self.read_message(); - let expired = now > message.anchor_block_timestamp + MAX_MSG_TTL; - let already_processed = self.collection.facts.any(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED); + let processed_fact = self.collection.facts.find(|f: Fact| f.fact_type_id == OFFCHAIN_MESSAGE_PROCESSED); - if !already_processed & maybe_resolved_tx.is_some() { + if processed_fact.is_none() & maybe_resolved_tx.is_some() { + // Received -> Processed: the originating tx is onchain. let resolved = maybe_resolved_tx.unwrap(); self.mark_processed(resolved.block_number, resolved.block_hash); let message_context = MessageContext { @@ -223,10 +221,19 @@ impl OffchainReception { Option::some( OffchainMessageWithContext { message_ciphertext: message.ciphertext, message_context }, ) - } else if expired { - self.terminate(); + } else if processed_fact.is_some() { + if processed_fact.unwrap().origin_block.unwrap().block_state.is_finalized() { + // Processed -> Terminated: once the marker's origin block finalizes, the processing is reorg-proof and + // the reception is complete. Until then we wait: a reorg dropping that block removes the retractable + // marker and PXE pushes us back to Received. + self.terminate(); + } Option::none() } else { + // Received -> Terminated: the TTL caps how long we keep looking for the originating tx. + if now > message.anchor_block_timestamp + MAX_MSG_TTL { + self.terminate(); + } Option::none() } } @@ -305,17 +312,23 @@ mod test { OffchainMessage { ciphertext: BoundedVec::new(), recipient, tx_hash, anchor_block_timestamp } } - /// Builds the resolved-tx context PXE would return for `tx_hash`. - fn resolved_tx(tx_hash: Field) -> ResolvedTx { + /// Builds the resolved-tx context PXE would return for `tx_hash`, found in `block_number`. + fn resolved_tx_at_block(tx_hash: Field, block_number: u32) -> ResolvedTx { ResolvedTx { tx_hash, unique_note_hashes_in_tx: BoundedVec::new(), first_nullifier_in_tx: 0, - block_number: 1, + block_number, block_hash: 0, } } + /// Builds a resolved-tx context found in a low block, which TXE (proven == finalized == latest) reports as + /// `Finalized`. + fn resolved_tx(tx_hash: Field) -> ResolvedTx { + resolved_tx_at_block(tx_hash, 1) + } + #[test] unconstrained fn expired_reception_is_terminated() { let (env, scope) = setup(); @@ -376,6 +389,8 @@ mod test { let (env, scope) = setup(); let tx_hash = random(); let msg = make_msg(scope, Option::some(tx_hash), 0); + // A future origin block stays unfinalized, so the reception lingers in Processed across steps. + let future_block = env.last_block_number() + 100; env.utility_context(|context| { let address = context.this_address(); @@ -383,18 +398,21 @@ mod test { // First step processes the message. let reception = OffchainReception::load_all(address, scope).get(0); - assert(reception.step(Option::some(resolved_tx(tx_hash)), 100).is_some()); + assert(reception.step(Option::some(resolved_tx_at_block(tx_hash, future_block)), 100).is_some()); assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); - // Second step (still resolved, not expired) recognizes it as processed and does not re-push it. + // Second step (still resolved, not finalized) recognizes it as processed and does not re-push it. let reloaded = OffchainReception::load_all(address, scope).get(0); - assert(reloaded.step(Option::some(resolved_tx(tx_hash)), 100).is_none(), "already processed"); + assert( + reloaded.step(Option::some(resolved_tx_at_block(tx_hash, future_block)), 100).is_none(), + "already processed", + ); assert(OffchainReception::is_active(address, scope, msg), "processed reception should still be active"); }); } #[test] - unconstrained fn expired_resolved_reception_is_processed_once_before_termination() { + unconstrained fn processed_reception_terminates_once_its_origin_block_finalizes() { let (env, scope) = setup(); let tx_hash = random(); let msg = make_msg(scope, Option::some(tx_hash), 0); @@ -403,18 +421,65 @@ mod test { let address = context.this_address(); OffchainReception::init(address, msg); - // Expired but resolved: the message is processed once (not terminated yet). + // Process the message against a finalized block. let reception = OffchainReception::load_all(address, scope).get(0); - assert(reception.step(Option::some(resolved_tx(tx_hash)), MAX_MSG_TTL + 1).is_some()); + assert(reception.step(Option::some(resolved_tx(tx_hash)), 100).is_some()); assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); - // Next step: still expired and now processed, so the reception is terminated. + // Next step, still well within the TTL: a finalized origin block makes the processing reorg-proof, so the + // reception terminates regardless of the TTL. let reloaded = OffchainReception::load_all(address, scope).get(0); - assert(reloaded.step(Option::some(resolved_tx(tx_hash)), MAX_MSG_TTL + 1).is_none()); + assert(reloaded.step(Option::some(resolved_tx(tx_hash)), 100).is_none()); assert( !OffchainReception::is_active(address, scope, msg), - "expired processed reception is terminated on the next step", + "finalized processed reception should be terminated", + ); + }); + } + + #[test] + unconstrained fn unfinalized_processed_reception_survives_past_the_ttl() { + let (env, scope) = setup(); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), 0); + // A future origin block never finalizes here, so the reception must not be terminated by the TTL. + let future_block = env.last_block_number() + 100; + + env.utility_context(|context| { + let address = context.this_address(); + OffchainReception::init(address, msg); + + let reception = OffchainReception::load_all(address, scope).get(0); + assert(reception.step(Option::some(resolved_tx_at_block(tx_hash, future_block)), 100).is_some()); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); + + // Past the TTL, but the origin block has not finalized: the reception stays active. The TTL no longer + // governs an already-processed reception. + let reloaded = OffchainReception::load_all(address, scope).get(0); + assert(reloaded.step(Option::some(resolved_tx_at_block(tx_hash, future_block)), MAX_MSG_TTL + 1).is_none()); + assert( + OffchainReception::is_active(address, scope, msg), + "unfinalized processed reception should survive past the TTL", ); }); } + + #[test] + unconstrained fn expired_reception_is_still_processed_when_its_tx_resolves() { + let (env, scope) = setup(); + let tx_hash = random(); + let msg = make_msg(scope, Option::some(tx_hash), 0); + + env.utility_context(|context| { + let address = context.this_address(); + OffchainReception::init(address, msg); + + // Even past the TTL, a freshly resolved tx is still handed off: expiry only caps the search for the + // originating tx, it does not pre-empt processing once that tx is found. + let reception = OffchainReception::load_all(address, scope).get(0); + assert(reception.step(Option::some(resolved_tx(tx_hash)), MAX_MSG_TTL + 1).is_some()); + assert(OffchainReception::is_processed(address, scope, msg), "should be processed"); + assert(OffchainReception::is_active(address, scope, msg), "just-processed reception should stay active"); + }); + } } From 6ef9e28fcb5716d47c88627223f187c1a6090092 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 25 Jun 2026 11:36:25 +0000 Subject: [PATCH 149/197] chore: regenerate token/amm expand snapshots for fact origin-block state Adding the OriginState / RetractableFactOrigin symbols and the Fact.origin_block field perturbs nargo expand's unsorted hashmap iteration order, so the token and amm expanded snapshots re-emit identical interface functions in a new order (noir-lang/noir#12933). Order-only drift: sorted added/removed line multisets are byte-identical (token 51/51, amm 8/8), no body or selector changed. --- .../amm_contract/snapshots__expanded.snap | 16 +-- .../token_contract/snapshots__expanded.snap | 102 +++++++++--------- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap index 6c7b1a8dad95..2c1cdc435e25 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/amm_contract/snapshots__expanded.snap @@ -1145,7 +1145,7 @@ pub contract AMM { returns_hash.get_preimage() } - pub fn swap_tokens_for_exact_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_out: u128, amount_in_max: u128, authwit_nonce: Field) { + pub fn swap_exact_tokens_for_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_in: u128, amount_out_min: u128, authwit_nonce: Field) { let mut serialized_params: [Field; 5] = [0_Field; 5]; let mut offset: u32 = 0_u32; let serialized_member: [Field; 1] = ::serialize(token_in); @@ -1160,13 +1160,13 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_out); + let serialized_member: [Field; 1] = ::serialize(amount_in); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_in_max); + let serialized_member: [Field; 1] = ::serialize(amount_out_min); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1178,14 +1178,14 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2620890703_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2960373586_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); returns_hash.get_preimage() } - pub fn swap_exact_tokens_for_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_in: u128, amount_out_min: u128, authwit_nonce: Field) { + pub fn swap_tokens_for_exact_tokens(self, token_in: AztecAddress, token_out: AztecAddress, amount_out: u128, amount_in_max: u128, authwit_nonce: Field) { let mut serialized_params: [Field; 5] = [0_Field; 5]; let mut offset: u32 = 0_u32; let serialized_member: [Field; 1] = ::serialize(token_in); @@ -1200,13 +1200,13 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_in); + let serialized_member: [Field; 1] = ::serialize(amount_out); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount_out_min); + let serialized_member: [Field; 1] = ::serialize(amount_in_max); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1218,7 +1218,7 @@ pub contract AMM { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2960373586_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2620890703_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); diff --git a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap index b13af9550268..5459aa9a9304 100644 --- a/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap +++ b/noir-projects/contract-snapshots/tests/snapshots/expand/token_contract/snapshots__expanded.snap @@ -1109,81 +1109,81 @@ pub contract Token { } } - pub fn constructor(self, admin: AztecAddress, name: str<31>, symbol: str<31>, decimals: u8) { - let mut serialized_params: [Field; 64] = [0_Field; 64]; + pub fn mint_to_public(self, to: AztecAddress, amount: u128) { + let mut serialized_params: [Field; 2] = [0_Field; 2]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(admin); + let serialized_member: [Field; 1] = ::serialize(to); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(name); - let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; + let serialized_member: [Field; 1] = ::serialize(amount); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(symbol); - let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1159421870_Field); + // Safety: comment added by `nargo expand` + unsafe { + aztec::context::calls::PublicCall::<14, 2, ()>::new(self.address, selector, "mint_to_public", serialized_params).call(self.context) + } + } + + pub fn finalize_transfer_to_private(self, amount: u128, partial_note: PartialUintNote) { + let mut serialized_params: [Field; 2] = [0_Field; 2]; + let mut offset: u32 = 0_u32; + let serialized_member: [Field; 1] = ::serialize(amount); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(decimals); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 1] = ::serialize(partial_note); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1578322623_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2599745508_Field); // Safety: comment added by `nargo expand` unsafe { - aztec::context::calls::PublicCall::<11, 64, ()>::new(self.address, selector, "constructor", serialized_params).call(self.context) + aztec::context::calls::PublicCall::<28, 2, ()>::new(self.address, selector, "finalize_transfer_to_private", serialized_params).call(self.context) } } - pub fn mint_to_public(self, to: AztecAddress, amount: u128) { - let mut serialized_params: [Field; 2] = [0_Field; 2]; + pub fn constructor(self, admin: AztecAddress, name: str<31>, symbol: str<31>, decimals: u8) { + let mut serialized_params: [Field; 64] = [0_Field; 64]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(to); + let serialized_member: [Field; 1] = ::serialize(admin); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(amount); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(name); + let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1159421870_Field); - // Safety: comment added by `nargo expand` - unsafe { - aztec::context::calls::PublicCall::<14, 2, ()>::new(self.address, selector, "mint_to_public", serialized_params).call(self.context) - } - } - - pub fn finalize_transfer_to_private(self, amount: u128, partial_note: PartialUintNote) { - let mut serialized_params: [Field; 2] = [0_Field; 2]; - let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(amount); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 31] = as aztec::protocol::traits::Serialize>::serialize(symbol); + let serialized_member_len: u32 = as aztec::protocol::traits::Serialize>::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let serialized_member: [Field; 1] = ::serialize(partial_note); - let serialized_member_len: u32 = ::N; + let serialized_member: [Field; 1] = ::serialize(decimals); + let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2599745508_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1578322623_Field); // Safety: comment added by `nargo expand` unsafe { - aztec::context::calls::PublicCall::<28, 2, ()>::new(self.address, selector, "finalize_transfer_to_private", serialized_params).call(self.context) + aztec::context::calls::PublicCall::<11, 64, ()>::new(self.address, selector, "constructor", serialized_params).call(self.context) } } @@ -1209,6 +1209,15 @@ pub contract Token { } } + pub fn _reduce_total_supply(self, amount: u128) { + let serialized_params: [Field; 1] = ::serialize(amount); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2253390209_Field); + // Safety: comment added by `nargo expand` + unsafe { + aztec::context::calls::PublicCall::<20, 1, ()>::new(self.address, selector, "_reduce_total_supply", serialized_params).call(self.context) + } + } + pub fn transfer_in_public(self, from: AztecAddress, to: AztecAddress, amount: u128, authwit_nonce: Field) { let mut serialized_params: [Field; 4] = [0_Field; 4]; let mut offset: u32 = 0_u32; @@ -1243,15 +1252,6 @@ pub contract Token { } } - pub fn _reduce_total_supply(self, amount: u128) { - let serialized_params: [Field; 1] = ::serialize(amount); - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2253390209_Field); - // Safety: comment added by `nargo expand` - unsafe { - aztec::context::calls::PublicCall::<20, 1, ()>::new(self.address, selector, "_reduce_total_supply", serialized_params).call(self.context) - } - } - pub fn set_admin(self, new_admin: AztecAddress) { let serialized_params: [Field; 1] = ::serialize(new_admin); let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(2519591682_Field); @@ -1335,10 +1335,10 @@ pub contract Token { } impl CallSelf<&mut aztec::context::PrivateContext> { - pub fn _recurse_subtract_balance(self, account: AztecAddress, amount: u128) -> u128 { + pub fn transfer(self, to: AztecAddress, amount: u128) { let mut serialized_params: [Field; 2] = [0_Field; 2]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(account); + let serialized_member: [Field; 1] = ::serialize(to); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1350,17 +1350,17 @@ pub contract Token { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1536394406_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1968158567_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); returns_hash.get_preimage() } - pub fn transfer(self, to: AztecAddress, amount: u128) { + pub fn _recurse_subtract_balance(self, account: AztecAddress, amount: u128) -> u128 { let mut serialized_params: [Field; 2] = [0_Field; 2]; let mut offset: u32 = 0_u32; - let serialized_member: [Field; 1] = ::serialize(to); + let serialized_member: [Field; 1] = ::serialize(account); let serialized_member_len: u32 = ::N; for i in 0_u32..serialized_member_len { serialized_params[i + offset] = serialized_member[i]; @@ -1372,7 +1372,7 @@ pub contract Token { serialized_params[i + offset] = serialized_member[i]; }; offset = offset + serialized_member_len; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1968158567_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1536394406_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, false); @@ -1711,18 +1711,18 @@ pub contract Token { } impl CallSelfStatic<&mut aztec::context::PrivateContext> { - pub fn private_get_name(self) -> FieldCompressedString { + pub fn private_get_symbol(self) -> FieldCompressedString { let serialized_params: [Field; 0] = []; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(3516522363_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1295669651_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, true); returns_hash.get_preimage() } - pub fn private_get_symbol(self) -> FieldCompressedString { + pub fn private_get_name(self) -> FieldCompressedString { let serialized_params: [Field; 0] = []; - let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(1295669651_Field); + let selector: aztec::protocol::abis::function_selector::FunctionSelector = ::from_field(3516522363_Field); let args_hash: Field = aztec::hash::hash_args(serialized_params); aztec::oracle::execution_cache::store(serialized_params, args_hash); let returns_hash: aztec::context::ReturnsHash = self.context.call_private_function_with_args_hash(self.address, selector, args_hash, true); From 3e98708ea0fef0c0b14069627f63e47942cbad6d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 25 Jun 2026 11:55:52 +0000 Subject: [PATCH 150/197] refactor: rename PXE origin-state types and trim docs per review Round-2 PR feedback on the PXE fact origin-state classifier: - OriginState -> OriginBlockState - annotateFact -> toFactWithOriginState - AnnotatedFact -> FactWithOriginState - AnnotatedFactCollection -> FactCollectionWithOriginState - cappedTipBlockNumbers -> anchoredTipBlockNumbers - shorten the OriginBlockState and RetractableFactOrigin doc comments Names only on the TS side; the wire format is positional, so the Noir OriginState wrapper is unaffected. --- .../noir-structs/fact_collection.ts | 10 ++--- .../oracle/utility_execution_oracle.ts | 6 +-- .../storage/fact_store/fact_service.test.ts | 4 +- .../src/storage/fact_store/fact_service.ts | 14 +++---- .../pxe/src/storage/fact_store/index.ts | 10 ++--- .../storage/fact_store/origin_state.test.ts | 41 +++++++++++-------- .../src/storage/fact_store/origin_state.ts | 31 +++++++------- 7 files changed, 60 insertions(+), 56 deletions(-) diff --git a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts index 484ba47a0207..b6aa2929fea1 100644 --- a/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts +++ b/yarn-project/pxe/src/contract_function_simulator/noir-structs/fact_collection.ts @@ -1,8 +1,8 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import type { AnnotatedFact, RetractableFactOrigin } from '../../storage/fact_store/index.js'; -import { OriginState } from '../../storage/fact_store/index.js'; +import type { FactWithOriginState, RetractableFactOrigin } from '../../storage/fact_store/index.js'; +import { OriginBlockState } from '../../storage/fact_store/index.js'; import type { EphemeralArrayService } from '../ephemeral_array_service.js'; import { EphemeralArray } from './ephemeral_array.js'; import type { Fact } from './fact.js'; @@ -28,7 +28,7 @@ export function toNoirFactCollection( scope: AztecAddress, factCollectionTypeId: Fr, factCollectionId: Fr, - facts: AnnotatedFact[], + facts: FactWithOriginState[], ): FactCollection { return { contractAddress, @@ -38,7 +38,7 @@ export function toNoirFactCollection( facts: EphemeralArray.fromValues( service, facts.map( - (fact: AnnotatedFact): Fact => ({ + (fact: FactWithOriginState): Fact => ({ factTypeId: fact.factTypeId, payload: EphemeralArray.fromValues(service, fact.payload), originBlock: fact.originBlock @@ -46,7 +46,7 @@ export function toNoirFactCollection( : Option.none({ blockNumber: 0, blockHash: Fr.ZERO, - blockState: OriginState.Pending, + blockState: OriginBlockState.Pending, }), }), ), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index cff406f392fd..b477dcb742a2 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -50,7 +50,7 @@ import { ORACLE_VERSION_MAJOR } from '../../oracle_version.js'; import type { AddressStore } from '../../storage/address_store/address_store.js'; import type { CapsuleService } from '../../storage/capsule_store/capsule_service.js'; import type { ContractStore } from '../../storage/contract_store/contract_store.js'; -import { FactCollectionKey, FactCollectionTypeKey, cappedTipBlockNumbers } from '../../storage/fact_store/index.js'; +import { FactCollectionKey, FactCollectionTypeKey, anchoredTipBlockNumbers } from '../../storage/fact_store/index.js'; import type { FactService, OriginBlock } from '../../storage/fact_store/index.js'; import type { NoteStore } from '../../storage/note_store/note_store.js'; import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js'; @@ -757,7 +757,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); - const tips = cappedTipBlockNumbers(await this.l2TipsStore.getL2Tips(), this.anchorBlockHeader.getBlockNumber()); + const tips = anchoredTipBlockNumbers(await this.l2TipsStore.getL2Tips(), this.anchorBlockHeader.getBlockNumber()); const collection = await this.factService.getFactCollection( new FactCollectionKey(contractAddress, scope, factCollectionTypeId, factCollectionId), tips, @@ -784,7 +784,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra factCollectionTypeId: Fr, ): Promise> { this.#assertOwnContract(contractAddress); - const tips = cappedTipBlockNumbers(await this.l2TipsStore.getL2Tips(), this.anchorBlockHeader.getBlockNumber()); + const tips = anchoredTipBlockNumbers(await this.l2TipsStore.getL2Tips(), this.anchorBlockHeader.getBlockNumber()); const collections = await this.factService.getFactCollectionsByType( new FactCollectionTypeKey(contractAddress, scope, factCollectionTypeId), tips, diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts index 77464e1ea44e..a03da8d95ae9 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.test.ts @@ -6,7 +6,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address'; import { FactService } from './fact_service.js'; import { FactStore } from './fact_store.js'; import { FactCollectionKey, FactCollectionTypeKey } from './fact_store_keys.js'; -import { OriginState, type TipBlockNumbers } from './origin_state.js'; +import { OriginBlockState, type TipBlockNumbers } from './origin_state.js'; describe('FactService', () => { const makeTips = (finalized: number, proven: number): TipBlockNumbers => ({ @@ -98,7 +98,7 @@ describe('FactService', () => { { factTypeId, payload: [factPayload], - originBlock: { blockNumber: 4, blockHash, blockState: OriginState.Finalized }, + originBlock: { blockNumber: 4, blockHash, blockState: OriginBlockState.Finalized }, }, ]); }); diff --git a/yarn-project/pxe/src/storage/fact_store/fact_service.ts b/yarn-project/pxe/src/storage/fact_store/fact_service.ts index 7e0a9797030d..8f4485cce7a3 100644 --- a/yarn-project/pxe/src/storage/fact_store/fact_service.ts +++ b/yarn-project/pxe/src/storage/fact_store/fact_service.ts @@ -5,10 +5,10 @@ import { assertAllowedScope } from '../allowed_scopes.js'; import type { FactStore } from './fact_store.js'; import type { FactCollectionKey, FactCollectionTypeKey, OriginBlock } from './fact_store_keys.js'; import { - type AnnotatedFact, - type AnnotatedFactCollection, + type FactCollectionWithOriginState, + type FactWithOriginState, type TipBlockNumbers, - annotateFact, + toFactWithOriginState, } from './origin_state.js'; import type { Fact } from './stored_fact.js'; @@ -44,7 +44,7 @@ export class FactService { factCollectionKey: FactCollectionKey, tips: TipBlockNumbers, jobId: string, - ): Promise { + ): Promise { assertAllowedScope(factCollectionKey.scope, this.allowedScopes); const collection = await this.factStore.getFactCollection(factCollectionKey, jobId); if (!collection) { @@ -57,13 +57,13 @@ export class FactService { factCollectionTypeKey: FactCollectionTypeKey, tips: TipBlockNumbers, jobId: string, - ): Promise { + ): Promise { assertAllowedScope(factCollectionTypeKey.scope, this.allowedScopes); const collections = await this.factStore.getFactCollectionsByType(factCollectionTypeKey, jobId); return collections.map(collection => ({ key: collection.key, facts: this.#annotate(collection.facts, tips) })); } - #annotate(facts: Fact[], tips: TipBlockNumbers): AnnotatedFact[] { - return facts.map(fact => annotateFact(fact, tips)); + #annotate(facts: Fact[], tips: TipBlockNumbers): FactWithOriginState[] { + return facts.map(fact => toFactWithOriginState(fact, tips)); } } diff --git a/yarn-project/pxe/src/storage/fact_store/index.ts b/yarn-project/pxe/src/storage/fact_store/index.ts index 26fdc7a05d5f..4c5a5f813e3e 100644 --- a/yarn-project/pxe/src/storage/fact_store/index.ts +++ b/yarn-project/pxe/src/storage/fact_store/index.ts @@ -3,12 +3,12 @@ export { FactService } from './fact_service.js'; export { FactCollectionKey, FactCollectionTypeKey, type OriginBlock } from './fact_store_keys.js'; export type { Fact } from './stored_fact.js'; export { - OriginState, + OriginBlockState, classifyOriginState, - cappedTipBlockNumbers, - annotateFact, + anchoredTipBlockNumbers, + toFactWithOriginState, type TipBlockNumbers, type RetractableFactOrigin, - type AnnotatedFact, - type AnnotatedFactCollection, + type FactWithOriginState, + type FactCollectionWithOriginState, } from './origin_state.js'; diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts index e3b76c17a5e9..914ea6a25288 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts @@ -2,49 +2,54 @@ import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types'; import { Fr } from '@aztec/foundation/curves/bn254'; import type { L2TipId, L2Tips } from '@aztec/stdlib/block'; -import { OriginState, annotateFact, cappedTipBlockNumbers, classifyOriginState } from './origin_state.js'; +import { + OriginBlockState, + anchoredTipBlockNumbers, + classifyOriginState, + toFactWithOriginState, +} from './origin_state.js'; describe('classifyOriginState', () => { const tips = { provenBlockNumber: 10, finalizedBlockNumber: 5 }; it('classifies a block at or below the finalized tip as Finalized', () => { - expect(classifyOriginState(5, tips)).toBe(OriginState.Finalized); - expect(classifyOriginState(3, tips)).toBe(OriginState.Finalized); + expect(classifyOriginState(5, tips)).toBe(OriginBlockState.Finalized); + expect(classifyOriginState(3, tips)).toBe(OriginBlockState.Finalized); }); it('classifies a block above finalized but at or below proven as Proven', () => { - expect(classifyOriginState(6, tips)).toBe(OriginState.Proven); - expect(classifyOriginState(10, tips)).toBe(OriginState.Proven); + expect(classifyOriginState(6, tips)).toBe(OriginBlockState.Proven); + expect(classifyOriginState(10, tips)).toBe(OriginBlockState.Proven); }); it('classifies a block above the proven tip as Pending', () => { - expect(classifyOriginState(11, tips)).toBe(OriginState.Pending); - expect(classifyOriginState(12, tips)).toBe(OriginState.Pending); + expect(classifyOriginState(11, tips)).toBe(OriginBlockState.Pending); + expect(classifyOriginState(12, tips)).toBe(OriginBlockState.Pending); }); }); -describe('annotateFact', () => { +describe('toFactWithOriginState', () => { const tips = { provenBlockNumber: 10, finalizedBlockNumber: 5 }; const factTypeId = new Fr(7); const payload = [new Fr(1), new Fr(2)]; it('annotates a retractable fact with its origin block state', () => { const blockHash = new Fr(99); - const annotated = annotateFact({ factTypeId, payload, originBlock: { blockNumber: 3, blockHash } }, tips); + const annotated = toFactWithOriginState({ factTypeId, payload, originBlock: { blockNumber: 3, blockHash } }, tips); expect(annotated).toEqual({ factTypeId, payload, - originBlock: { blockNumber: 3, blockHash, blockState: OriginState.Finalized }, + originBlock: { blockNumber: 3, blockHash, blockState: OriginBlockState.Finalized }, }); }); it('leaves a non-retractable fact without an origin block', () => { - const annotated = annotateFact({ factTypeId, payload, originBlock: undefined }, tips); + const annotated = toFactWithOriginState({ factTypeId, payload, originBlock: undefined }, tips); expect(annotated).toEqual({ factTypeId, payload, originBlock: undefined }); }); }); -describe('cappedTipBlockNumbers', () => { +describe('anchoredTipBlockNumbers', () => { const tipId = (n: number): L2TipId => ({ block: { number: BlockNumber(n), hash: '' }, checkpoint: { number: CheckpointNumber(0), hash: '' }, @@ -57,20 +62,20 @@ describe('cappedTipBlockNumbers', () => { }); it('passes the tips through unchanged when the anchor is at or above the proven tip', () => { - expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 20)).toEqual({ provenBlockNumber: 10, finalizedBlockNumber: 5 }); - expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 10)).toEqual({ provenBlockNumber: 10, finalizedBlockNumber: 5 }); + expect(anchoredTipBlockNumbers(makeL2Tips(5, 10), 20)).toEqual({ provenBlockNumber: 10, finalizedBlockNumber: 5 }); + expect(anchoredTipBlockNumbers(makeL2Tips(5, 10), 10)).toEqual({ provenBlockNumber: 10, finalizedBlockNumber: 5 }); }); it('caps the proven tip at the anchor while leaving an already-lower finalized tip alone', () => { - expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 7)).toEqual({ provenBlockNumber: 7, finalizedBlockNumber: 5 }); + expect(anchoredTipBlockNumbers(makeL2Tips(5, 10), 7)).toEqual({ provenBlockNumber: 7, finalizedBlockNumber: 5 }); }); it('caps both tips at the anchor when the anchor is below the finalized tip', () => { - expect(cappedTipBlockNumbers(makeL2Tips(5, 10), 3)).toEqual({ provenBlockNumber: 3, finalizedBlockNumber: 3 }); + expect(anchoredTipBlockNumbers(makeL2Tips(5, 10), 3)).toEqual({ provenBlockNumber: 3, finalizedBlockNumber: 3 }); }); it('reports an origin block above the anchor as Pending', () => { - const tips = cappedTipBlockNumbers(makeL2Tips(5, 10), 6); - expect(classifyOriginState(7, tips)).toBe(OriginState.Pending); + const tips = anchoredTipBlockNumbers(makeL2Tips(5, 10), 6); + expect(classifyOriginState(7, tips)).toBe(OriginBlockState.Pending); }); }); diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.ts index d0007da4ec2a..7eaec0136ac4 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.ts @@ -5,14 +5,13 @@ import type { FactCollectionKey, OriginBlock } from './fact_store_keys.js'; import type { Fact } from './stored_fact.js'; /** - * Chain state of a retractable fact's origin block, mirroring the L2 chain tips. The numeric values are the wire - * discriminants shared with the Noir `OriginState` wrapper. + * Chain state of a retractable fact's origin block, mirroring the L2 chain tips. * - * - `Pending`: above the proven tip; still reorg-able. - * - `Proven`: proof on L1 but not yet finalized — confidence, not safety. - * - `Finalized`: L1-finalized and therefore irreversible (the only retraction-proof state). + * - `Pending`: above the proven tip. + * - `Proven`: proof on L1 but not yet finalized. + * - `Finalized`: L1-finalized. */ -export enum OriginState { +export enum OriginBlockState { Pending = 1, Proven = 2, Finalized = 3, @@ -29,38 +28,38 @@ export type TipBlockNumbers = { provenBlockNumber: number; finalizedBlockNumber: * across runs: an origin block at or before the anchor classifies exactly as it would against the live tips, while an * origin block above the anchor is reported `Pending` rather than trusting tips that look past the anchor. */ -export function cappedTipBlockNumbers(tips: L2Tips, anchorBlockNumber: number): TipBlockNumbers { +export function anchoredTipBlockNumbers(tips: L2Tips, anchorBlockNumber: number): TipBlockNumbers { return { provenBlockNumber: Math.min(tips.proven.block.number, anchorBlockNumber), finalizedBlockNumber: Math.min(tips.finalized.block.number, anchorBlockNumber), }; } -/** A retractable fact's origin block (the record-input coordinates) annotated with that block's current chain state. */ -export type RetractableFactOrigin = OriginBlock & { blockState: OriginState }; +/** A retractable fact's origin block annotated with that block's current chain state. */ +export type RetractableFactOrigin = OriginBlock & { blockState: OriginBlockState }; /** A fact enriched with origin-block state. `originBlock` is undefined for a non-retractable fact. */ -export type AnnotatedFact = { factTypeId: Fr; payload: Fr[]; originBlock: RetractableFactOrigin | undefined }; +export type FactWithOriginState = { factTypeId: Fr; payload: Fr[]; originBlock: RetractableFactOrigin | undefined }; /** A fact collection whose facts carry origin-block state. */ -export type AnnotatedFactCollection = { key: FactCollectionKey; facts: AnnotatedFact[] }; +export type FactCollectionWithOriginState = { key: FactCollectionKey; facts: FactWithOriginState[] }; /** * Classifies an origin block by number against the chain tips. A surviving retractable fact's origin block is * guaranteed canonical (a reorg would have pruned the fact), so a number comparison is sufficient. */ -export function classifyOriginState(blockNumber: number, tips: TipBlockNumbers): OriginState { +export function classifyOriginState(blockNumber: number, tips: TipBlockNumbers): OriginBlockState { if (blockNumber <= tips.finalizedBlockNumber) { - return OriginState.Finalized; + return OriginBlockState.Finalized; } if (blockNumber <= tips.provenBlockNumber) { - return OriginState.Proven; + return OriginBlockState.Proven; } - return OriginState.Pending; + return OriginBlockState.Pending; } /** Enriches a stored fact with the chain state of its origin block (when retractable). */ -export function annotateFact(fact: Fact, tips: TipBlockNumbers): AnnotatedFact { +export function toFactWithOriginState(fact: Fact, tips: TipBlockNumbers): FactWithOriginState { const originBlock: RetractableFactOrigin | undefined = fact.originBlock ? { blockNumber: fact.originBlock.blockNumber, From 0f84c3c25b79688fa8888f33487b67b4622a4b86 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 25 Jun 2026 12:27:12 +0000 Subject: [PATCH 151/197] refactor: align Noir OriginState rename and TS classifier with review Completes the origin-state rename across the wire: - Noir crate::facts::OriginState -> OriginBlockState (matches the TS enum) - TS classifyOriginState -> classifyOriginBlockState (symmetry with the type) Names only; the wire format is positional, so serialization is unchanged (Noir round-trip and TXE finalized/pending tests pass). --- noir-projects/aztec-nr/aztec/src/facts/mod.nr | 4 +- .../aztec-nr/aztec/src/facts/origin_state.nr | 42 +++++++++---------- .../pxe/src/storage/fact_store/index.ts | 2 +- .../storage/fact_store/origin_state.test.ts | 18 ++++---- .../src/storage/fact_store/origin_state.ts | 4 +- 5 files changed, 35 insertions(+), 35 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/facts/mod.nr b/noir-projects/aztec-nr/aztec/src/facts/mod.nr index 5d332be7b50f..40bc8ceacdcb 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/mod.nr @@ -9,7 +9,7 @@ use crate::oracle::fact_store::{ use crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}}; mod origin_state; -pub use origin_state::OriginState; +pub use origin_state::OriginBlockState; /// The block a retractable fact originates from. #[derive(Deserialize, Eq, Serialize)] @@ -23,7 +23,7 @@ pub struct OriginBlock { pub struct RetractableFactOrigin { pub block_number: u32, pub block_hash: Field, - pub block_state: OriginState, + pub block_state: OriginBlockState, } /// A single immutable fact in a collection. diff --git a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr index 82c832d45c8a..90a5768ea96e 100644 --- a/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr +++ b/noir-projects/aztec-nr/aztec/src/facts/origin_state.nr @@ -4,11 +4,11 @@ use crate::protocol::{traits::{Deserialize, Serialize}, utils::reader::Reader}; /// /// Note: Noir has no enums, so this wraps a `u8` discriminant. #[derive(Serialize)] -pub struct OriginState { +pub struct OriginBlockState { inner: u8, } -impl OriginState { +impl OriginBlockState { pub fn pending() -> Self { Self { inner: 1 } } @@ -47,13 +47,13 @@ impl OriginState { } } -impl Eq for OriginState { +impl Eq for OriginBlockState { fn eq(self, other: Self) -> bool { self.inner == other.inner } } -impl Deserialize for OriginState { +impl Deserialize for OriginBlockState { let N: u32 = ::N; fn deserialize(fields: [Field; Self::N]) -> Self { @@ -67,35 +67,35 @@ impl Deserialize for OriginState { mod test { use crate::protocol::traits::{Deserialize, Serialize}; - use super::OriginState; + use super::OriginBlockState; #[test] fn query_functions_identify_each_state() { - assert(OriginState::pending().is_pending()); - assert(!OriginState::pending().is_proven()); - assert(!OriginState::pending().is_finalized()); + assert(OriginBlockState::pending().is_pending()); + assert(!OriginBlockState::pending().is_proven()); + assert(!OriginBlockState::pending().is_finalized()); - assert(OriginState::proven().is_proven()); - assert(!OriginState::proven().is_pending()); - assert(!OriginState::proven().is_finalized()); + assert(OriginBlockState::proven().is_proven()); + assert(!OriginBlockState::proven().is_pending()); + assert(!OriginBlockState::proven().is_finalized()); - assert(OriginState::finalized().is_finalized()); - assert(!OriginState::finalized().is_pending()); - assert(!OriginState::finalized().is_proven()); + assert(OriginBlockState::finalized().is_finalized()); + assert(!OriginBlockState::finalized().is_pending()); + assert(!OriginBlockState::finalized().is_proven()); } #[test] fn origin_state_roundtrips_through_serialization() { - let pending = OriginState::pending(); - let proven = OriginState::proven(); - let finalized = OriginState::finalized(); - assert(OriginState::deserialize(pending.serialize()) == pending); - assert(OriginState::deserialize(proven.serialize()) == proven); - assert(OriginState::deserialize(finalized.serialize()) == finalized); + let pending = OriginBlockState::pending(); + let proven = OriginBlockState::proven(); + let finalized = OriginBlockState::finalized(); + assert(OriginBlockState::deserialize(pending.serialize()) == pending); + assert(OriginBlockState::deserialize(proven.serialize()) == proven); + assert(OriginBlockState::deserialize(finalized.serialize()) == finalized); } #[test(should_fail_with = "unrecognized origin state")] fn deserializing_invalid_state_fails() { - let _ = OriginState::deserialize([99]); + let _ = OriginBlockState::deserialize([99]); } } diff --git a/yarn-project/pxe/src/storage/fact_store/index.ts b/yarn-project/pxe/src/storage/fact_store/index.ts index 4c5a5f813e3e..f4cb3b9269fa 100644 --- a/yarn-project/pxe/src/storage/fact_store/index.ts +++ b/yarn-project/pxe/src/storage/fact_store/index.ts @@ -4,7 +4,7 @@ export { FactCollectionKey, FactCollectionTypeKey, type OriginBlock } from './fa export type { Fact } from './stored_fact.js'; export { OriginBlockState, - classifyOriginState, + classifyOriginBlockState, anchoredTipBlockNumbers, toFactWithOriginState, type TipBlockNumbers, diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts index 914ea6a25288..cc0b6d2e6957 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.test.ts @@ -5,26 +5,26 @@ import type { L2TipId, L2Tips } from '@aztec/stdlib/block'; import { OriginBlockState, anchoredTipBlockNumbers, - classifyOriginState, + classifyOriginBlockState, toFactWithOriginState, } from './origin_state.js'; -describe('classifyOriginState', () => { +describe('classifyOriginBlockState', () => { const tips = { provenBlockNumber: 10, finalizedBlockNumber: 5 }; it('classifies a block at or below the finalized tip as Finalized', () => { - expect(classifyOriginState(5, tips)).toBe(OriginBlockState.Finalized); - expect(classifyOriginState(3, tips)).toBe(OriginBlockState.Finalized); + expect(classifyOriginBlockState(5, tips)).toBe(OriginBlockState.Finalized); + expect(classifyOriginBlockState(3, tips)).toBe(OriginBlockState.Finalized); }); it('classifies a block above finalized but at or below proven as Proven', () => { - expect(classifyOriginState(6, tips)).toBe(OriginBlockState.Proven); - expect(classifyOriginState(10, tips)).toBe(OriginBlockState.Proven); + expect(classifyOriginBlockState(6, tips)).toBe(OriginBlockState.Proven); + expect(classifyOriginBlockState(10, tips)).toBe(OriginBlockState.Proven); }); it('classifies a block above the proven tip as Pending', () => { - expect(classifyOriginState(11, tips)).toBe(OriginBlockState.Pending); - expect(classifyOriginState(12, tips)).toBe(OriginBlockState.Pending); + expect(classifyOriginBlockState(11, tips)).toBe(OriginBlockState.Pending); + expect(classifyOriginBlockState(12, tips)).toBe(OriginBlockState.Pending); }); }); @@ -76,6 +76,6 @@ describe('anchoredTipBlockNumbers', () => { it('reports an origin block above the anchor as Pending', () => { const tips = anchoredTipBlockNumbers(makeL2Tips(5, 10), 6); - expect(classifyOriginState(7, tips)).toBe(OriginBlockState.Pending); + expect(classifyOriginBlockState(7, tips)).toBe(OriginBlockState.Pending); }); }); diff --git a/yarn-project/pxe/src/storage/fact_store/origin_state.ts b/yarn-project/pxe/src/storage/fact_store/origin_state.ts index 7eaec0136ac4..b7a0fe7934e2 100644 --- a/yarn-project/pxe/src/storage/fact_store/origin_state.ts +++ b/yarn-project/pxe/src/storage/fact_store/origin_state.ts @@ -48,7 +48,7 @@ export type FactCollectionWithOriginState = { key: FactCollectionKey; facts: Fac * Classifies an origin block by number against the chain tips. A surviving retractable fact's origin block is * guaranteed canonical (a reorg would have pruned the fact), so a number comparison is sufficient. */ -export function classifyOriginState(blockNumber: number, tips: TipBlockNumbers): OriginBlockState { +export function classifyOriginBlockState(blockNumber: number, tips: TipBlockNumbers): OriginBlockState { if (blockNumber <= tips.finalizedBlockNumber) { return OriginBlockState.Finalized; } @@ -64,7 +64,7 @@ export function toFactWithOriginState(fact: Fact, tips: TipBlockNumbers): FactWi ? { blockNumber: fact.originBlock.blockNumber, blockHash: fact.originBlock.blockHash, - blockState: classifyOriginState(fact.originBlock.blockNumber, tips), + blockState: classifyOriginBlockState(fact.originBlock.blockNumber, tips), } : undefined; return { factTypeId: fact.factTypeId, payload: fact.payload, originBlock }; From 7f534a91288d2c012eeccc16e545cb796ab5e4e9 Mon Sep 17 00:00:00 2001 From: mverzilli Date: Thu, 25 Jun 2026 13:38:54 +0000 Subject: [PATCH 152/197] chore: regenerate pinned standard contracts and addresses for oracle v31 The oracle major bump (30->31, cc6adabb37) changed the standard contracts' bytecode, but pinned-standard-contracts.tar.gz still held the v30 artifacts. build() extracts those from the tarball and skips recompiling them, so they stayed at v30 and PXE (v31) rejected them during private execution, failing e2e_gov_proposal at SchnorrInitializerlessAccount.entrypoint. Re-pinned the standard contracts at v31 and regenerated the canonical addresses/class IDs to a fixpoint (converged in 3 passes): the version constant is compiled into every contract, so each standard contract's class id and deterministic address shift. Updates: - pinned-standard-contracts.tar.gz (standard contracts now v31) - standard_addresses.nr (aztec-nr + aztec_sublib) - standard_contract_data.ts (addresses, class ids, bytecode hashes) --- .../aztec-nr/aztec/src/standard_addresses.nr | 8 +++--- .../aztec_sublib/src/standard_addresses.nr | 8 +++--- .../pinned-standard-contracts.tar.gz | Bin 1116204 -> 1162718 bytes .../src/standard_contract_data.ts | 24 +++++++++--------- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/standard_addresses.nr b/noir-projects/aztec-nr/aztec/src/standard_addresses.nr index 6c8691eabc07..bce76c1d7ec0 100644 --- a/noir-projects/aztec-nr/aztec/src/standard_addresses.nr +++ b/noir-projects/aztec-nr/aztec/src/standard_addresses.nr @@ -2,17 +2,17 @@ use protocol_types::{address::AztecAddress, traits::FromField}; pub global STANDARD_AUTH_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x0aa7da8bcba8fe32d529a88b9ed88bbbd92bec786030bfe994069078a72c81f5, + 0x121b380530ef1288e225c0a488e251b9c0885e901cce54cfaf6a656c6ce71ee3, ); pub global STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x1fc54b9700679a1a646109cec4b80a20b8b8b51eb57c4b4f024d68d891459d09, + 0x23212a0909c36fc67bb6c665f214056e70e0dafa08c8843dea020d5266e2c481, ); pub global STANDARD_PUBLIC_CHECKS_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2841f0c768709c41248713f64fcce28dcdb31c75cc65d7144cfee81c31d6e82a, + 0x2d3638feb097069a8d396763c5296639070bb9a1fb7ad10c484b318670a65de9, ); pub global STANDARD_HANDSHAKE_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x041b57f2e7316dff3b3b3aa5ec5f9cc781da576caf4b3779e92e8b273ded3d49, + 0x2d80be56b07bd8bfdbc6eb21c957b311464a3e42ee01b5bdb74038630fb87b32, ); diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr index 6c8691eabc07..bce76c1d7ec0 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/standard_addresses.nr @@ -2,17 +2,17 @@ use protocol_types::{address::AztecAddress, traits::FromField}; pub global STANDARD_AUTH_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x0aa7da8bcba8fe32d529a88b9ed88bbbd92bec786030bfe994069078a72c81f5, + 0x121b380530ef1288e225c0a488e251b9c0885e901cce54cfaf6a656c6ce71ee3, ); pub global STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x1fc54b9700679a1a646109cec4b80a20b8b8b51eb57c4b4f024d68d891459d09, + 0x23212a0909c36fc67bb6c665f214056e70e0dafa08c8843dea020d5266e2c481, ); pub global STANDARD_PUBLIC_CHECKS_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x2841f0c768709c41248713f64fcce28dcdb31c75cc65d7144cfee81c31d6e82a, + 0x2d3638feb097069a8d396763c5296639070bb9a1fb7ad10c484b318670a65de9, ); pub global STANDARD_HANDSHAKE_REGISTRY_ADDRESS: AztecAddress = AztecAddress::from_field( - 0x041b57f2e7316dff3b3b3aa5ec5f9cc781da576caf4b3779e92e8b273ded3d49, + 0x2d80be56b07bd8bfdbc6eb21c957b311464a3e42ee01b5bdb74038630fb87b32, ); diff --git a/noir-projects/noir-contracts/pinned-standard-contracts.tar.gz b/noir-projects/noir-contracts/pinned-standard-contracts.tar.gz index cb43da9cd13d20bf820bee515f767d1306baeb32..a7c9bbd4181ec6c7e30bf300e0455e67d6e2013d 100644 GIT binary patch delta 1161413 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�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�MICezVoMJBevEF!Au$$a9e?{^Dp3K@ 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

e1gropPCS+&xzA6Q-D}9jM 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

TDrNo%BSnQjVh!75wFI2+&ZtxiQ5V}e< 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

)WZyAGRbcP~7RboqRDZ6+D%Vf$^TQcq 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�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

`SsQh$QEbFMZWPu#R4$~4d^g?SAW0=Ut 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 C7rYR9C6-RU0#SDF9*^ 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⧫dutVVx~EcCaVP<23J!>`{gqjOyDN9hlQX5PAV@ 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 -{kOKm&EMw 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

0Tms*>JzU^)* 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̸>-yg*i6|#(b=C1y1=o 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%0AN6$zZ6PLL9==>|H~dq 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

4J@tM~k>3%SrpknWa{y!Mb>T(|pXVX!<4_)@A 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ȑahu6>pOs#-VWY|DV%JbcX& zhtRlagqLzb zK}j9lLW{rzLKP7VlvpuM!wCzv^pA^Oy@X6aXZ0c7>#e{^8|1W%%)#w+IUi}?Klv0n zXYGH&{O`L$LzJ*SjUg^P3fK}o1rdaS%6KZLtmy&Bz1FC)t}h6G@))oP%Pvm#Q}R5m zAwR^(-O)3No=-tB<$~gr*O-{ZK8^B9$?&Cu^~)YNGaAuV1hhdQOYh05{^Ty(PSOra z16IfFATbdv7{s_)LMP7*-4k|gBm`u=miB+)X4mSkAyB|3ybt?PRq)F5Qc1k1Tzs;5 zL9=qor9ydIm_9jp@E)b7;E*d9xPC5Zp~Azq95TG*3U1P&*vo#0;@067P2{_D*KFHM&ssiP&DN6Pn-}_M&(PU^6i)auATW*z8l5*M!s7 zkKq+3Ta&T0Yr6ts7^Ry@z=>_(C@z1Iz`?{!9W_?;wa$~;RAZUHqY9Oz?*%Z5ZG)qQ zL;8WN2{atr32%XI^=aCl6%XHT3@7vzTE;3$#Wf+q-j$u^25;FsP360M0e)+0=pyxk z>FrV734)4WIC_fdb8|bH#nOtOW*?7z@P>1H^5~x3JzTp2O2Lx)%_-EvN4$To;-&z= z2%1cRr|?F~c}F?JH1RQx8OHWG$sU$cH|BH4pfqfo1_y>IU&EqDg0xJQbQ|tt6+G&+ zX6UTRDZ*aw!l0B~pi;<=QCt!L_E=y9&rP@`ktZSZs0)-Ac_RMmk0Z*#tCYfk_y(hD zX_@W3G|hUON(Wn~;~sLCFm`{XRsW&`*~1;j}yfp3w1y3^cRz1{7%>=l4ogx z@5$&@Y=hG2E`Iy|jZB#$CC2B9D>IPaHNpa=f8dfgH;NxEdTMxoMOxMT- zyj0*cY>)g9fp~_n?8T`u?L#r#Vu%IHPA5-`p*!s%o$910DTLZ)dc;#JbvCsf$oU7v zLf5!&_bFNIIpG-y2>E}BQTffBkF8j1jzQjcH@J{d4y!d3MV=d{bnfKOy<;LzAWI7ThyknNW{%;dXx-m84xr0JV>x^%6~d zQZP&QV%_8E(J_R0Z6lOScisoeA$QON7DAnh!@~4X#2aqK?)MW#dbR%m+7kxi&W-6oz7S20rXxk7)h9=r-U24x>_rky?#k*%GlhzCZv?ygN zXP0dfwk;B56)&(8hDk@m#0(p+LSYkM@bczhbC}=O>9u<$`SKxuG+n7IqRiXsJ-w00 zzkoBnhWK*NUF4~SR`1DNypn$O8X*l&cUD8&X6;UqJ@jKBCNSOaY?UNAQ>+x%(j|rp zu2WSnOkrYU6&qJdPui9|`xha>MXv~U;t(Kxj9LMLtK(d{S8DY4npOJ;=ptFrINK?_ zYQgvnxjdFUTnt%%cP+=xxzW(cw**}aAy0#&({4{Xxigx--GOxglvyP@4IUTi&8>QT zN3-6ocBpQa>-i+^h$sly2t}_xNrsZ5Z9BzAD0{w}86ng=u}T-=-rswoD;bXGi&vwW z;|uK=?+LaY($SQ@apa2%;aLkRurN~IeWqYPx%d`u561C-(UWP<)0TqxvE+<|ab-J{s?p2rZWGu-DhHTxVQKK71 zc)UyyIDXk9xqVcR9j9=wV+WI#(VAy(lEX^tJepvZ0O{rJ|I3XUT4|ydC1bEv`mnjB zbc!IGU`{H3QP>+EMGl&ePC78X@w_R;Oli|v7@@e`EW2um=R!ysrCi{d86~YN>fT)3 zd6mbAQhyr`45svJC2YwHmc=X5vLMNK4y*TPV}Mv%inb8-{E!Lbve~AAHPE zzB7JW(lw{L>UwtG_w)1$hHlo(WK;FEaIM74;+ah^SmC>~un9@E+YZOC9-$DL>1AHd zblP%%p`wYWo=tD{P?qgYC?1%<^el>FMPgF5ow3Ng^&v@4$l@M(r@(7-QBUhpkPLns z2qL!$MfsdQ544lmb%rtd;{+C}jvl5}lqy|T`!{VkWx2ttxKxbD#bMM(YuwMw{xFMS z?`z0xkBkd%C`e0E1V(#l&8|rtACFK1Gcag>O#7+#Ye~4PhwKN6xoeHk6{mxk5_8V< zz3FZ2lWZ`x4lY+(=s`7JXSt}l)M0d{3!}kg^GuJBt|>Ga-Ykuth9l~xN?pZ$KQGZC zY8d8)wOsed+mvueYBozlPn%HYC$zQYr#2!p0KTK0G|_o zE(dYC5+`u=-0p27TEdThJP6L+MB;1Ncxg3UE4PKHz*UzESjJ36IU6g@^UXO9wWbF1 zgiubtCPHjL74V&m2Sy17O&WJ$*L&=FFeGNP;A6%N&?{~Qw4M}MPsohWp-0tqjT1!o zq<|rKg(G>Sod%m5UJ=;rM(i+cNm1H=V~)>}FfifO7c10o@E$sJP&kS_N+CjeqR9mi zTc6?!hZ%kpofI?Lf9j(SyZC_;k7#6w)u^Nz8F3$WRWhWo-r|yfq%9a4)>qgmo$O#9 z7_haIBm@=M7J3&Z6%eWPYHSH3{Y*T?JjJ~3d4Y4gcb+IZ=*jXYN2&R^hS6((Y*kIr z8@e(a|3K2BczFWl%%j1d_;ShVoEP;z<;mF-Q_1iffCS7XOIJ5X*G_=1vVsL7! ze(6>r?^xS&E+iVOp||GkL)R4;4;;A`GAHR`atwLmZy989>keBgCl)n-=AYC03JNO8 zY(Wg(o2}(lXCC&)EkNFDEtb)KgACIeD8&Ah#6-J}eEt|j1*-6IA)QEWDC!xsQV!au zt$JyFLGBL+wVz6@3F7D`+~s+$o!1JQ#g@<>&8uX~*=b21-1?R9bX{H3%ak22ULy|a zqr3_wna59kre5G#c2>fFF%70lpr*1C@yUBl3qv{>j9I1&u&px(q>KGF^tE=n<8GG+ zY_aPc%pdnNC%17pMWfJ7eP!(VI9((uDjc8mbGvYF9#-Z(W0Q4BGe(_KB35kr8tg_j zUucWrHL&8VntoB8nqS4N|SA+eCCdUc!p~Bx_L+zp}%%WC*LZu;Xe^Thf$qjDp zuz#X`4vERQU+yn>=gIA{+(UXQ!-U*QnfKs8LB3BV#+Bao2F*v?&F6PP%F>C+f3dvz zkZ;X{pT%?i-igL*9kSYNHp*4Ikmry;9Ew;_AjqUD1nmLv&yA7>J)5IlkGf6?4hbnG zUcKwQcIs9ts&=n`G=nIR)3%}1*@?!-UwuJ>*6yBk#ou?nm^w}`Dr@tpwfuF>((c@| zdMj`E4a09&JUX-B;9`)U@w`&KW05Mz=*~+IS(2qzu#bJu4l7CO4*994vorQdr-T-O z(kM@nnz|Lh8nuG$IAKK|!wq?2%xg-0JJCTOVqPp0&zYHj>GH}|k@}b`($?&kOF6#* zKT0;5m~e)?m&GkQRsLW$n?YQddoXsLm)nI@J%gwkvQSx%>1H>*&dHhbaondb9?x$# zu`105gH6})U6ktQG%rh}Kr4Qjb5{m+zj?5nKRpVvPc2#rrxB{B)=C)kHxHBQBjEcb ztMKVFKn9$DVtk3|X`0!4yl%!&O69WIUuC@q zJJzD;E-{rZC;aB#aIu*9lOOK2)_i7#yE3cLZGk(#+L+ zIX34xHf^b1*B}LSTBje|jP97wTGY63_@pu3NYE#$k zpKm!m@Ee(uV`hp{9!M5Z4lukEa5jN1VngC%nPDcAz->*2P*(S_%AX8(!=33}9Y0QU zAwmOxOejv9RFA=+n;7?4C|*NK13O>p=WddJ$OBaVbgjILW!aGPOsk#`9M$PTlp#=fZJrv-Q<#ka7hvs1{XD&Snbp#A(P5bI?7UblcY-GQ*cl?v^|FtRLWH5g>@D4z8A|(at7eG7WhrN z#+3NN6rZWL%;D3zBJDCPs&Eo=hem+_`@MsxVg`9)#UfOu&)z$}+>1rj4?d}wTUYN)nsTQwVn5o4f23U^s#E!f69u9Dv-9QQ4^Xh3%N!FsN-)y|& zi$a(+dqVB&)=?!F$LU7i!FYGV8eEaOXZUHDt|W-*IlS~4TYN^xtqYqJ#b0~MzOlB~ zDUSC7>_)GG<=$=|JO7juVHp&Ey{?>)1Nk7?Bnszh(&m1K%Aym?sh?&7n=z~$5>;## zWw28-qrO;4(Wj7+C^BGN;J43fBNSr*-AIs<9h@E_KwVE+nvKE{1t8ptQEE@vXJw@m z3foPUcFw3b>gIXsoi2&c`>w*6tQ=~Pi;xk=ddb%B0xKr0`+~{rJpzY+M=v(Eex5sP z(49PRd06}{d%|0f-;mztc+1PMH-Saf9 zj;%6|*pMOJa11s*4XO=)LQL1@Jme2T#ABk>se=j1A7d>C2QR|I$`G)$**M-_w_X5{`bO%1Rr>b(qbJzSk}*+| z=}rB%Ay3b#JV(!aPn28$oElD84--0T*3oenOiH^S9!lu7MIJjq@XtduR>g&ETG!O~ zG`G^~vAWUN(l!%%VkuPA6gwEX;Be|eAJCd~P_8tE3*pnbj(uLoZCVL;_}oCbw=SzC z1<5H?xZ9jiR@7F1X40?CYPH!24tcB^>8R(_q+u0a*m!O`q(?r}n5R$>VtT2JVcc+_zHfs`eY_ z!ZWwG9k3?8NP2x`55ZA!yuJaClPbXblcs0N^=|ScExikWyTrwNk#`3j%bi=DUDG2s-i~z(I=jry83zt~ZQQp{vbs3b@+;n`Rub5%dB9bdWg?!n zU0+f7gcdFJRuvgK3#pVKe9>Z9R4L1-7+&=kR6^rTt4S{#lgiq6G zl5C#~8v_oK1f-<9HEHKOd&5HO?liKx>E50Nk<;;iVAvJYOBb~to|UN3iv{C+Erh&a z=WVGjEq-qcU>$fjq0>i!_h0L1aDertXU9vRg`4WLiW!5loMc>IltI*5r<=< zYAguQ^>)-`>2N^xcoQhGX&f5*HA7S_*sD^N4nyxfUjoE?$%9PWQ!HVl>9EL~@#HPZ zp>5!Q$i-pW!!<&}9gYPEOWgsK#a$|h< zn&G);S%)-Yc-|+n$5eruB3g?p_u!I)d8TrInpU~9Lnn0yf>0HgB()r}H_a=F7^k^2 z&LnR=En0{2mbl{?RZT{5ubAaru1)?52%g-qaydgXV`{HZCbVK40!6_0 z<{F5%L}wCA;0Lkh#mb4(^u)75DCq50zloEIHKth5o~)+DapF#zI^Ie)og1iy;;JLRPOS*M4EI0oio21 zAcOl3<<6m+wi+dyz0d)7YqNTPO-3}gp5z7_js>?UXE8GYu2A4e9tpy{wj4N+@Yp ztLk;W`H|O4$vS)TG+#Be7?(H;b?nBOfRN?Kpfp=QjMpJ0<(m!$W+U3bXs?)2|G98Z zZ6XVH*utc{L;l3erqx0w0TV@kIJN7YRtnQ|{SY+Cj6GelQAO@4UhRP!9LOt8$pZyE zf9hel!_zJ{mT9%}k+$6pvQ7DQXO1Dmdkr1zJ7|x+{v5A}SIpKNjHNxKul2-`w{NX( z%x|0hL@rjpLo)DCl2qo+EFje%1*a%gf|FU(!&qy=xL<`be?k}3=n9m7g|lLKX<789 zgu2~ThLOJ$&h}ypFBywDbW`qLK#^=ATT&%|OJ6%mTV+q#wFfKK(m<_1xzS+2cR5>g%e=T+z!+1J3fNrA zvdHAyW<^8u>W}uU%An6_O{(@Vxn5BmHnA9s)+#0n?IuB}Ln^gQb?nL;NhkYeIkd~M zUXvp@v|#MLHa^47e45F`L`0j-rC}6}LTO0|NIyy0G|DA0a0E|(mnXo&;TFcYd59rr zT`RIi1>V%DvB(qH>8P-4PD+)*%qUKFT<9;yY|S({QDZ~6jLrV;i@y6p;&^hg8(sMY z4v#82r;GW}MhE_&uv@*j?a#e|8-Q*X0u{7{$7;dXPzjO|a+f6?r%NM;PVW>l%rv#D zJj1YE)>;&bcms_>+WuXFQ%o*Bld@($`!cX#lEsIue&zh5HCUeJTl=T5bD;a zB*>nj0KI4roN0626-=LR*&_*?MaJ;J;va45^tS2=^)r~T+NrldQY0sR{tX$-iia;~XEsGqOf@2X3Gjoq`1LdJz zgIlPHL@Nw`iOD;@%lZmKExk@^x=&d*-Azbj$W4^72K6Gec?x zuoF|Wxw#D}q)Us0bk>(w6IDDqR#9)n-g9|T>_F>(dX>EW)n13iaNArTn5B3(fpMWO zM9tr|w@%nEy6ujGwh0T*n!^4(FM~k=HJB`}!S=mr(+PX=LO3B)k{Ur|wK%0>Q=)1B z5-`;$l+sX*1OYy}G#QYd>V{Xo{d`ypV1{e6w&J1e7Gb*KQ6hABA2L3H@{nZ0$Ph*p z1bKmf4Y5SUMTl^RbhrkN7kY_s%I8a^=>)H)mSt`Uqr4_0Ld)r+Bs6 zqP$JbW0sw)y$7_}NvPIKYQDOm%4S*v8-)pf2^cb(A3uSBr@ce(3wwCBJoe-*J>NFT zEa6l!*{Y&i$iH5S45)pOugq*gwH(OXmm=MYS`r>` z^VED?xUXwQUW`~gtDZ~3xV3~u@_-=Y_^X+2r?x(YqT}~M!kjj&)RtxD=uk#m|-g&imD2NUNTAQYjUqi#qg$`dj`epeBI{#2xXB3 zHTLOrm61O1;{uvDc_EHc(A%;y-9!sqtq7$tZ6qSDJFgcelbD!6!2&S(q$py4$DxoZ zoPKJ-9&I3#xhZ5)3^tPo;Z1{3wjmTTf`CU*qDlhcUa|0=K-jWiy~NP$VGdzwrtn^Y z0z&xqJH#@EjG+?}5eT9#g+PH&0}ysCyKh2Rv*X^_>ZXj$0aXy*)BFvVtHhk0Qd}X3 z9#9h}$PJmUB*qrJ=8 z4_y`2RZE*7tCINL`+uQLmwdio1!cmny=%uR`q0vVChtDp`r{8R{`1FnL71^-Kc2D+ zNz>HL2Rc5I_9r*kEgm6>CyK0aii8Qqk|2H6ti_U*q@SA| zx`JklpeR-qZN^8PRrK8t4eG4<(6iWLvG~@I|2OX6xc?g_H260`0Fi`wNk|DV$XpV| zAxVQE7Lzm*xF8IFc`=k@A&CxYMfA&Dd-tbQ z_;T@nl8PTg^Xu^cIsv|%l|QA-zkc23XVT#3-}0B=_0=1L$K%5z7>hcH|Lm2&_Tq1O z{VzH3l`B8a=ZA=`_n%L|Z}I65Vm)ex>0zz5Cndt86Uf7$-{t8M=H>u&z0@qdn!p8<@YdHlD{!*5u; zAMD%u{n+=91Iel?`8MZ2J@}i3@adT!7nD`b&NQaRc}Yh&y|RudHR*b z9}@}*-~7~nuSe5wY4;!B=I*;MXb>y%-#AECtUr$KT`(~U@c#Xysc9Y6#Sf(H{d)%D z?7x2&tnc5iKV3Tg7{0&DETgQ&s>8MtMCaq^*TnWjjp_#2bupK%^oB)kdm zf22tGl@`BR5`Jqj___=P9lgCW`u=_LS)F}>cyBcRPiXfh;(mG9zciemzxNAa@J*_N z4j-zzijx0Mz45C+@C(EFnL9tbmfyOD-?Vm24YH#Bc$l9Q;a}|QFS+>V*ZzXTzwYX1 zC;x(f?*G!$4_^r7uR8guCtsfZ#G_yG<(s{D+m-uETVMZRdjKUv=ir+B9Lf8eZ2+{4 z3^PCee#)Phf9KLa${x3*p~>)V#O-%T$iHQczk2k)Ldm~n{l9wjPtouz8$thdH~)I= z@a^j1H|UIS9qwPT>}*oMZ*+WV|A^wRrSbcJ_e}M@ZCkwUd%u4l)*aIf@rVA6QOtih zagylwN${J5mCr1x{$Xq9_sxv2?E7ZM4+Hu_%luD$F7UUA?+ zfTSP#py>W)Q}n-}3VcMh`tgQn@826AfBrtRJE)>t-Fyg(I=X+L8B=XEC?EfmyH&q` zjY|EsBEZr|;@eYfxS-M-s*`)=RuyZuAk{|AFZh{*sr FMF5$uLNfpW delta 1114281 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˷SlQeGB5z4<=x@WyWTs>ahRtUyq+oFBju6fqy`)gFp9#V(rGQX$WhwA zKqn$P(I~`XNXjuj6>rQgax3g~q*|Yur==4skIilWVRR9Tc+UFhVGxRUJ&@$xqFI=a zMz|I@&4RE^--F@_G8b4ryNIWP!4rSt)(dL?-}ZZg-|&EQT1X7a;bTXaBxL-L?+Oj0OW2F`Q=2w6k#)XVE%K+;fg`D%B)wj!UGl?!bTPdZ$>> zH%?QqR=nbYwc_kxk25>zfp+G-OtZUn$dP%0(+z`CH1$HRb@evsQ{HNI)trw%1o zE>ahK&DagFk7V7WJ)B0fV$6Sv3)9AA_gp4c3RzL1rjm402}Ev{QyLBvG0UrZd^~)0 zc$)8X)3f4JDaY5pP`NsPU*lc&IjzeB`+i(DigxgZ?!#XN&)*g9#8$g-8`d>0YGsWT zuCZJXta}id)-9|OD)8p*Z&SliExz1^~iOQ+ZEA-@V;-0+iu4D$l~1Z z>O*y2%#X1YYQdFsrH|z$1M*^NW6R%nGuBsMb9`@=y!Prnl($j|mY~d}lzZ2tNVxPj zpWh}~UPmSpovVT>vM2YtaR^@rd_GrqFwtnMVZOhzy%3VX$O7WkBN#=Q^?9TU!g4+ub) zj0x6j1Tl@X4SN~&M+N{IJBPvzbjbtf%6@^ySa@&amwC(?w_{iy%%%%!PoO#enEbc+ z6pWg}Z!)w6AxVE}zFvb1Mc<%lR#N~gFW56hHyYR8z^rx(oy#wqu0mq)db7EX^w#6H z92Mb+&^T)k?(57l$zZ}*M{-gr8^qa1l{T*QNPgSiM?Ym?jCn{5E12 z?lxBt=W#4XOJ2uy<~ z%IqS=&Pb{n?=hvuwt3QZ0y-ggQaw;=FlSKFYZ+Uc*<8UrcB51T3_q&+I=$izB0 zLe76|-tR{kNSj9IFtw575Wulbz7jI!s_8p#Fa?D1-mY2GWm<~fz!1!Otekf~2EEcj zN_P&ojxODTJE7AKLiyEBpA|=|>nFBbxuOUi6C#6g?-P>Q8nDp~FC)(ZEbI|hVY0Et z*#R^&c#dwsu>=*tmN}op4HvezMqhU0W|e<++eFO*yGI`h_K4!(B)(1J-~R4I6WK2D zK1KQaT}+pR%}bEyx1rcQ(YH^NdCn%rlb`@@W;h;I)sCAV+mzy410>341Ktm5RS5f z;>5ci-KcAV6~uMGfZR^MG#kM{Fe-l?#*-~usMwkl1%z_!l&e8jp^v^yp*cINM$)9; zpHE|o$UYCJ)~3_sbjFN_OIFwQyL5GfG#X(ed=;DIwN@4f*>n`oEPb_1c@Dn3A2jp2 z{qngiR>!M$TIt&2=xJ})jydE&&hd)d6BY_CJ#W|SAiP}5Z>r85ZcgOau@Qd+J;96q z($Tewy?EU(B$TkQWH=bb6U?`r06_#+cmpq+%J_{TY(sXtLR zet`h5v8>~hM5oQFQitTu;oJ*cE61s*yLAQ(yGgl*?DIdQ%1oy3dwTMm;|+=s`)oVH z2ptv7!I8DTt}>m}B4t&GN_Ky*JU5)qyeFZ{xk4=-DxC}q<{U}6@sJr$F$Q`mj*p6u z!s(fe33!I}8?jf2y6k9$)VxVv(4h=s@G_>tNn8|;uO9kHq-s^Hz$TLF z-@j%Ei`0*1ROYPp#}aM?uP5kNOklnPnujzlST za$$+udQ)9BfQ8mUW@b~M<;rlpf3{iOmf~(kHNGFujPhV9V>WBk=&zF8;lqX_waOAS zHC8#Y&JMC*6J-NA0ikZbRlM5hT_bgk4y(`}%V*2PjTS#@whJ2wl3Q`*>o?(F;B zNAfgC<2g}g)d7DR#94oiap?`=9NBXi0#7W-Wsuakg_us>E0atVOrd$?bZQ@G0#bq( zS$`gZUF*dNzzw67#ULS?v=>SAR9jxmTV2Ls{(!5ZVWW{vAl6=0G^2~FthFW-ps;Wuy zpvoDvQa54SB#yHO)C96W+Fd(u&`r3A_{WwqM~AYk2fbX9SVNDSJ1|}&dnto2zTlhd z7hjmWD+PaT;&oTU4nE5O4$`4#tKq3o(Xd)CzqnKePGw=5Y;)49JGF|k{@}joJl2vgfUVo zIE|r%D33smE88^`(GL0xvZq2rgHB*FiT(dZ>YBoMr~hgcs7#=@gE_8Ju@AZ>|~hBkgLuW}CzT4JkwQ zTgZq@lyNW{PX%SOrd{ETBc93c7#RkK7?!vgn+0X^pnh!KpJe_30@Y#h>u> z)P4RgN2tkBU2=|EHC>k+rUpi#rt-0?oT&cSEP?OU71#B}yV|j8ddZ!ws?XfnYT3+7 z57`yY)z+!i3yfFGs?)FZT z!w@F9wXv~ap@fU`bdl9xgzloM+4XZhW@U+G>NCX1csb)Njr%sv{CtFKdRmM3O zA-s|mtj6?GPU^zeqDV9xl#{!pnZ9qJ7&t^${p}R;u=a%LJPWZJZmn$UDg3Ey`s7dM zg_-cGo$AYlx~Bs+fm&C2lO`0rlKQrwp*z#zR9V96`kR5NxO@H0pMk*ooBV%Of?^?T zCSfKUf*EEB<(STVtf5$&T)gkVL+kqF#(Kz;pvL*L>w!cSnU_Tj!ON!0+GP5^GhVNI zvy?rXSED)RVw;(7* zgRe?bpyiq|jzSw60AFws;O7%v1zwE*a@(fz+*&xZk$T}4GzLk*T(VSa4vZaLHx%$y zUDXJ)B6&>JR$UyGPJ=S=vpr(!~oC-|?6Y_k8e%g5v_^oH_I+oF+!eLv32*!!-J@f&I zZDTS>#v7v~!36Y1?lx=SP=JO*5GE@DMWd9|NYO`5_U{5Y>o}9RA~JHlQ-o(}jHVaw z;;h06k%Rox3MLCIdrl=$Q#l57G!Ff;U2oQpp01k7xE1qiJurV&&`+K}KK{v?NGCPbJr;JTPF zn=PgB?V29=8V+$9#;NQ&Ek*+l2C&IOHP%!CN11{qBi?&1Jhok>7QITV8fG znJ(bU_pd(jlRh3DlF`=Zuwoh$3^bW4U_MKH67GQ+71g^_u+M^s1*b=EC=auZWZNDxa!MQC;m8NoXN1 zhYJi=JEMQF9y>5Z8^=NIRd`Va8HML*UE%)EoKOd8mrzE+wfJ!U~ zT2Kh1LjJOzmDjNjMWGl*J`Ajui-+&P^gDTy_M;T5sCg*r%^eWtRh_WN&oE1&Yi*sH zGWLHVW;lVR$>}CTBxO9WsMB+NB6fih$KARVF9GFVDo%+T2WUViM+%iZkSxJHs^9z21$VRq>xX;FpZAL9v)gqj7BUq|#(dHl6tCtTTVy zx0~{^#X8N3XIcIvs}oQOA<`{8+o1FBxZImyIkH8)uNx0T)1h9w&%%A z<3*1WJNJRCy4cR3gWss!1qAc#l;E4Z(L+X^ZNA-lm$wpQd!36ITeI56v}mf4y&n8M zsM%kLIT)4{-C)t6w%#yYfB(Lr+IoLJ71(r@OIqcO9|SqXBMm8+C5C7Nn^O2Go_`tD z=F3@z7mtz`*u3H|5YA&6#8jQm9unHJlyOjxi!=BrZw|vx&#tEe$aEFm8yGoE=XsBc z&|JA8NLII&{ldB@>NAU~irLEFjKKcv1CYZ?uX*{ov1XoX)>sV-aSksG%!pjJT(B>YT4*pUIv9Sj#7pooJ&M+whtVXg@7 zp{>{z#b99(IA@emS@ifIT_=Yn3qwtcrl8_wtsc9MMW^t!o7Hx%4)ydsacASmOzXSV7Dvo zwCIC!#WbwGkH#i$2#FdZ;8Zf&n2w?4XUzsJ zygq~Mad4u&Ns_+~;xQV0EHt(!b~kQm#5aEIX>Y%r=5=V$S>LgDqt^ z0-bnf)nv_dy8nM9pyunQ#2>*^P&gU|jc8;}dd`U~L2}Z1n)@`6G9m&J^FC<^zMN4PiH3hfo$H0OwY-2DwDPN_Sz)5MsGW zaUUybaWZtveA19j%C#A{6FxybZJWZ~i58S{g%=;%qiz=Up6OZ#Wdjajk* zlsBh-8YxUL>jcSEdBdoGF%i*xPMAW#-RAf}xmSOJ;$D!zT%B;y`Fk?qq2vAocoM9k-;*q^5nc%!o?*bE|7}Ywf zy(NE+$_^mw;IL_>1Sp?CSfEJDwr5SJ0lwSf`=@-%<@8rwMNGA*az1MySvb^eJ=e}e z3V-;I!7Orxkn=JYec-DGHgIBBe^C7kW9GLh*WdQitC0NugO1rzFFUc@rOlIgR)Q$htbnxTJS z8v6>lngXXD1?HIWI}MoBC^;uc70ye8-9t=}ty@}XPjcM}(~D0Sy;)&(dyCwq>P6TI!|Nm2*83XF3JMo6p>0!m30%#&D>+2L)%S zI#xIq2{cro6CK@Hr|v)^)1dVjxypaJ%jof->D2o$aFS%ESzjN)=?x*y~E`f}I>kbYnOpz#`Ka zl7lWEI;bX?j<6gJDpWQ0zz*hpvSMg?v2Ll`G$n%Ug98@x`IsN{vno)cI}6VxvM-t< zF;XmMQ2ShwhCLnGG?-?G$wypN4w2Tnf5u{ zt*IEKk7*v*aZN|Zr_I(u@aW+qdo{$@h4x+@%4^{-J>VFp#w5jhU_Y`|rLP*5NDk}j zkMaL#KSI<}QSilF#HGhWgu0Q9{h-Jd-f*Uq33Jqh09N&#R|i)!x8SD2vyKlMkpKZ4 zY#T;S^UlXWYv&Zx*F}FTm_!zo5adm~j=lsCKjp%DFm(V_-*h7Qkbz1`Q{16@pV~*9 z%?nu4cyf-mH)NQ33cNGW^`5NMPz;?>`Z3Tt-VkhZOg~Up-*_f?CC~*Tn83Qw(5*Uz z789ZyE$EPq+Q3*^3B-(I2{-2>#D-y8Hag=3-qbE`sHGE$nYe#9=P)AeO6%LUqDbRT zF2D-=LIJ{ek))k8yy853#J!V*G%3o4I*H20i96mUxq3I5Csn| zPlommik#9Rigtel#uswR@Wl)%A$0`v+8BbE8U3V|iFudm48@dP!Uvozy;d2_4bsw_ zG?txWn)OCeg_A-JC{Z#51gdpkzB>8g=ztG z1JG=-C5uu7)q^Nt&T)pzpS&09!oV8Nsp$zJ)2b7Q5fp#;oJ}BFMi5#(!gj-yJ_&Rmb7ICQ29}$L(X2Zy6AzGQ z+lscN$l!Y_Fjyfn=~|OA2ig@_*Br-e*)JH)$p_{Xp5v_)kAFc&GF7We5 z8SRAqjT?W;E;C>(EE1JEV^u9`>X+%MyHUrR6 zA!FdRK3Z9Rl)c77vf|b2h$9!wCma_^8=WvQGAqhrlajlTm&mmzHT5t`5akEkIT)$1 zxc<0n&@f7id;v#VluC83qn9TZC)PAYluq7m52Aljj7mhiEoP_3@Frd7ZbUBEp^KJ(;00gshW0R6Jp8HJz6jFwR9y6>4^E zFpv0lipxbd=n*0IDhN^%D6^02DoO0hz5^>^$jvEXgHE8UXylD-#@peWZpqqr-_=|| z=XSf~$#pj+MwAh2d93^EIL@-tq^X-8;sk%?Y2FF$WKzpdX7ZhN%{J(2BZ_jjxxkSY zG?0c!mdcF=tla=vD@$yc89y#7T2~fe4>{CheiDsB?3b}_MOf{dwR5GA zG@^pVGR<7Lzu05aGdh%u!%uw9Jc%wX$7sU<7i`726Gn_x;wB13QQs{s*<|&XyT*SO z9e$^h)bgfVaYWsBZMGjQIWaxb*e4o|2sMJ)d}c{#%Z|IUsJ31%Ff5e=l?Mvu;v81C z>r~CflMd&j5zY)Aegorvho!%O)oQ4JqsI*`%j@}2p zbwo!>1C+7adhlh?T(1`=SM(m+W4KjWpuaYTy_Z zAcWP^U?ahN=teFPjL0F}7H%gdr~=h3sH(^Fd8)02N5cTS#no}3&% zdwg1o`|&b&v2*o3<(E;YA8Kg&f=pIQ84pbZ^d1AOV{>(}!dqFLSz65nC1rm-xD_6! zK>_SyF^jrSlWv+2G>sX`QX;<#?&sVE#4E(!Z?-Bl0EfbJrvTNas^m>#m+upDOBU(- zT)_{~0ii)q$g~Qp~aK2aZsmLW9 zXKIG0D@q#-EeuWwQo>x;fIfeCvo-fu1EY)y0X+O(be-f1BB)Chyn%zZa1`(;B%A|u z`iiMX@UiGX)j``>p&XV!4fVCE<`4qw%h;i@Dm?fK4QR6<_pI>?!$mX~i!XzzX z2#1khQP_yinT~Y=pT%3EHIpXo^lP!CH7&I)?yi-(27-3#nPja1F=Gpiy0$CiN*v(N zZv_CF^2(Qd?tuKKe9wPh`5M~R>!A8+s}=sO%DME2D$;lg%MebN8*v}h#BWEp5A~_n zTU1h)de!&@o2aDvmz+QN3oNDzWl`NZ?WqqtoU@&f&b_mN+^y}Z%3);DK_W1nrm(y; z4M#alLp1}1y{C9lqJ0YkvZwFKz3s|pPdypFxhC&rZjE;`S_XgJ2FBVec#hh7m!!i- z6+jb729bTKwc99DOB4==lggpM#o4byr5>4YK(3G2BcT>Y%*Nt8A^-O@$wG#)<63X3 z{J7)Nb+BSGuAfPu2(Tql;0b9s3}|t!3Z0wl6s%AlFCAxE*bh{?Nn*q##7D66p>v5W zpZT*bZJWBpbdrBfO8R)yd}nedywv29?O|MvG{WJ$rf5i z|0LB9LcWDNAejIu%IssM_cacdjbKHA+5xM` z)OO$?gq%UYL2X+Xa2X`l$LmNknAs(DDYch5`vQ+Dh8AIwGcoSk;`w4fUns-IKAah0 z#F9HUJMVu;31VPwm8dd7e8ZX&F|-5b@n{xYW9NOhpq7aB3xm@@5w*{GNt; zu7b~dQD#>P6iIGR{W&R{107N7R30RV60Q=*FtLB8ti+%WnpcdgPfjH#1>be?;Ozjl zW4j&-9=HRiFP3nsu7k0)DCuSAfQ1AU6Zhwc_Y#g#RpL^XG!0W>f?M(UShPdMo|HqD zmqHR5h@3TT-y`N)XDnt`?L>~y%6xA+;)f1m#|Ksy(?EgrLUA+zW5|Rxs*Bldnzc7K zF))9jA;ANDvTmA9zX_)hdt5e^6_5Q_o5CO+_hY~Q=P5RHCYlbN^>oFtJ}!}QT1}bS?KWB-BYLcEnkbY4_mYkZcy{zlp37l@09GIHE$qX{7qah8@Ik@uEDVUFHqvBDe$sGEIM$)rRp`&4&T z--YteyXlSZrmCtE@kQrPVfM!oX0v~E?v-VwW+x83AxSq$4DT+IU7;OMYFeT|Q&Gk} z)#@l@mF&X`_=1v~D7qMZabtuil`tGjZo#9#hf@B#Owu5#MmEA|MhvY)kpr4Q+>hlo zLjOW7+nyoECQ^FLe}R?kKT?MHcfcg!ZT8s(#v*BO$2)fGuG9`G*<5}9f*ya~qpG&J zXb9{%jx!B6=igsyMY;wtG$S{H1EJPkbRu{IAO758zwa^qzp~TH&ctWhUE)0|D}lEINzu+U>N&9sLp-M8m1VqB+k~8~SO8^8adEVqk!Cgkw)CS$_>D8$Qk9dopJCIlawO&$ z|94ZR9k4y~l}qM!&`Xk0MGf1171Zq92mfYyKx$&fVnJ*z4fn}hxCwz~`0CxO02I$x z`7}~H#DW3Z@Y+5fsagWAY0NlJ_)8927GB6~>y#P^naP|U^-aR&Aq9W+Otl(R#@oO< zw~Yn!&WETt9XsRWD*<|(DCTn=k)0D&$e4nxEiTU;WIsj@xM>z~HV4^%$x82Zn*)f8 zXJWQQ)0}8F`7V663Xai85aWgDFLFbr5aQ%qGUpb8e5!peWX`rjMw+1jk9u$R|a+&$_w_>dyHESY) zTj|GbM#Xr-a|%Ax1KMUwgErl8B`CBE;mx?6+7;5=bvMiDk3Ut`U@85Ga4RmJ&33n3 z+cMU6pR@;9$i4Tuk|auMq38nfbWQ<36n{NgFl^b^Hb5upNa%l^u%%eOh~z~)Vsj@u zYNa)eX~oe_lk+HeQ-xwEMf@{)M}}L*$gE?~RH8~gSpj1@-HA|3tZ`ee3vo0Ubwv85 z;bm4b6?%yMP3So{ay!v~FqW;&mqF86X6roXP+v##c{J_g32b5#-u7KK=d5LL0PRMYpC z7N{Ui)@+s;6=4u2malWcRC?T0HAgAqmgoL+I_&=wZ|~KdV!73GTDicp$S7^tpwFpK z%*kay-mYQn#@jWyeW6RDYc~)NDRCa}3TPGTF1mk&Gpg@@oKFjXa)is>$n)tOFk8xy zxgWeKjHEG3Iuy}TTi2OFdH{$Zoz6gPd&pFA+z7B!%kt^FH2KBrMv^i)F=sp5nrnx;qOg@UQ(U5e0wl$j@}N z|G6o{*@Zq^5Q54&(EWe6gYS~eXBR>XP01YtxqXpXP&g!w9JOrg zrz%d1TSov$abP04{w22+tShNTtf3QsPpRYZS3cOlSyOzj5PvxB!LudrNM1RO zt`zLBy8K!R6yq*qC9L}sm-r&Dy`nO`i!`V?#3&BQO60qbtC^d9-Vuux>^t9`e$#(B zJ%0Z9_*F*(avVK={Ob7h)I9C4{pWGoTCWsFXZx8EwuUC>IF+pl)QgVZystKQ-uOJ+ z7X4fYH(g4j0sG7B?+r|WAIHXMZ9ef`muz56I;6OiSfOl_FCq%l0cKD+LE4=3^bu=^ zkZ;U9XSr{jGeWW$RsDF(EA&ai=Y)SVYsC8tE@?tpftHjfZ%=qF75jYtfm--J44y>M z20lhkP?guZUQ))vuFUQvo_S9qa`a^LDVnK}va^d6JG($23loDgP6h}`2NDWFQ!x2f z3b-qB2~6e%6_Ozc4R-NT-eVXHZD=%@2}hdH4OJYHX`H?1?8j^N+}Jtt@Opop)MDkr zHpT3f`#4SmMWGsn%rNY&;ysvb%1^^9MSPh2C-{#8H$sQ=LoL~!n1nB0bzgPYYpnDiIH4kzLc)tg9&_ANeETf5;)2b(9(-0*MivW z-4cWz6id3Qz%TRBpHbo~x2q0*8cr>4M2+C_5k14Y!bd0Hc3qI0qmTVaypG(AH7d%i zZ3It})LA;XZ4JXX9g*Fb*pyta5#gcZ-^IyeCDSO4!;zwaWbMKxo0ESleq?7Qdpev? zmUJNPYB*|RKNjOClZBv7V@zwlh=vwQoDo(Ce}y}maKV99M%U{qqj>Yl%SW3pwbUsp zohaYp$pEvuMTUGPWv?KlKe;j5syrb;PdQ_BQFwk%{ZCy{F&duFQ$?ab&Ch>m^Yfw= z`^3hrX9egZt`R!3ohyHZop$rfHL|iov+!$LY+2K=4k|23;=Tyg!?JbFT=0pK+xTa{ zgfCiA&t3a>l#~Cnx8qee-GAOK`Okar3in?78mjrhy$HK)e~MdiK|G(R@cK+g`$+LEekwcVBW#e}uPE8WbV;WtV-17wO9RWA zfd7D03!AyN@P~hJ**{Wag2lM2ttaiE*(kh#oqv?@<=j_T87Oia+p`*L`PM;x9yWTl z^{;d&wn1oa)hUEp|GiV*MsX_JcK5rtoy+#V)!Lrh+Hd}0A=O)zsBVvRyKJOiz&n*j zYPYsiHd61PHRC06rsqLr;J9WWbyEt{=m!6p< z88|cXT{v!|Ne4@sspZ|?qYAjVV`esv<8?H10Na1`RB$W24|?&rpq44{#sVsw2N#hS zoQ%TIG#X{ll59Fnf#_)#Dda_Fpo}FUBR|s}2ZIl}xG-zDC6n<67s|Hs9&A_0cK2q= zbJw=#e?{6k>Ezfc9d$%;0+x;^4*BgX7bpc(aSi9c4p(?$pGHbW4Cq%9R`mrRx6H>a z{y2YlXWD(+Ue?+2Ypgq52s2^zgoB{vERla) zB}(!UiDQh%eEtXH5UUj>^9<`1rE#uy3m2g`;_Ku6?frG9jb=$3qAlIu^Vf78k~v*o zlZ0NUs^(ezkweYf76Ohi6i&X?QkA=$YB?x2*R^VUO~{bMKK` zK~D{aM(K}uktrp>JP1i?f+e)i$tG-y}vq zm#t)f|^>x(6W)CmNp^OD+e-@dR%WX$Gu%UPZB4UQNMq$ue=@R z`975z=ZHXyzc+}CDA5fzJyiq6bT)woh6A3eFzU?21hXRDO@%E0?cnOCQpHTBT$uJR z2>TWRUI#HV#=5Qqe9a<)3s%sZZk^OP4LWG+$U}p|lt9u*78wb=zODs?@24=qM(}u% zKZuHAqJlM-vIzZA7>_BpctU?A{ZNG$G8Ab{ZZfoQ(j>SJ@_Yct)L`>6nkhJJ^EBg= zBBd@Z1GCQ@p}W#sEM()cL26SuCKw1kh|kA34_!LjpP)CUYWCO3oR23M#KOrDNvUd; zZYYgVmId>va-QnOC~rlDXiu?@GkXCoL}mn27V`EYpcXKoWgH4>Pho$RC<%}c1jET= z<;|Bm^Q7xaiRHR33Vd!AuyIsCM7$U=wL{uhmZoSST3{`|3o4TtQ@AR9#(m=fs!BRf zK^G6tBcA>R0p-ClsV-A`K?8e5W6FEA&B{G}TGn+fQzQvjqD-R=Vk8FdW{0cPBuuaM zBnt--+>M<;BW(sItd@WIc56wLk{>xmy-=E7{^fmby1*ZYhvCvq=0bF`1joP<*EErw z0qs{kek@mfU8C`yVv%fX!2WmC58H^_xu;I})3!95gFEm{rX6hI4arpGQa>OuI_!kT zYW2Qk`qEe9tTT+F4uwdx#q;GpVIlBr<-X#S@sck=4~#jxw1a=C%pf1f)8bR6C>IK9 z9ld0iFyr8*Jbg4;_Np(wkFGniwQy|e#ZHJY1YDmjNvjM%jXYXqv=yH9;+0f*%@YJx z`7N)_zFoA^mvQT;g>`U7P4q@o=rx@5FOsxFzy+NPSU+UGhxpf1{-dNDyFT0UUdn6i zEPof?m~~261ulP%cJTnT%07SnUFX~5pF3wizdSyDSKJA(6{A6Cl2q8IWiPMt;%~Nq zTl)+BUZ;Q7_72zD!LNVe=hn2#4rtGr;PCC6zo>S8{fimM+9VuD@a@{yEH6K>uw)Kl ziS_{2?ZaB#eu>m#cx!umcUyn{TYYg4PNTFwC5;|#AKZVmQ7+)f+;1u_`uo{AIM~1O z;I)9`YFGXqb`P4(oAv;^4)DAoY+CIE#PaLHcb&8sxiy<%T=CFC=ZWg2_l=QZ@ySsJM-Y~GZquIKo zgM;nu8!vwgcc2+=A*UVgAKZ8%wrktpd~0ia|HjRa!|R^yo-gU5xwE%>asCcX(fLJhQ}hn?-cn{U305cJ}BP}cO}?v05fcfFF9clTO1 zZkbgghD$7Ies6d0#?5O@yrk{@z5N>tZoGxiT>^jhEQsy%uxwKu9PZtGQ(2u1!Udfi z?%e#$=FxXX(QsDQ`oY1CH!Tl)LF?OFyIVKb2HY^2vJMXSZoF}^PPIf)(ABG?i{`=B zEzYy0&A0aMW(MTBDN|W*afVfCe`jk2;r4ajN|9H*@td-anunJ1Ex)}}&#q0w*#&m7 zIi7#aHZkaZ1LLYT(M%UlHrco&mZfZSlEmr8G);a%llZ2xJn=7^S=!%}Ah=C+AC;K6 zi4kXO3{8byk^vhlqPN>(GwJICD9qaJZ^8_&S}FpN3=QpHZF3G+q|NJ!63AQnwN@_7 zGhAse4`->rjYkPy;PiWP!IFO&r?=e>FUNoI3C5yX69Zz+l72GMBM*BqOsyF3-7X3E zRzZ>NU!AB(w5ZDOY8-^H6Hd^o^y_y=KXqPjw>m!@J$rpzUm6Uknm~XadY@RW9z02t zv8o}DJOKC4dT>ga8S%g1*RzDaRj$QOTK zP+dmy_YA{+^u-rJFPdGUQ!ShXe|w{B!nL<+%wTWV*5A1${|u-e9j2rPG^}opCKN)< z$+v7tbwzOW|jR|U;uyx)w_B#W;o+3$uIqpa)(pQGv$HVMJD#1i~ zeI$$AyNq^UotJQ>h$rWrfRY?Ivx<#5x=fN;{Be>|#uhwg#WN^TcaL3NI);CR)^5g= zLH^)LaKFBp5MYd6-jFc7uPLhEnvilt*^~GiV!>xqjIN|gx-p`;v-9$peD1m++#JYC z6ZJuCwAD+G@rg7Vg)_12bFdhOL*+p^ba01$*^bqU(zNGj+>)K9&h z4j83Aad0^?*fyr_)q~HYEA<3bvaE>%2~I9+iue@Omuu?z*bR87Sv$s9i79V()dSUk zgCWuLo91b96%)b}BXZ&^Ak0wf2}k@i$TW8Yej8l}k0l@xSc%=p;?{v(sDlLcJEgF} z8ykZBNsyrmlGXh4h($0WwQw(c5!c0WV zoS;K~sD3@o(mwr17(KO^JWApR|9bz!cR_7N$;L-NdVXlCr7&0R(@?OdHaO{w)f6fWPbqz2a; zUC$jMFBmBanVpYIoo1NXY@4YF0GKvc1mZ-p0^wAB2tl^RQt*^61@92e0?Zl3@OxmS z*vc-$rXQWW3K)M(*%Q>QNEdZ7BLJIvtj~p zND&NpbmtirG-vES-bUbahBk_3?Ylfy!>9uSsKmP&bdLYlijcaKfHumEvT1 zsy&_;+e`hSM%h&?;oIb@rj{_-$@WasV-2g=;C+6@d}M#6`)pz{Kh#`ssG-o?1fS=} z?{Tnu$BT>bi1Ju4gaQN2bE>##vc9mkV)A8MhoDF(s;jySR(T~&T;g#oUCoV;;P#c8 zhE12^POp}zm?I=6^gYqhhl!%JO1ZSDo$J6;H|S^qg>!94njgW2EMZQ6K!m&6#Z91m zr}ZN9SnhvIGy3B()p!n+g98-@E729!5( z&mMoJRh!Q#WENI14CvB?fHx`DG#GYB46Y({wL4h}E~^(f^ytdXVfk|Hb_Jg9Q@ze| zm>4}bXd|pBo2;8`V+OE!tRfUxpswrNGi+{OF#@`3f6^@lpLTk^^ z*3)bU^SvFfQg?Tpm5bOyHY*HRe_#*JP7+_jX+owxnk{C@hA~{^c&_kuDeDELtoJAx zj~Snm0g==VNzkf#X*@WmG&#@$vuuNPh;zJ}O;A6Qi10K%Kj$PP7>&Ab>g?=iO$CL2 z?>#VWL`cJjqDx8|3EGR$oWoW#35G%8nWw=j+Y7CAK7@)QU1hTs-d?`NR1RsH6fWeye-zvM`SnVTI2 zq#{{7iH7k^iAl3^Qo;;rOkOg7+WAFH4=)DNL?snc2EWp36xyMcQ=%D_Mx0$>>hTq? zEE-7+8>tL=EHyAjT@Ow|oR;a7&Bhm@b8}Y3zDxK)%z~GhGHiPuJAtDSXq1MdIzf4g z(5D*CsfNQ#QH#bYjL zX9HZS+aqmPibEGct$fF%7i3PZKRwV0iUwL`(d3z$x%qdoj%{!gLE3FW1k~ZY zq+lgh1Nq{MLGr~Hl8r`xzBpwOw_FOAcaV$WxoJ_D<^_B2T4-+ePj1ARkBOBwokcII; zy=?cYz(|M@Xv6B#j&&~PgfN3CSIOf(U>E1B6|yhWw4wYrz7>CBa=PoeoNk0iQlhte z)K%k!o+-86qDuFtt}#DE3L-i0Tgg}O0E$8HYB_B=pjM5Q!?CP?hi@gF@=B5PLOQqjxEANJS;YHF zek=@4h-M&h(5N1d3FNR)t}7>`*z3kbDg&l zRCFaSaT7#S0j!Xk0eF&+qxAjAI;d2&(Mg#Ir@Kt82b+}fZQO%X-L1&Y%-kyAGV8A4 zu_Ot^y{{BiZ+&xF4D;u`!k`^5-(GOPG%n8r?pYkqr?JHO>?JvR)e0k7Vk+U=KQFo5 zuC;qo=Tp~zo;As2&M|MbXRUP%F5vwfU!oivhbdusqW+i#Z`Uxc_U)Rt%5fIChaAdE zbcZDjsy>-Hw{mf@p#F}ng7iw+SB60Y{Rpw%`;jtY3`7r~aWP^HbaLgSZdSXp&8y)# zEQA4*vCpblZ*c-1ps+J#<)I;Gf34R@9xKL7=nku`!WJR#|LoVw@F^ zCX@|-w6obX%-d2(VxcSXr3#&ZW4nhAGIaKwTI-1`rqTMbfvYgai~B4d**xGFaK!ee z7F$`}T-VxiGaKpmlbN!RX?Et1&52|-@w2AW00$xC`=|7qXqIzTH%7H6S8h0JhcwM- zu%2s2fx&7iA@Yz1kwxxCUSLf>AyZ7^TH_XfnPn>*<9-l)gUmJZsk`Cw4xo*f>?VXe zZ~_N-v|;mH@7fqcEP3HE=CK7|a4hFW??uQmUCJ-`l7pR8kfq(uk6fr4qjXSUs?jQl zHZIZt>v!c8GiTA}Hw%_!LDuY}Rv1g4ugpHypNw*A;>2Aaf*20-r>zNuw+~wLX^nq> z&!d0aq4(B{-q8G-dss>!Y5qg3izRWNh5YQzFVd(VPtiVf|BFq}n=WpxuWgAW^`?zO zvxQfD`2jq6MN;dFJav4^OLUB^S?DkQs<3}Js~3bIOn30VvS;e9_V?04?h^eiyLp7hXKLA!G_sZ-!E zD(?vsZlRuOVoKqZlXJ&bduntN)&tb0D2lpx5;_W416$PaGA%(=| zom@?ildF{nI}%8wO1j4)t>eXf#%hPFaMabM1?{HhR(LNH!yN;75=NtAK}J>O)QS*r z#=-Yd3N#QSq1I7yKu>ZO%@9F(7I3b($!NeCnqJ*5L;;~1MiaipX@yqnIy`CkH6>WP zP=%^QhQX{!x6$j8Nk)Wq)pPQH2@D&{xt$v{-VdyYloytRAT2g!%p?tHYDVjj+0vG@ zZ?d@Vbb-h#i*EEfmE*xc<7k@nFFJCoRTpp5XEyICeg7MQJ7vQbx=-PMV_4J}?d(<- zP-Y+|18SZOWnBA(Y9mpl9P%mXVpa5R#^7az~JiaBj?=BdY^N(KR| zr7&zvCqv#i4?kJ?A75#I9&eQ&C)$)uyN>)T!nHdE=S%9$dy8ja7IZS5sp>$H^st z!+g5f72r`tE?ldCkGc9OK_ zq^{=GbNw3U(N}$~U>MAOt%?o#Rd_LtQPM@0bvSy__V?ID>uA?VenvEK=_xG$Iax?q z4SH&CvVzi)1)w+BN#hq#u}%GaTwC!wv=WE2nL*)=GNQoWZd?FdGGP9lrV zQ2=Ts^iu^`p)d;6N7%Lud zcHz4}4;?&oq^ew4cKVcw_y71qXaVrkpJ&m+vq(Tv{ydU@{ydT-JZmseDQHgY`OJeR zft3qJNe`q1MFvtt?OBQQx<-yd{J~+p7Y72Gu$Z@m@iRGe%@$7=>?@oj5$r6X6n=rKuB>gm;Nj|s~jgBY35Nsv~ zMv6{BOl!HK$PNOBYJxh3C9KJ0B2jSUfC0S%OHD}WXxD9x8!6`97G_#Gr^GH-sU`=aSBIdj;=FQmRFq{?Vt92huHJddRMXRyrYQ%` zZ&z`D0Tvf$g?v&I3Z)g9f#~1L%qC7E?;CBAe^-@fUqNG7YTt$QMEs5 zEgy)wdh(`%>Ms^LWbs7FqKY`g(C0V;pkT^>8wd0HP}a>xP7MkmzMdQ1qP!JJ+>k}m ze1THbryO*suvkP?)2H*rY%4A-HpOzeh2&EW)nNKHS)V9(U`^R|j6PaMoWg^SCW}GM z>e|Uktf3>tjXy8!_o*T_*?(1}jU@{e_z4xaGO$wX4OSkkIZ6<uph7L>6>Nr#!QT`QGBLVm9#0Nr)y7>$W<(VXoNn?!9V-=TNyx!oyoSt)VY zlMSKkZ<$PDYn=kht(Gby_Ms&lpiq5sTi7HS>-%`aBe(O8NmqR5V&Xo7_|`sUBYpki zTV>KvV0`XEFThQD<4GRGf`D5kVWJOzbKuXBfS+`g^BEm1>sZTKTWNwC7p$PuIUHjd z86Ay=v9Vlr{@Od9ds%^Z>Z0C^t|dZ-H6Olk(0d6n0!KXJ(&NsiS{S(fUAs&5OTK+? zR(eN43&>Gb3*N<46)tmp_!e`~&Drk$v!#Xlssk_KuL4OpmxaV5Ury}970-u%iZ(w? zR&3}}){D5ycPvps6%2Aj(cH#pLUnnj{Bx^fuV1}Y!QK}k->(vVCSGt7JYiTUq%_s- zl?f-;@sW8eD3JiqO{%&=-u=2ANvZsQWLN46&Wz0s4;XO6%5PgXz1&r+o`(yR&cf3E zP?hfnwYU*AoDl6~vVpRQ?^fP_h4Ak!UoUEp<+fHXT0@HKkbNx|=h35F4^#`SvS_AT zx-AJD7uIx|TT-WF=q0gke2ttkAf2<-qWVvAk_dPCM7@ax4@CW1V3NPM&Uy65{mt-y~ zjU~yvrP0;X$l|qp_bbRj6N4dU%-q>9y55j%8Eb>CBnsnmM-J9y+p3rt*2Q+j^)H>9 zQN`zz5FRf{Hur7Pyg68H(47tJ!V)rkp2r2AEZ;=OA8Fg!!81I32~(iEhZs%m_g-hL zniA&Ih_Q9_I0kVxr7C-W66S+2Z{AI!R;aK!@-xnD46+!hubkS=*07ZvCd0=S7o}vW zTy%)3NFg=y#_jiE4mgDXvbBL<+3%b03L8=lS=)V^?%vFkrrpMs6Fa@#%bTrt>r1wZ zZM`v`9(40W+JuwWsC;bu1Dd{yw_dL9yAT@;&w)&2u;!*la9Rd`{AC#wb>6fK|Eh8z zFXGGs(8;X%5%Q3OVm1y3Rut6=8xx712Y@j4i-HNwVSc9?M9nGP#*sq5Is*BxF0@<& zLFrLauIJ@w9)ivltQ=xmzz17*Jqf=RB1BEc;)#J-VzPBKs4e5Nw`=yHIgFIa)aEYh z36pTn+nP?@kAy~l>tK_?i9gqp%QZCX@@w}nH3$CM_+=jVvEN=eA{6JEh$eLbh6f*F zZp*7=G@9!o$tx&QnibA8WIbkdm!vK(Lpt zKO%!cOc`NxI^E!!fzu0CVwIO-7=J|L-k4M@<#OdR(Uf<8Ck|O7z9>tLnLo z&OnXD14r9!INi-B@dvzxY0Xnh4-0ZY`X;`#1hsW2pixWfmh; zgYI#GM_r1UrC7(lB1~cG0;zqYDqj9{O<}R-DVG14S!+m-kAbWA(hAr z`oo2%IsJBM96*{8RsUZ(28leuZ^)^Ib*svMu_~YI_hnd}Rp#SYuMo70A_QFUU^U6d z@3?}`zpRWp748NN7|@I#l$L3y7b8 z6ON!BS;KDpbd=0=c*!`%Yp3)5OU1YIDeU`!grcbU1`PV4d?L2pmCe0IWm!N9sru}) zQfU$n#^Dt4h>>k9|8D31U(qRe>b3q4f3EZ@v=-v zBDlNO$=OoSdf`mNK5g(l(de6DrX32QP;!U#5tX0^sv@?`E%2q7 zq9Ifm#z>rGlVZ;_VhqbOeMU-m-~rJ!-O$xen4~HSPv$AUfcw9$g2zo4;_L^Rgn5ho z5mGFgFq0(i)lh5!+E4;*)WzR_$B067y_AyLNt&5dOpHOxbbXA{EmIuLlaa#JWer|v5#11OG{i#BT4XNKnTz%ot%dJHx$Dbg za9X2%X`L>meT*)e*f&ydtp$Fwk1!p|gUf~@qdXUpp$K4cG9Wv)0}W<>6&C|?t+3F| z)&Zppc<1kF=0`Lp*fv=Uo^}l9EUL;XdlX3#bLfYrQc%G%LJKU{ zk7R{Jg@d?p-f*-P!RF%;X321NrKB_21>%e$W4^NAp`EM^3v}Qch{tFYPBYs(Lf@+f z?`5hlT5`nsHnS88oF}+{RA_@(x1o6w(;6GBD8x0(i~$r$fw18q9uN}E%$@w5XvZN@ zKpbKD;nB6Et&JZW`I*ksb9ngLV~@1fqikW5;gs9wq6yCShXtuU@cK7xV z4lSCqVIqc09L$Q!B=I|-#2KE>B!T%V7MyeinmL^R>tD)x=HcoRyHc@$Z&5PB2K;QI z(KDV~$jHY>L5-@?9q|Q+lz??2iX|f9DO*JPM3X$?k%eQnk=uOA^#=8oiUE{7jh;$r zE06&bwzCJ_;`~{EPe<#39;CjKpd|9Dh^vWGp51Z=;Z&DD4ui;eR$!1c!gx`Eaz}c) z&;3#v=ZKA6>=ny3}z}$-Rg~k1>6-aVpSt?jU*vc5Z&gNr*<+ljNbm;obl=ZE`Ohl$Nb4E2~?_ohCNPD8T2#}Y}znHc9@H9SjM9! zFWAZAe(qVU(naxh_6_<`fr2kJcAwMl^R8(1qJ?wDifNw~n`VS#u6x$qrA&!7P2o-Q z91_P#$hLC=?8fYB9)>>oL}-k^!3);?;LR3(Zw15Pff(a<-)c0TdlGAJxi#?zdVUiZ zW5Miyxz_AC1z*C5;PB9>gasfvD|g$CAG5M|q1VzK9#R1}VHxlC_L(&P>vraCH{_YF z8W`y^W)4xMi<@jZ-8Qb2Wpbg=WxPL=N@Nea`c89p+1Udre_FP!&iLJ85xkdS|2x1I6GLvpXxN@%G9>j1}*TS zq2KHD&)WXhT08jlFZ}wNhO<$iLm7Pg<}a%GU-fVBET*r)w`+2QKc!??=y9!XKSiPq z9^2d9)gS*>U!g?|`Bs&p{7oMm>{o7o8ohgj2$ROJJ+mb(HxF9P8#hhMw4{SpYiDQW z4iJwc>-56Gvc~uJ4o&0o+dK8>+BBS9V6&U!$!rrH1RH34+8onSv`K#24dheA1m2t^ zak?>06Y5*OoTU8AW|sChdwyCq~PEW6)aI zAHg@;`~f%Y{zZhM+Ir9AU{lTLtlfTWbVb4n;=l%zu3>_M3Xlh+{pG4CHK+w{2BTHp zbW54C`wk@#!h>;e=KxUv@GvhlgyVT1rITo+vi)Hml6j#6*zHkdRHIH6_hLs3P6(s> zbR`Xv>FgP8;3Cq>@IvgwoH%ggM(oRR)Rgf zmv%WMo*%5BRA;6PQ8Z1(87T0v^1b2VPJz!hC5H1+jtW*yH6zaq+irWh-ryq&29 z(MEg9nS{-U>R?-ZyRi0&x5&0q%zlh8kdYJJ<&wk`;Q>k6%25&yx+d_F2ZCJHC76dg zE#Fij^1v0$aG3Srm0aFdk(QpbZ*n5{}Dp6FM|(u%{QNUHNmI8yPdq0=oT zKv4Qno!6TpavTbA#de}#E+bBp*s^-$BxSpei&E1~xN5Fc_=`T62kL<)L`}6%5cw}v zXJgp2nBkX)!MAv+-L@|4rWsei87CmbFuX=s&OQiCtNA0rvc33!&j#xWJ|cg;h(;J> z0jC4}-H9fbahgm}(QUWS;FDwX0hW2|zlSHkgMUs*y!jh@# zVn2rS^9m~+1M3Z2me$rqQ+E>l3MCz?E|;qce$GX!EnT5E@BRyyq{i3m4we+{kPyCK zBGAeguc&4h7q05wSaDw{<2rWkyk`Ee8h4+1v-K|c@_x{NEHt=eMcs!xm;Px322omaF<#-$?Qfl3Q~uTuTh*`K`POx`Y015Nt6BZtU1;0# z>6A3z+^T+m>&`bXi8W;{@86s#D#xs(>DKPeo6frmO1jv&1zjpMzk6uypwDEFnDa2z zdAZyqp_I&D^|8j+{ai!ZeCW=+)K2kh*o!lF)3)0W@vo=!M_oY&wc8Hnb)Ym&Wq15d z%o|c;@*Z531uUK}*>XkZ>-R7r*mAf^auiUIr^d{Gl&p7d*zV%0Q_mTEU=NeK}DtKEAXNCH#o)WP6?$99+k)0=0kt=+^8$`np>o?`W#4MQE zE9Kdk3zV)xIk1}1Vag6N_U2}x-Q1l}x>qECgWF3O=ZNRI}N+EJr;ljy9JGnr~8PHm}lVJ{@}Te)~irD6a22KSpnahucM^!T(Xc`bAZE z`?jj^BjG_@3^wL|eafBJsTLJ4lKSnG0^s<6?-Rixdayu$-rm`&uGHPhPz)4WnMS{Y zN`EIK!hp+?o4{7{;PZ|J?eryM+1ow*ykohHOZ|pB2V0+2X(SZ zl6QwJw_OXNfNlRts@(e~s#i`~Jk1@I@mHfukzV~P`BUIu@$JH2b#b*YG4Ye%>aOd5 zSJ^Nr>l$@g{I?THvXnsb@`oVDd2EuS-C_LUun%K7#t%-^-`MB^{dTeX`m61D2(;Ps zH>J*E)zDNj(y=p+Aj#w5sx`BmcoAi9QJ(A~8e2{{qa`E4r~_)I%QXZ_-qT`R1d9tT$2dot^5dG0|nRB!7-FhOO0}$ z*>yHUj~(XkX9Da-MH&=b-^{S7iZZdu^S8eRXBb^!hhXS0H-fJ0?QYwF6uy_42oWZ2 z4YWx*LTTu4R8UEg5czA=IsuoUBPWQ5-0jTji82f)Rv3wlO9>bl*mv0ShC(ra8gR4- zRrwSwLu=Fszl1=rD1c11LZMaOX*XzlLAy%)RcTeRh~1QRUAqGrtTYnkr*?pB<17bB zi+z_}^4xYj9D@FA1e8MzP%4|iSVNSUA~&Q&(n+1H?p2sbkP@lT`E*Lq9Uvg!zHC)* z)4;uzVIAZU31#7rm9|T z8~J!g^ZZ0}lzbzeD)zDBMCJW<{uH>utc!=yZD*-k zB_}Au_r}#G>vhUNB@SQq$dFX;5~ zm}-Gc`0}sOWfr8wa1~<8)=>Gwn1ntGV^&%TUYQYOQce?p7o?g%U8#Xj3}Cec4-y6# zw4+$rbSwSAS|R2nS)ToflM})*QOwA%Nxe08hox8qD8;<8QA}5R%37D1kAbEo*&KgU zhuMO2>~C+VnRoW>fn90rdHYpm7O-{wH(xh?(0B8|P)r=zMTh-)HM`Aq`^eE;flE|# z$6%sn@X6nQoJo0S|0v1wSeJQz2$XG!tqvC$_e3G08reWZhYd=C>FJH&2>61kVGV=s z^DmoSPEB(d%mSq0WOq!SRgB|_^i;BzhGuQ9f^i?)|C+2^4{Co`aPndZYX|g&KM~~E zdO{n>f-j9>t7zx<+1zUO&Xs-(Ax$`KRjFL4s1K2UvP0tYmEp!x=8~3^^r%#5;Z|R$ z9Dx_B%jEqERRbvX=SMgxsqU+wWEAIwH+U7GeAAt*_3qjk3~_?NJ2g40*BivXaG|r7 z5EQ0(8dEGOc z)xVpHUfaFfdTqa^fEr2#ej%AYc!@loUPR-6C=EyQ;e&P?4#y6MHQOH2cYm*X7~~55Cey{;9voJ8|5oo7qi+^<+uGW0eS&VYW!*Lps=ME-cbi7z$7@sEJS^IuVf_qyVWBrZ#j|~oD<`J z&awd=?5s)}OYW^WBr7$jBs8SCQ$4ozwxbaOEgw{C_w%LCMrxp&pyX5!Qq`}?KFF4( z$(Fg{%ihBjNv6Jko~`6zOKRncIGK5W~&t@%Oa_@Qoybt(9=8c#OHAkWfk z?Yv4D9r)!>#{`<^0`?;sgW&&@2GyfVPsd^Z!g7}?J(LH7v6&f_UqxR*oF!ZaoM08Q zX~+PnQErrt;L$}q8ld`&X}x546O}jk5*|N0Ty)0QnHY-#96JgZodPa`U-Y6Q5BHH>dK?Wgf{Mvhf0b-MN( z_UXD}Dnsr%cZ$tMtnN~k(?~&oi1R(*!#v9PBETjQ=S$4$&7w@~UaW76^D~?x3VKR4 zRIv+<0m;1z?s+yhl`eXbX1#$;tS9!{20>Du4anJ<*=$sIH%vwgOlC_J!SaY#hIXiB zh2>8{GT7g*t5o&!F{xx;DgiK1BhuT$6wbxHqQ_QKMm=0EiELh1poqzT1TBkG!CQe9 zw)R}jDLt#_jcX*$&~xjQXOC3YWOayehOOY0Bu9ps`n=tCA6b`hdRk)5t8y$o2<}%s zu1F+Wfgbq>f?rKY{ZgGtr`_f+P3B%u%g3|kVyp}2jeV)8`C@7domsa5Hx76ix=^Lj zSgqGAz?E$Iu=Hi2Y*Y(>B9VOq(d|_ui@7zFQw0IUKhhVgjm5MrG@*u;4k=q{NJ}B1 zJOj(T1FO7d&fTM&REx(@Y@{lE>Jlasf z6v$CrESpTH04iv?gPG)$=nM*F1O#w04G|q))x#pFw}$xA&mP==>}H~9VmK+VlT?Y_ zR5Gm2L{OY`O1?gq&);z52aN4qZlNe>-@OD81Al8}9B2(TAhSQKv0s1tz*#$fq#-a) zs=GXD6B5tTsx8%sT|Hc?)U$}}FvJkqDAYzi3zshl#lwNhp{W*Vt;7v4LCe>|26JF{ zOuMici=6Dd8~9CsOi0fA#?2C0Jvoac7Y<$?zID*@EbEisYf$FIy45dr{kJ!ZZYTs6 zk7tY(?(0OM-FN(ImgWKBvR83-q3c&6qu5yD$=F;@q z>h`vL7bdg2YHtTy)q7)PjB)s}gV(;*J8SLkZ>`u_zTpmkdWm5JVttS@<4JSp^H~OP zc$>M<{0hig68cXb%2O$CURPdj)Z3EtOeWuMe|Pj#=lF-?=VzVM<5wp~&rbe%{J8V% z_<4D_KW{ABByg!i0InC`!OJf@($1q7-+gy-_8t5xMskLA`4#Ul@gSMB2qBEH8DN#+ z`Wn*s7Jl7-=_LrSH0WGLeU;&$4I9Su8k{90s#Ly$sN(ow-eGG%^-xD*BIB7zsck50 z9P)i-N&F)>(BNJc7!Kn5G0Skm!oZ?rQbkqQif~O7^WkCyg;P`j!;$Ll35rJtlMkDN}S-X zq!%eHo2fFgfu0}6@!`Gf9Mm|hFFhTFbB+O#H)>dhD7betLYstgs*;-WFzLZ*$z7Tf zL(Q#wn7pTO!>&!mE<}b>$YdyH`I1gnnZ7FO6Q?qgf$AR_3q5tc6lB{5ywlg=!el^! zvo^JVG$69f^sc!Tf@mtxTw#3x5tYI;$05wtQK#{F1E5{g~I z>cT>%3TlJ7g4ZKiNeVsU7M9pT*G&i&6|Tb>WUMqYE}({(Rr)Z&W?V{ z>PA38i!MR5Sx`8=cp<8;DhTuCpJ>DOClUWc)c;zpa%E@J17V`VzOi%P6!V&|iYd;2 z3T?+y0SwNXVP-S3cKhp2J!rw6D;-YGkAMd2errrZ*PhyC9ni5yXFmMc)lk>9xTc7 z->Dvk;xsGNns2wtQueFU%Gan|Ul4~BZS4+Um4t9T+8+|5YTYjOp?%sTr z&K>r>>seHqZ%+(TH+#Tx{hJeijPJ^Sdjq$@_%f=w4ScX(L9>?al(LCzg3z%DLa^Nm zdhtxV_4JrEF1JzE^|DKxVLX|j0T5jaHgeR0eQaIl&3IHY*OX|}$^4HhT{Wf2GgE$^RF*W0a8E=DHUf~ezOW&5M(SO}TT%kjEiwF_G@_6rM z+s!bZDKE4zx`oZ<6K%{CgmvjB3`(eKi}~AvBeQi^cI7PUr*Np_fJ+XM6(a0ZqoZaA z_Q$Bz5zTx-^9Nhit+}Ot%}?f|5qVC^?9;o|k#{tDYFUtFv-*IkE#xXZOjsW)3!vPq zepG8Uk<+1(yRp2^a?APQVf7G2i!VBaq#I?V^JNrPQ--#*Tip+E8Ky+$6}#ANu1+Yu z0_AMDbJ(ih?y7{}-TsWa$AYpPh+)KVG9)eSqb3D6{-<7f6au-;V zO`9E_yng=Z?BvDs&e5xHPAzl9cX0DK`sTRv{PnYECr?g}Us>P1eEsm*$)nE0pU;jT zy?A_F{N~ZovuBTw&W?O$$O149{8`} zg%UF+GxtM_Anq5VC>(Yqq-41r(dZUb8I#nmgRijGkE)P=$)**YBR>b{F+Q=~dPf-F z69Spk7iavn7v(e?Y(i1P(}?=2^j%Fe&&&F|DuWR6dYX}M%7@Qu;2S-EQ~IWT{P+l{ zzb$RStf;2}^JU?EQM;|`c5X;tIf(XlmTVE`u8y6JwYZrx(J3pb6ZfHX|+KQ1qZC8_b2%x@NOoYX=QEilK zIJP&{nT-rwX{5HtlHq1d5cnv}GReVp!Wrl~TzgZK{Q7?fdSL4k9N%a(R0r<}6ixeC z|1Um&IS!_jW})?BNp_v8!3s!LVVsJf!!8 z3zS|QL@h$)LZ+B|)-YCOE%u#Phrxh-oTHe3!J<(_9DvJ#xEnU@Wu?>*%-O0Zzz<@o zyqvKdY3QEZ^rKsc=MYt5()ouo-MO*Wr9Af8zhZ6Tx3W)~vf7V>~C}g-~Fv z6!^+5WJ6c3!v_WW#el1EEq7IrPbV!g6LEvOCAmbA-^e#ufy1DIepT_|udDNc(P|KX z(!pd~`kW7rpoVrZDwe@dC`UE1#FHl=O z#DeUP<^w_)(%q^9r=f~Chr<~qMnU&~vez)XDL$WIC|M);vMH#G6da{cB&TVF3xd8* zY{jBF48P;f3`kJUJ6~F%z$KU3k~OJ&x?0zvx8j@iq!}!-B^l4GQT$=}2bPeK8I@ma z9TrEaY%2S)l^Ub%4Eib-HoOkgi87>YX0yR4?rHl88&PmNjak<9-%7~ZJHrcq;MT|H z!OlT%Yj1DAwG;NXhQr?OR@CopMbY;5;X%|p*ghOK_gV+7?Llj=)e8rQyNCO&W_Z|d zZV#H#;hrA7@h#h$pwr>{S4-)=%(UiGd`tyMQC-Bl>{mf^YfCBS_ALlLwiPpagKt1_ zeq;VtSUFRYir)K7%jMF+UNBgHhG;ix!WtYz!~WLx0bD!w!ro46xD`gNaQ~n;IM^NZ z4q#n(h6meQ&4XdIwLk2)c6VX@w)&+D=Iye=l6g&)H(DopMAYott(U9re%6(9$lz|Z zov^vPeb^iHny{Iot?jMD{r+%gu(Q=a*pIea{cvl0xYdIl7;Z;<&Hb={AMJ+wz2RW{ za0mW>#~%OdjDg_#(`j%yZc*Tqs<@tCSnr4`EbIc6Z{g}z*YX^j#{^zKJj}C2vw;kO za(_jZ;7900#fyP{YCZS@RI73cy_jjWGz5e#zR_ow!d$1qw z^mbsyTm4ql-{09AHp4-Gw7a#n6ZUuZn}e-kueY;%upb^Y!#!Cs*PC{D>$)23Q13+j z0UV)}_$r4~Ni4$Q>e(6LbgFE=6?$j_nJRZ7qj#D`P2hc0;;w4$Z&!B;dRr$I0*NQdT~um zfBB1|+e=@1j$Xb5S^ew#VNf&lFk!qJ#rvjHrb&**7?yH~Ou^$=--@$k>#zY}U^ z6b-2IId|4IW5Rmm@DK24oT`Fw8jW42<8t$L4O@?3c?f}^(-UfBIv}t)J`!PU*}4Pd z(Kv6kgX8IYphA?r2f}<4I9MQR6#O{;D{XKaEDCacCTf zrKhQOVhYb%i~)2hFgoXV6+TuvP@Yw5Z%lLV>VfikdX27VV4O}jSTN=|h-?QT)WYD0)#BuT_;Or;U&JpX*{Nzx8f^!4_F2*K5vSKC%{@_taKg!R~D| z(l_qj{#eg#cF)Z0j3r+Hz+#f|3+qmvH}W1WF!`!*;YbsbWi4O#Iw$<0(tUJ%irZ`R zk74GxLb7g*MzU`04WF)7qgTqXBv$hFV?*!!2N8}=z!Me` zjZJ`msNk(aIDDRJ?8G3`QUaT1W0OO?v6pz}1YMngMjidsM07`K6SDjcxlF$;v7oV# zbYdz&P{SQ+$#{9XY25w2N$ni*c({e>>{qxU~9X#-E8gm z;eWm6uyq*jhlAm8x8Ls%4~D(1y&guA{qK{mE1dM?d=SAh6h`{-CnP`H#pqsHxITB!kwLi-NW5sv$?ywyBF>D59~aD zC2LV^c7u5>JL2k0ftp_Hw3J`uepjnAq2tYMLWd{gwas=GwR zCB$fLEH+sbjWGdI_lmW6;E@P-4$Op&I+Fd%sAE|o7;1&?Fj05XPp_w>;NY`^NdI|7 z9vJ8xQLGS-DKnj#5=_)RsBVL#VOtx2QcyaRLH_Kj#xTv@!7i{$Z@bs(hv8nh*V@`2 zZa24wTf6<;W^;QG^}^jjczD>_AMEY4nmu@`xwiv1r`}-`{>n4V*5Uq6e|xZX(AwSF zZidm}_I7J$d$6~=9RaI^TfMD=-r-gh?GIb6gCQ`^ZhwCVZqQM<-9OlG<`dh0jM2lH zTfKDF6|7JzUtfJ9r4w30MPx~{wY^gpF#x~rI-6Kt>lI&vC->BA@aukVw@lwtUv$gx zT{4F8NAzKZS!AnkYLs>q5VX|0aZA1RTkYXaSf~D-xF%-}!cnDmdely6MpMcnh30S1 z8%xX#zb~VZzx>XaMOwQvhEY_1!v<{y*+~_^4jUgGLH}bETwx7_QTQ*+F=qzR1@xHx z(9FT&cMuOykoGU4{(C_Y&+ujg&tGr!lO!F$Suiuedqgh`cEOnv)S&KoB-Ls#-eokj z(2B;%U_P2>R8UWe>noJp=b_}tPv2ufxJ08|TnE<*=O`ZNN;q_=K{K^~A5Eux2oYX8 z343mIU`-Y#is*e*ZsZ=-hLn!Eb`>Yj*m6H(E>bmNghS$CP+PPNAuI!4C)BdhV6ECJ zlFM`dKJP{+ObI?H4PnBTVZgdL%U60-JsFi|l*--r^4<3qbl=N&e><7B!f5{!MBhpV z&N~rzH_Zd#Dgawb)?RM@5g zhwbS7-fi0J<=L;M2Km?fs{MNKcFn%vvfyHb9%dv)ex+Ykz!gOgy?wTX?;tj-~D0wp6j1&5Q;3`Prj;1hc)VP@wTJz18lheewSI2#@e z0BS&$zXCrXWO<6a-id4~P*4pPI^f=A5Mvi4k2`@W~@hX5$F7)GtlWT6d z5j>3gp#Wm@O@TwHXW==Gf$P)%?F~iD)&^0?rik@-UBZ=16{uZ0e}O5nxt5wb!goO< zMA+>>$ZvdJNKgcqqqBJykFk;e_b-U5&8&JwkL2x@=~`vdUS2_fibjjt4vk zMev{|1?9xe+XYR4zGG;3euHbLTJ_mYbUOCnX~GU+U)Kqgq|(8yBy6`~(Ps!U-)$t;(|ZShU{<{94m9tO;&wamH#THt zifn9b08edTe42t^%Yqu;7GCV?6V=DdfA2j}J&;c{QFYk;-t$!B z_(aoGC-3h)O*M{BG)+ql_`PRp4doL}R;wky_f+*jKG8(AlJt8|R1c)WMCB}cLTa6L z6iJHWC>-|&oROE#Cp2TK4}T}8lPHtFH@WiTDN?QWZ=CeM74_;&gF8C9{vcGykLUAH zA$N)Uy@`+;f6nKjLGHTwd($8{oXGy)CPQ&VpNA6pTm0`$hx~Xx4;AtThu@nD z`SGky1qsn4_gy6QvoIG!C5B&JTyv}iVoZ}?ui;)$t?}Yry)Dz``nlKBXmI>-YS851 z3A~F&@R{ujl16GTDDb1*o+J~*A+?R(e-Yb_Hgp^Nf3~)PhrQS`iNgncdQjAf^96j> z+}_zm*rnZ8vkCv*+uC!=@H!2=k0%3yyrK)VV;Bnbr||u$R1BnQEnAGqjXZ`KoA!5N z_2?<9tzl2~8NlLilX!oID z=$ocycQNn*Ti&EDQ5#-0MZF*P%?=lC_2H)f26=sWUKv93WwtYS1 z`XR4lu9L-G$+wEMjN0mX=C{IU`A^>EyIr%^Yo1GvpzoDEkpz$t0nF0vc9jGKcc{PR z$a@)QagVCt5pEgdeU$QI$=a2I_$^q!1?2oBe`C}x{3X}^n#z#FcK>m8^yuNyadLEY^zh-y!>91~(Zl2Z2z{$(asSc7@4tWikE@e! z9v&SHADtgPIXe3J=+(okqgU^Le)#PBi{qns>*Uq<-_0H!|9t$9@8PAV-%pOtPmW(* zfA=39U44J_;%evU2>N&iUwwadboI~U-RqsRZ_dB%U3~wl7d|}y;bQRZ-UpK*IOq?-=6@@ULQaF9{T+L^}~N$e|?8* za&&V39_W7*13kZed3A6EzkiEk#qYj7KY8-#bnDrp@82W6VOR;!;pAJGcRk_v#V;{^)!2 z`;qYd;rR)U^AV17{}GS#=@E?S{OIZtecm5`dwvW{{L{nNk599Iyp9iEpIyQC z$MX4)d-Ln3Kb`;b-OvAg%%2;tMjy^Yj3S%C3Dv{=2}iKw!7dr2*6yWGfAOqB1m&UH zY{nPEDq?m$?j@s)d^`XArPrIETpgeEhW{80`q9zOmuF87N3$?V&Q7!U4^Mu1boycb z?cnh6uFJJDbKWxr>SDU@f!R5uy=6r83m>h0D z3->3z-r<+S!Oy+#zU*BcfA0VC({Ah8<-yU#i~WD3|C%1{{bT3-)6LiY)05+^qi5qM z-=9BeO@AI89{uwG2=d+K@uREL*U6KUhoj?*Z%@C^PQKec>TL}UA3mN=PL6&$Imy2N zrkQ>J-G2FfB62@>-h2{93K7iA4k6=FCI-{_dovEKObNJG&ug}mq*Y3agx1{f4+Ef zalZZil|X7yrD7_a8pFJpS?e=+*gk zbn^V*m)?gbKkx5-fAif|{P4-q{A4$Kxw{vhyn1{%Oh5ec;_~J6@a6EIU(R0q^3COs zmmhXsUjDS--;A~{zx>$x@a6u?XfoWL&wu%4{(N`yX@4_)zyHq>+`GG$1jt?kNt0-d^-t$ zfhSMC`RDK-$G;4ozmAjE==+P!BzkpvJbRkVU#HK`e)`vwA6_J1?tQpOe%$%?eE-S8 z;50tpdA)V~fApZ$zs@EiOvp@pm7eeK)Y?XpAW{Dvu}HQrx$yBfB!#wU()O*wsiYfzIam&Xao{e z#5bVtk?16$H#kAx2_XRjp@{e2-v-I$Q!Y2M%Xazt9wuiWM3XyrlB~5zHs#)EC5*e^ zbhQPkb{p=QHD58iv&$0pHeMM3F#73LcaXEN>52sflZj!^hYLJEHAZ?3R`PnWr%%cu zF%vIxf30or>3Wv>>Yf$UhSU-vTqfB;)+-e5Z3 zMa!b@Trd`nk0ynf8|8LMiuwM?n`hkf^`ZA@fAfe}DYIRXGQ5x|?CLs=dOBi_@67VV zfdcz@=}wT;!*idL5Ox#CFdJ&;BPl~MdzMxtV+Y0@uQp6`EYnQ1APO4V)2!3Uqdi9= z!Mi$3pA0S+brE(42r1!XJ&Tscc7~p=YZ^wOs5>A+bXa(S3RzkeXS*wTbD*V3{O|j8 zf0i{be<>vc*#`i;=+EEZfszl<_h0IJes@;0gb9+w@C7j^F?30wB#!)3OE1R{efhC7 z1LxpN6eku44oDR~Czt3yJ#ih4&+ws%ppBs%+HAZ8>?MoHE@uSzj|7Y-{$*2Dw zJ9>h8{3VHuxay;ZecG(QUSS`YbO&yKf2*2#isMLkj+0Cr$Fcy&p$z7Zt0#`bjeNtj zMqVS0yoSB=nxv%?8So>C1^ftLZiA!jW(7bfMGb&!a2jQjwH^%M;G98eg1HJV+_hp# z%;C0Z;_~j!N^T1-#ViVy3&u_f9Dkg z>EAa;Tu%e8#ZV7iPmQ=fm~cJ7*%H9@65t6d+9)PIF}11pZ7O-SJ}E|A&w)Nl4_q&e zxE}at#PuST08*3~3}cVD9su;wcN6BXIKanRrcXv52K+bju!I|bX8=wISYKvdaT0Cf zBt|~=n=zcoN0Lmc*@AOwU_XsD07*+=i5>UrD{0zqblx5Y$AdYF?FH80qKWfe$73|y z=zrE=*>))jqyO1g{-=$<`kw{<=N|s&CjS$Y|JhzLfd35+_?9&RpG!Gre`?e3+svyr zn{uQ7M;~er|7#Psy!(GmB_jt*7}2WQ0d_h(uoL7a7ue}4^f1~P06SO5hn-{Gg6)a(n72Tl5JAj~ zU<}6VN1*6lp_72QujB6P62QR$9tOu1nZzxo{Q-HyCk}3tO5&1wJ z&b#)pUNtzDPAbqJNtDNHZp_(o--64WpYr&arYQ~N7%*mi1=c&NG;Sj~Ed_F(Y8cX( z8<<2=#>*7Ms|NCh%reF!ftokD=SD3hA9F{=jK^`_=?$&2e<1WS^G9jW^_3Wy|Pw2YkuNxVWN6o5G|KWPQKoj`Psrx zf-QG*KPE{if}ng6uWwi4xSlWK)wtRwW?~O%@vbL28zZ~hfCxGGfrbj(I6y;E&yRB} zHa28TN_2f-f2?#TNrSOLnc3CEPGVLB92hf(0rw4lE5m1XRCKU%OI;P(F~oeZ*0Mwv zIcnBv=c)>Oz|yrtaulMZTglXzWOL%&-lW1-TO`Bw)LaFSdeCfBFA^g%+)I*dtiBJ- zLZY{W*(X7$u!i4op0#sTJgE*yap9FJ6^a%CgjRBje+rOl9ne||g?DfP9ULm(Mzama zoPZtH#SjeF*EZ}Rz^*`B$ZYB;Q#3O9eh}g>iL}4!2xx*?FVxM4N5s&6V!YG`GT5l<7e|cX8#zoU&!Zs*+V} z`9UtznnEcn`-G+Jl@Uu}U5cPT1jmc3p7ahJy1r?9n6i0@9q9HPS0&crktEG=KM(HAiW8=BfAXuf&N#0ywSd@ZS+cpUR|i2)mk8Z3 zjwS|L#cf=u#o#LIlN}x`Wo5soly%7+GKTZ{ESOzA(ONA$S~aY|$Kca8an~EjWSLw% z2xr{A3hlXC;hunWX?5Corf{gO)v0n*7JwUQRXDB4Ng_$CS63qL>P6VroxeMIHlHkV ze;=M5J6~)`^oT)SN~r9TfW$sNF6|o`ix_l7ma$N5kPRF|!=)Z-41>yEhfY|@65%X` z^ggPUS*YP=i80sWBBOFB^`?rdGMAkcj3b#1yzGpbDV3>$@g!qpa>vBV-gMJTNJ~@? zU+Roe&P+ zW+ZVCce|W5EVXh;Z&5UKvMO}QP?W<-6>6akd}Y7V`I&!J^fYx3f|@F4L0w()`Cc&1 z&^4B<#O-p(I};jP!Hy)I+=3f;*t`^)OzRjSU;yY=n|_(JN_#B^PAlP9vH7ve!X1Vm zGf$F{ZJ%p)$nK-ssRJ1ggV`CEs`>V~JO$oH&)MpN6T6yR1-UJ+R|<{de_nWU&=yrp zzfy|AIy&W17X`K5tSOWLIoq74Vp-m5MpvMqk}pSZOKY%l-l1p}?489BugXSL-42?o zLD${XM%>|txws_CS=H=R`~a;>Je>7{Sr)6EnZi1Bwu)tYMyj&oP_|b>PSX0hSF$xj z@~u!;ifti#=Sbl8nuB8Ne_C&5+q{)y^ythWaD4mNs%VX&PCLh2SwBTOmd%kKK5u7@ zFvQ+M3r%-xhu8(?#oH#WVO1cJBhunJ2aA~PXIWHkZ#ys0%)@Sh!AQ38nX|B5lwx!& zuR)u+{s8R@1?88`X^ZJ$q4?Yk^cchv)1HE*qL(#?qJfWYPhpe#e{l!9Jl*oH-`C4 z=w*613<2+hyyb2<9JxTljvH1PE)v&S!OkxtCV94w_e46M0o2t}p`B5Te_Mcio3q+q zX}0jUBB!id2zPFCfBtN{VN?b?YtgP38gq+$Uj%LaR8+`nk651C>W8B0S0!S(es=EB zGQM_l(~6gEn+$y*$MGofR0~ro}ov zQ+M0Quc4~L$n|XzsYeJWOFci$V$pXu5Cp~iEap!^3=$>ce?gethp|17>)8zIPD}W7 z^NAQ?XR#4n?8`+}djg+rVsoEEb7Th{2X_}kLjS+tAT5rYT*~ObOHv%)ewxpTql81rpz10{lo>#19hzg}Vso z-i5q-p#vrMf7K|&@qqWY45u+ufx}cJKyxbKlcqHmHJJP;a)Dzl*-0$a?!w(vs9@X+ z6{zu{yhBrys4x;v`Y?%zM`Ao5;Mm1f)UZTk+qN2JEUI|FXz!cMC>jJGiW}lxGzb`m zffa@-00DR8d-1{8HeR)*S8Z3G#6spnvC#NaECkyEf3jOZY(EKd;JlNNc&4cU5b8!^ z?&2hM7f#0CEBan|P`wx9OlK71m|_y+3Q8TSQFs9yz6qG5c?f!Ar9~w%#wb!0DrJts zUowiYz}87Tl$lA?q?k!y1LtLpyUnaI+T7m-Hfj`sDxDog2?GN@!I-fP=;@zrDtX_g z6KoW9f0z#iPB119QD+o5rH8Ng%04u?^S>gLA;l*k-8rZ9p;pY}2E-bT6>rA9nJu3M?29Ta(yE=cApI z=yRs}0Qd^TQc?k%jj6zbNsMBOP2fi}yW2U&e<#&XqU)rG(W5{_X`?_i3OHaqBz7F5 z@m%*}3<-<}7?-Q7jQvp(aE<{U+wa7Z-k5FE*;#6I_J19}N8Tes~pKZt{OUROoZ3(517%0 zyZk~qVt+k{M%Gi6OU;>E!LF{h#x=cl129;kH^v6`6L1CUOWNPhwd9;pC!7|?Vk@_2 z@Pxlb>W1|QgE`TAOCw~aK2Q$VIs>)Mf3{|#Uxla}F6Wz!aZPf-)@QF#=6S)kK1Hpl z6(UoBxt3CT@!Q=74w3{Js2eAj%+{694h^#1l5%NEmDQGSPEE;gY_Z8hNy6D1UAlCG z(R-3T*iMu1o!r|;Ni9VqGt?`H`*klzwNws9mQwPCzwK46Xp)5AFtItK%%oVce?iqy z?wGf%V?kYNf)V`dzT->D*Q>M$LAu;8^31eg#*$AmrFybVB$g{LW*b>$t|#th%3BKO z?Y(5)6j|;IF6DKqz&sH0D`R_;W7Vr^CB9W*ivT3fA5R0O_KkhGu!}H_?YtuwUD^@z z86@tkB?jr(wq2s>?Qm8zbnV}ie@$Y?VRvcaa)WeXy-@-AzlsX77OaSt?IU+!b`l+3 zEt*O;*0xs@?zHWPVP9wGR3X(tk}TC!(-2Vbnd7lSdJb$xTw_Jn>lDt>hjqUMwD_u? zIbdpPiOJ~<4vMT?1(K*^u{*~mbLrgEa>#0NCM!%TMO}N~kIWE)3)I=8f5UNCG7_uK zvF3nV#WrgsBY{$hlr7N9%~nFHCy5 zm8e^B0c1PdodWkqC!Slzbx|QEoPgWMQ_Dz*_`&mk<|`6f67o7H0EH+jyY2G zWx*~G%W_QnyknY!Td$!VD(?g`mM(c`VKy1N2f{~)Y;hq~+eLZse-^wl{otbIf3*$udh7H2k|r4RT9d|%Y0$OYBz04_X}(Aa$`x-EXC9XnN9Q($ z`BW)h#9nY43k#{V!%~7FyM0?2gNn}?p|4fCU=G892>ZOC_0X#Jtu?a_%My=6BJ%7j zw?*>0(}_9mhb^>9@puo1Ye<~?+`2pvqE5!`89HK!x2anKeKYKbsOBhZo~L%-Ny8+U!xw7c%*UcRMP-b z=}2d$$Akhmf6^J+%!+B-J7s&+XpD6kuWAAQR+o`Y^$`;tpr?9k_fEAENd$C2WTv|6 zWO}AQwrT2p`%Xn3>y6|cZDAjDfPF<<1mJ^-w$M|(HGuTYRC_e-1E@+U$=}gmE0Ex{Pr=_ynxW z-1GSOm-Zwmr}zAlsi8HXPn7jo@1K`a7%|#4EgtLt_h-_B*!McEXSH~u2MvYI$jwd= z_;Qy!v}BR{8NrH+Wv$HzxKQ=H3z0P>-N21f4v%sGYtkC zthqsqe|Ln(&R1}km0_F>^)V_Pc3bUMmtDqhsQ?=`#_4v2@GrJ3ub>2iq8%p#?1O(vMu^in>hREFB}R8#7x>{<-XsPb** z;!?ler$ytGuBu$!S|hTVGss7=FY`tgC1rcUe^=+@K>OAZDOSUm#nrOnRD+rIFzl>F z0KoX{xHnS^&pkY+iy7H8{gE^;>w>gT&=P^6V{R`XG43$ehG1(yTX}4(+aj~>qx~S9 zm}MB%(PfUF;U+#@s2Qb5tD>bYm4u}3ElC7CYp4Zv91KBFhtS;6p<$leRF)BO!J{I} ze`A!-MwYEFC02=+7K(lrRc|E;p3MdJmglU(H;xw;@fm3D9=6BL!B`Y^3T-zD z<*}}UHfMIep(XnMG!*kFn5%@wk3Q%O(j zv@8q6x%f`Z@EqM?WlL2znD#m<=e&W2e;ph$6rD***GiKGc8ir(r#XI>8wR<%>Wn+g zse^^lw;P#DQsEP!b( yEIpUENx7GzE4QhnJco{%EZZF7n}VqKQ}bk=8y)cz+Gub zV7KLLM-db%;DqY>iZIU=0^QDr-m3Mqg3UIjk1``&DAGwi*{o`#>yuFKoOyYTe^Kt# z#_Qdc_EZyLm;##7oV3mnEX)+zRSp1lDjPfS@Y{{gshai9{Ss~#8j2c16P+Y?m?8DS zl(rzXLKMoVhCR11)z)vz;7YW!^?>ihKH8;xEkH-kBQCpJ6yn{!fS~*)<>ECKai5Bh z%~CD6yyoHk;_RchIe%Ej@L?T&e=B5s55s=*rxM=z1d%uX{ZieueK6k46H~a~{HalMX2DIl0Y_vhmM-k0nra?(y6`mLRsy}{;YypOQsf`{ z!da)}em%hwIeo29KZ;F_Dx*1#2RCea-3Os4i zW5ML49VY-VOu#63rDeaaRQ*uPo;2f!mR*fnw*2lzHztD>CTUtW3DkQb;MjIvwcS_k zM4bTE2*i>Hz)D7d<=kIrGXN-JBp#e=)UpN84{%=hu4Nme4&KNU&@(12Tc(W)0Hcay zrsBG00zngajHY76@ufTUe*wJIsaP?2_o7?Vjzy;9%YI-`Mm>6L%dgtZtG2{4?}`m?NdN#`Fcs_3#-zn^^z>X|dU=njn4 z@O?qn6M$;-cn@xk?$+yda*2}x(oW}1$f5Nf^qH#a+Nx)95c5TEe-vA^ys0yzw~OT} z*C5W$7fS?M;zYNA=inB(u4|+wpv%m+!=>+c_OfG#nMZ&-1u|<(9HLg#JUn+Koh{oa zF-e;===4mjIk}Q#Bc&4!=h6+P35?lOUXgHlDC8x(;TT27n2X6W^~KT{iB-?c}}L^a-C(+hjMa_>*R^LIy$)z-vUJ z&akR%=G?iLH9G4pm6lpgrzvHSPhC$3$*p2T<6;P?uwe#^+7{X_PPm;Rm5JFT*@@-- z>rF7J8_GM_+6hj{HKPJ<$MMb@U$$btOXr=3Ewq_!&q8~Sf4YR7E>2yJw{~|U=L-lq zv`CA@H*YzRp)3-y4qaMoe!9Y&6%+#}BWKC%Py~(PorCNy^YdX|AC2YF^ZG`k>BCy_ z=v8mwNflCAaB`T%)iSOkpaGlcP_Y%iN*3EJlHek-aBM~iCVUelStGdSrW^Cd$t5n^ z#F`WurvzD#mY+Tu0f4oj4giGb&#I5A(`ckGPm9_3= z&tt*#z8hY)7|ax>Tt4O4@hl>9$-vf3pAZ3o6nC9Vnu3c^lTgj$s=f9P3Zj#_R#IIA0HT|2!|4mZbxJH3<+ zx4@rye>>eQdAzwf_&#_2Q?S#KlXPv#qeq_Vov+`#c(1r@>CP1+R`gq9vDd-&!zRCy z*U}<4C5G+!>XzKhtIb5&Ue9_(L*bZO04^gS>l!0jn8S%1!G^^};MlV*2eG}5G^Q|T zGto4{1+Nr`{2T_LLjbvFO+Md3aeV3GThO85e>&V_axL3!rxOdTi%H@#!((}|K6bF< zHw~d)Loq+?hS_nQ>v}iLD+{?Q%3OeI=x~90>Kj1dcYoatBS{#A$vFz}AUQ|iIsT8| z1c7m24Y9=F`Fy#AVeCtm#AW+&V=`dDpB?_c ze;+7T|L6X-cJK>HeA1ld_^}~)Nunq|$CoGutox^aS=Uikju5!an(2$-pLPaGkQhi> zS93Bxm@lVgL-O=zJl)s;@#2^003xeu$`~fqP+`q5*qqWdcc%D8U5MBSSJ$~+t zUq0`r&;Ef8Wdra*bPPWs%06Sqv(|jcf2I#C`?OO0wWd9`{Gx*VdilGW{OqrPQ<*<% z#3vNzzij*6)#qor@c%w#(i6e-;rAEcLhAMM7E&KBPlVK;-?nI?Llm^te@~jqzKYyouj#6Eo%PN6VIe}k~~v+>(8ABM^wf4qAVY`qJfpBlRWe;VH( zFu#m<`hOa@pViO)V)CcD^3nC57^LTh=edD-jdT9^g8~0B576_GgMQ>O?%&V-Sy<&A z1Aq}<{6iHKFKOg`3fueyban8?Z%EZansp!Qq|aOOtUX_{>I2*As`~s@_pD`)Ex+fz z@bhLp-Nhq_u@|rNvcp)c@&YcKfB0qktnRPc?_VdGKE4w%&9T+iQS{Ory;GA`-~y(m zpH|=(8~k8B*8kkpI_A}1?ut4fFKzX5KwsWHzZo6(JwxqDgP$||1LL1c2akQ8w)nCA zS6w3a_%Dcn; zy8e4hEC2KFrImXL%ggx9f6TYU@)di%C6;%G`*r>ImRSDhH(;#~`ZsC%(Mugo-)aw{ zKmJ(Xf3U{&=DXFujS~2`?mpYkAENu6s$&w3+P?p>>gd1h^ED4uzHs&bh^{1{4nfBl`jIlc+<1D*K` z#m)GsH*fHDH8u1&vKQuR!? zzE^<8(FpT`?36{v?^+q~7NuXi&A%I^-&FkfOxM0wq$XbT0;2VEkomF4uMwoZrd7`aaV9gh@?60n|+&fWvNAKm*eD=EfDLwh<`kzpM z`??hNk3Z<~Kk;4{`;mkG^8(!V`ftD0^n`ZxtB3BFb*W#ye+Of#ZlZSlHr_8MZjQDc zvNHSIOMc&G-`83BoUI>N{M%y3FKT-C<==vizb$0^o__zu5#t0Fe+}x|MqV9O{qf~3 z1O0XT-{eYo%Rpb=^DP5?ODDcp1}eSlMC&F&df zee$w#=%!h7-wn>oyY=h)`o};?_o>eQa_}EBVekpWe^U21Kfirp;@|$l#1mupHX-%T z{7}ayBmeJ#`|MnTp9}pjLE=y0qOX}l@XHwMIbi;IjP_MkVb8+8uc-q29L)IiZ=V4m z&%=)&S>5$<(?0>=zZfo0&l30+G;cxk_45G!4pH+gv;2BS`KZJM9%YL85HDAcV|HP&{uKVT8 zdT#2&9|{Jan)2``=jbQi#sBFy_RpE~WVgQcz4`yo-nDh7s%zo@a$bE`C$`<)dv$cR=(4Ttf-%04e+rp8lO{7WljO_a=EPigSNnBGkGF{o zKe?Y=LSWdqF`e<^rAZ|Ie4>r>;{4}t{&_#1-r$wTSw;Ud;*1-pk9Tss`~KnFw+~-J zfbr48Kr>pxFYl)p&=H>5LeHl5Y5K#IUr65b1tZ(}B!jK7XpKcfnbuhRC}VLEbzo~QT657*rZpE|Yc6hcmUvA% zz?+YrT}T3W@eWzvM^{}#lD;nwf2KC4J!_-=3RGc z-+(OdHe(V^3GzNz`&aIM@Y>ZgDDnPeLFSuOcpthB^WCVAf6nXz6XaHnenZDXwK_E+La^4bJbxZl?XW2IpC?`D}kHw!8O{G|5gue)*s)RO#Dfi{fEYWztfMG zm+rU35`UtYUG4l-f1u)cYvIvnSN|&uiTTCt#%r#(zX)Uu?bv)XKiMnUj!&{8IuZVpka_ygg9?5?U{E0C5^pCXe?#RbKZsQPu#_W*KlC61o z?fS;8^b-!Ee&gw<(ZT=H88b84o%-VPA-xtA{H5zzo?M12cqi|h@pBCK`=V-AFxGmx z4J2DHxAk(**Z76r-_ktXW-D#I+}6weP2Sea{qOaLm%Fu(_Xj=nt;hFI|9H9g`so#h zz0*@YPtw-u{Q{@=>0j|(##|z25Mmo)3yVo#*lwMG6Nu<}hTr)bo~LIsZC~iz;OxH_ zlIJ=MXEU#!LoRw@e`w=L^a3)`%RHdRt0|#q^PCMyMKAG;p5#6u2=aJ+U7+~PNZylt z+YQ=o@PoQR^Ya;Bd_mg}E_@aAB!2M=p(pt>Ukg26Kd}q`>8X;xUSHJ@8=gk_Li*Am z&O0Yn{(61;FwPn0U7k~_YlUatIw$jm$k&8pu2jx<&fa_>fAy`4dd{ws7hiFHxtk9_ zmkc`12b#~R+UC1lUVOoit=QX%mcAB{y1Sb{-aXmfcf;as=(7!dK3{KzJ|B+``r9I( z2z+Cq&u_IxvWmF z-o&H)^rPi|`|NW_&i=sPyRPwRJbh^!P1|VBboS2}x!!T;uiWMvIp#m^n3qf4=Bp4) zy?PqZPYWgA+|Hw`hmvpby>L6jYG+u#(Yc*r{gfHje=~(kJB<8W zXQ5jOw|+qQ`PudQZguf)o-YhNKii?ZJK>){TQ}%mk=6}r-Jr*;tsC?KZcqr{=gEBt z-ACE0him>cPw3WmrG6_%D78(0=i719WeV+*ly*tVE74~AWZwSyFa~DrJ1j?e*qQQi zE&uOwe|;nH@77&EcJJ=~9e^J0*>`s{SWadT|M;5=~`+$kw^9p6~^I7&V-}{SJ6t=UzGt_*cY`YTVf(b+Gi2dgJLPrePya$u_ z;QuqHB|WYC^(@l5U#lx)lWMR_;C)keCp=x>|lk<4!*%Qy^C^y=Q$c!pgrjv;yYqeSR%&9FpSf&}s zQ939^%|qOv<7{cZXTmeViP3tQx{8GDbxNK&1Xw*C?IlyuRDR|tZ-vvMMS`e9LXv5hTlY^=lc7k{LsI+A&V2NodNy@Ank9&!pniHEb@sgEeWnp-f zT2KiqRq))W5>b+RYkRIPNQz(fgQKQc>ol=skBO~gk(z1Hd`h8RLQOB3UaBeJ10$&x9meX+bYfq=6kxL z6rDp{1&|Vs`!I(Zj77%PsO-Uk>5LB?VnnI}>$SX+Of+7vyb==jN|sOc zgRktFO+D5f%cd+$(L;HUf5$AQSCuz2!f;KS{_4;hZTnm&9CWhdOy`gJagTOw4x|(i?P}a~L#F(Vb zf;_FoB46&9J?cUxuPUa!mL$kwVr78rizz9O)@4}ICbEW{y)B~%e=;kAS^`gWouiQc zh?~dLQL+*2iEGp$M5$Hn4$KVn(`u5ac@)n$dpMFtkTXWqL25Z%it;easv%+M19zi^#Voo3-Yugy5mYaIl2e<6ai<+G@5n z>6s4&i9Eq4iy_xPe`1L!k0E(-)MFKfqPh^QU<=hNty&Mq(T3Bo3^^2ZunZ8Y>MErI z(}g>WDqb7L+k74r23oOjmnwBfVUS#eDts+O8zP1_U7Rlw$Q>5cT#q8!lhs8e*cK&Y zTOU`~!vGN%!~QP!jAYWMZ5_sZcwk#)-klhtI6USD1%mfQe`<{Dg^5gYJtC~3)J3EX zdUSZKSHWToXbf94 z4w=wnhx4O0glwW~m)pK2vO2fNLwu!X%8<#6ykxUvRjGD&yru`%23|&?Y8ZztUt8G< ztwf0}R@6$Z)?=>_sc_F4ThvV5ttmrZX63sjGz(-`e_UIYk4R!fcG6tMoJ80hAsCCR z88hmSx&)LfYKZQ-Ua?av4%5)t+@OpxqdIKYKqh;ARjn<2bL{uHVs(^u%Oh$91<{R< zQy0ytjT4s1-rMPM?Hx5?w#)&YiV1Dx+bqZE(36C8x>A#YoC;)W z;ijGSe~g2D+y`{6Ex-pTN;zF{R=QAPy#rF!Q4vxpz3vdgzK6!MgD{~}o1A;pLCJUd zkXhrFxh5-DI+%>3B^qT-G=^p!q6m0uKW4nO6j8yLaS_R#8;BnEX;U-6V8$I>J79Ob zMHJmBDbzgcjBFqyFpJrtUIb?8Gvz#~iJ87*)lMXOS+u;Lb>10-K2^}7P0`<1Rj7fqvXva5nC0> zl%_Uhte|A_df@RCLvb=&dGjf3G3*YRi=sU`Zd@CqVT|TtYB@ekjg-SoSzU*-)lOCT zB$A4QBoEBo6jIkRvBPofO?rpQf(~*de-Sb~1=s-404jh0U=cMu0+0ZvgtMpYY zsfn)ga5{}>Ws4Dp;&=)+2Ze?WJgs+SAl z2%k6^$0C9f4)(SZ9gbNypF#}Y?Pa~qVvcr^1GEkXo(T<;d>PiAU7@3uj0Gc@9$?j` zKlUA1RXVj43Z5el))6j>2T-_fqLSSm04QX42aUQ3J?esb?o^asx= z@SN&uA>|F|E}>V_N~D8Oe9xuD%K2;0%$l$0W^k6wO}+Xrfv@jHOAR$R94rM940TOe|_->J-(}*iKLhe*+40+#C_~!4x%d z8bAP`z;_S>(Fy?qfOsGdT|yjg0epZ6zyk;Y0)QC6b-{B0-xYJ;WMH(QWLt21b*xbY z1`DMFJnMOW9MF-Of-Z|wj5z~H0Ssyg%HILyC#b^)1!Z(cb-}v8FaSsZQ-BQs4WI%D z02TlRAOpW@E&NQMAlZ1(fEH8lHivcK6a82+#=%{~~ zmG-8}=35gdTv5p65gn7Iw!q*m%UefaB&)$hM5B|=qd*k=iV^ER(3J-ND}V~1M5$C~ zT^!Z`#sCTc4`8|#GA~tpR4TZuaosI|4-f%(03kr2u~{D;f3YGMxq))QNCyAfDQG`R z9cUP+zr9pv6hHtV5ICp|98?AlDgy_VfrHAxRzteL#Z&%MUQphtYvMjCTD8fDpv@in zlZSHGKz|(6HPFAdfZimi18;<6bAZDL2Xzi1e7VFuZE78}xm9I+hQgu(>Lw8_|Nrd$ z*V5}ck|2z}f69)&<%yr(bwpp#doR)5RM3;6=p>31`Sb_+*7m*DuBxu?e`d}ZMx+3N zAdtvRq@e+>>Wf&!xWGYmn0KEdfE$1dfD?cT-~k{9Km$+#jJ(^%+sMAiB!!2&o225J z9w78 z02KfT01u!A-~)IA&;iTPfJ5Wg{2r!a@o|Vh#hw z4pJVZJVL8UtDudJpsSQ#Qq#{E`8X-nv?d;QJszFfA=*L)obqkr3N9v z>fxX93=`4}&;Aux5m5qqBKOD%(1JAY_<#R3i1oh-P3G))%D-MqVlaMp{(4+6kFEbR z_|O&5@&B`9ujY#?oPYN^s(Jpe;m`K*7@jE5r&R-E3V^7AVj?Hw+lEFCj3y*}-|mnC ze}x3ihPRE4oSMwZy4~)T1BVF>hqn=mKG*EHT4PTF)EAkO0p1ZD74Ct9$Pc#t6Mj_c zKU?Q=n_SR0W503s;kabJ!)mQeG>ncSvl97jJFf*y;q9O64E;w3lyG+5ponqb_?x305_WGV=vaCnzgb-e6aQdH&E`2L#?pJ)q|IBdD=a3Hok>SAR%~mfzT`0ywpFgv1wsI#Gd%_vrsw(f@(3=p;?eJr z+-7#lX${4O2d?A8dwb?}hC%1bHUy0q)NVn@(_uH~8Q0k>&Z@20oE5KgJ_f--QCHc! zPTz5+$I)YZGTXCwY{KIaJZNR6e>WWG+@YzT4V?SXabs^P{Zetk9ftbZ!+A;_=+lBT zyG}@mezSW{PBE=*7+OCUI6+@*2IVWXQ_zvK9Zs(!u5QCtKOs05p+jXmmwwi`R1XvU zB;nkIj+pH>dJWNSqk$N`;3o?wDnz;LQIpS_R$y#}pER7f5LL4RsYz1Oe+r`DrATuI zs;vn~YX-us37LlgJV3+0&K%a87>F2+$U6@w^U7JodI4!7#K4*{;BpR6`G>Zq;-;}P zS86=cj^OJ4E0s%4T=`dTP+puVrB*+=wGW@|+LugI^&-+%h>EqZU8FoUm1(U`RaoOv zPSm`T7pJ7)ZvC}rZ+&4kelJ+9kAKLNH_klLiF41rwH#^cKxQ@l!FO^l~PAeA|+gl-dsT{kOBU?dNcSUH;a5PDBhHE z4Jn_RB{fbeHoZ)0>XB4dqj?RVa{J74hcs$c%KN>ocvdQ$eQh;z&plfiQGWq4QzIkR zs|k1G<-HFl@)(kPXuQ>hz42^9#QB^vUmh8V!oc4pZScC3*L!F13`)Idalx6rZ#C!v zBG};&FfTe3+>0m`=advsfFHae<h857F|3UG1Zy z$qp5Gh=;U!G9_)CPb#%$kaDbLq=5Ez(dLL4dFAI^NGh=AkTR}Sq=;)i%ej-!@NSwmxLqt$(+fwnjv#b$9ua zXhvvA%Fw)5en6bulUE@^K)HgokBncZ@Wrjj_0`^y0&D0@-6nbEK=H~uh=8{PA>w{U zsj*K}9PQmc#qwpkts*#0dt=6zQ;9VW;?N#m@pSVj#eAYm4xYwUU?+7ISwaOB2ov|f z41+z6(p0aZIMv%BUVm*SR#Yc~A?E2_s@nxoobHV{ zP6KBmJ9$p?Ml8@!$zKSe5=2C=ZYCl--Hg~yGb66s=!EWi+tQGP&0fL(DCM7Zkm zNlxo!JWrXUm)KlEsrqD|i92{m$$2a%WPF4c^WaDmZfam<4ZwB)K|wMQtZ7; z?v5BSps;98)_E4o-A;tB8WYj$=0RAs7gNUOp_KfXD3-$~FeP)u{G79Eucpk+V<~s@M2f4u8zj`t z$@13SbIPnensRGTr8w9dA%6k>)UT%pE7lXu0>M#P0VZ_4 z=|*}FAgj3!O6KJk)kx%v^h&}TH(LhUVo#uk%U(+FPI5*Z)?&Siyvaczn>EQZf%1gY zE_TeaHzDV$(=B$#;?dT5D*gW2HRL@E0`qn(8Es$VkV7S{yy#M=2Xv~)&Bgody;9>N zFL-L8;(zMBWVle>S4Ca&iY1lNEN5~+_bOd|{F(VHGv4x|C5EG}{Hel?N?tYfrq>84xgtqhSl|nnvFW@MhCq~A>ubJuQ$`)D;OfZz%20bAbL)%}V~-C4sQ?Ag3FcMvoA^yfySFux!O{sj-CUKxcVwK2q|9 zXF09j!xqEvAlD{^(J>HQL-|`PVp;at z^?wS#ZtCL-V-FTNOEGrgI9-w4d2Hv@*cvLq4?JMm+x~d;$HX`bjEq{-dIJ@vnNP2Y{OMp%}5W%cgSE9iKW&k58iBktx+NtOOy7X8J?u}%@U>0>gonVk(H}8)gM%E zpEPg>Wpm@J;xa-expG^lJ`EWzq=PQs_S2c>1l4)HFwg14o5i2!=tVBB#S};%(Ti#Q8pR2r=iDXrttinw_A4k(Vq_0Zl zdWoN)X{6bqB`o?fu)Z0ym33rys+MJ#xfxoT)l@O+W)!A7$?X=2_n0eMKB*%EDg&w9)JA+2c)h8!4`XK&twMH&0uh@tCgI=yrs_jre$>l zY#{oG=i94N)ZpRj*V0xPd>mR&<+c2Nw=Z>`v1z+&))RN-4tNIZMhy4R%ul#&Qs_F4 zwE280=K1f^q$M-{ag>dQS@+vuXi5q8){1xg>fTmXon0C3z4R=zl!dIw#Apq;yFSAJCL3JYhlbArqNQP8FBHLRxc|b=1ho=jZ!GC#$sv+K%un)~Z zUtiSSe)H?4YQhr+iYW0m{3O|ePw7`#6ZVCEF4ub?LFqtZRg5FF7n!$6@DcsmW-NQ6 zGb_t`rFenLTRIDSAsA3wi(BC`MaDYtQ-R%{^$r!LjGK``gAMGe=^n@IHrD>URuIWA zV>o8vA}zY>M#hzVK!4qY`VNIJ%M46gRlTbkAR?|WImQ!I*5`+8+~4xB+?|`KNbk$# zT(t$cB4r&hhjx82tifl1rD*kDAJsPJ5#BBIafQ@1AJ~q4#F2pAog90_g|nJ@w)zSN zb=_He%7zLJJ+S$kd&KLQ5$i1PY@p=2Pp7UcYnRJ$q?O?x$$wp4`-!o-_z6!CVvk`1)dI~3~c?nF+Ca+RtTRLU!?NP2G@fwu}cm-TvUOY*WEjriFB%T zF&=nFfrty}wr(sS(l78a7j!fa#`?dgracwo|WqKE{`9gfIFvgH=e|m zn@|!u&1KAS_*k5L(I4b;gBe*LX^%p&E83s*+$Z)Dr0|l$k)zuF8P2fgg+BF6iECc% zzR6~^A%EBdytMe~zWtGSybA*OvdE(z6q`yP_~W>>wTojptmF|k*sm4n4HLch@C(AVqC$|#$xCzsZ>urywQ0Sboo6B26BJomvzH<+FouPn`h1N(k-Ri^OnImYza|ykq+HvUx_rZLhyLI z``zs7OEtVj0Q_ooL9LE&-MwuJh5>ml;eY)GUq(KcS%|pw#{7EGS{K|)$)$HYtoHm`wf53DB$4%KN7ezRvu-G#HSoV(E4T`` zyHq=mqD$le)unjRnKZOEjM(P`#0_~vC6;kggBZV1SuL+lb~~)4h2h!VYcXjSfm9mK zvX%RI!^(<7Q0&s{))KY)CaOAqLpA+kE0v^bf}Wu=z<(jGeAE-X z($7R)OrJPmw z7u)ck=%f^mMT)xM&x~(j33QCWJO#J&T4lG>s#5S%rzh>y`bj#j{U%?o^(IDFo09Y$ zg;s4#P``CSbx~5AKroTbRe$#A*gJNv$tA~Hk+`KxV2z@@5Xyi-S`b;$qp9+oXm#$* zRQD(2^_P)JYZ4m;gtdMAyu5{=Tuo)YMgC@D_m&BkY($n?Z)+d+hxo3*9KLlAh=pVH zX+z`Xy{I>Z20mz=xHSICXSh;Zb}Jw7rmoOn!YK8MUm4@ZFG*xkn}6QGJgv087S$cH zpdeGP$r#f}QV=&>Fg~xrDq1g^fw8(p>n9%=Ery zP021|hWjuInH4u}PP)Qi+G*jCSj~i?zYwy~dYT>UrLdxI(pb9r^g@c+pYp5URt5M} ztuAlQBkv-Fh)8(SIDdFFcKh8bAS}=QUJc@+;2>6d+^i0_g2ctL#_g>Jk#=7&5L!F= z{XB%%DK*|(q}5$y)7X?o0Tt>55*jOSj<%|!6%)WTMWYIM)Z>dhneG~uC$Cpe~v9Di7rC^Qdf3~WqAZ-Y{bQ(Cr@lz%oIBXL={@oP^BZl!lb zCRuZ6OtmaVBwLPl-b-z|v8I@*2R@)L;AP!B)3R=FqUlAu# z`&>$Dyc|-0oVs)0Q90`)QERI#RJd6`-_^U7gY_bxt(f9tY)&LOAsLSvh)HA<(cGtY zdDDqbNe_t$o~~~}Pv`B93R+wtPtpqm{qPD4kdQK-g@4CB;o#yVa8xc1wMaoaUtWop z+@lWh=|)C&#WpBl9WtwJAanDHUYc5Tx!=phwa^s{#d^QGc6ir{DS9>88!4$5Bralh zCg**p?n8N8rlOlNRl8UFrKURup14qFW3MGBB7&O-9oq*Kyd#Qh$_%8Di%!!Fmy z{CU&+Ie#tgtBWKZv6**=K~F^}w+BClIR!#EI*!F&vF~^$5LGJW%R@QxwmlyP@CQIb zO-cJ^7Rsy8^O7&0bLztj=4-ZPV&1&FfXsDT9?G88a-Da*B8;W`b-a`EF6Pt3l8%Se z0wL1S#vVmBkE=?L+_+_WI>wDq7If)1mj z7JurDj-GZt@^L?{o_d?zp!j#c3Ai&D-#5X06fYy4WI4Ny!d*TuH_;HNRO5+aiLqeV=$QDRmZ;fhYmDC2sP*E4sxTU7C#jHj0Pjn3AG=B=z z&K9PT=pl?+dySG9-JHAHML4#7E=c}9ovf1Yn8V#N6!Q@xyKpi8Od2zy#XVCD=t5ca ztUY`rT=_9@$lOn&wY272&c{4!LVB?08cDBI&DB!g!Xo+99e>jXmuhc7NCz-BQV~OTTYb4Y}qEe#tv-Cw4!Ocs^#05tG}z z1hH`9#Pr9>{-YwCyjMd|x~&P)0dWBbAqfq!EBi|UCrFowB8Ovf-rIe*9KMZ6_= zd1VqP)Z=t`EaQzswacc(C5ApO>mAO9&B3pibHd9=Tdk{|{Wh5>IGHGdi{{#iYr=YWN4aoc)Ycj^SDPrV?VWSZp13)aNzO!)`| z^_V%h`+xk-&Fr3kdyU03KG#RqeLm;<_n+$Q{;Ynj@XJSL&uaZ!_J3O2>Cv54`K#~w zYrU;{bahu`Yd4L5>#MI1h`4|FK>p#H!arQoR=-#J`Kkl~A^AQ>5WGvz16743C%)eV zFK>ZF#)(NLGYBR7s6o)?JN0B{b8b_vrenQSJT*_va&O}H2Z$}~i;m6u?kUWbU`UTX zg#LS-*X?@E{lf>Aj(^%WJn}2EgyQ}Cjmr7ajQb1H#r!;__7VrmcZrHrc)tN_<7pH6 z%wl|k#8-59KS0%v8>C&VyU`jFlLY8>)xK9%8Qh{N#w1$s*HK4HNZ$mk2!GIM-&tp# zF`;1H_-f^ho+H0kO&}N;S>@NVzKRDN-gd(1b%XrD_zkkSJb&?v?eJ$ikHRp^wfwz$ zZ4lCEimpfVP~KPE-b>iN7|$P|Dwh{VgppaerLk_FcQ`SZn3^#6c`XM!qZgg` zVT0Dm_xhLF2E9L34nIjM$?+k79X%&6$}q}>`}DApjnuwZuYPOm2qCmy zTu&&gpvj++ZTX)50f)f}Am*5qM?SgK+i|aX&3~_6G9>E5c3na{pErw^Vn#o-W%Nr^=K#=Gb32lW3x37zGO9r)whLU~6YbySYJbHa2tGY;1^VBXg z-iTSqf6x93lY4RLLbq=2d%A8@6u*F(y8NI~?FL0Cw%r|GAE$6*we9|0{d*1|fZw4s zdw*_d7kTce(Ahowk^lEfFEJh&s$x-GPNfhcX5X!6nNIM&qlDS>WAo5nUd1)Tcl9qg z*0@%WiKvopP6@7d;X?o3q~cMVxoVzG-sb#4%vw5UIdb`tr)Gda;;_!J9ybP6~ly)kLi{2?ir-d8)NoWWDkwAqgXiryuE`lGomH zJ#uA9>0U-b(eu0dFM_t{@l@D%_1@y=!+`VXCKo@_e+_%<(=23Mshf02jgI}h{eN4% z>@S_R_$|R6rB0ofx<`uO2aV1wG3-ccCGjm)wGppUNBZ9Iy+O;8l!ULyh%ZByW3ftH z0}&C{-x$0eTwJH#@xgo$iIm8HSO6^n8eolCa>O0jlWkfD$P)0ETS9E zjqa`uzobil{viJ0p;@zLkIb++YqE^6^5^Ay{i_PCs@zp?Q=u=DHVO$_JmBvM_2;;8 z_bt#ZS-3V^xtc5zeHT;lZGVh9OHdhbuIj>)rr0O3=rovVwdO#tm2X2ReASDzs4?6K2J!XzdNY~nU`o~;PJ*lDN8J6 zW3cS~N2Y4x{RzY=)>*$S1aoAF!M;1FR_|-!;p1FD_8z?yd7EU4@_&OywV1?lwPJhj zCGfc~JTSBTUcDp4Z9`Fw8*+VicNpt0NIYymnExEEqDpeD*TI}`d!@$WUH=}c+IEa| zFJVvIlWzDGN|drl*YyXD8gp`Wk==Ps#=TUt${dF8#Xo$Th3!D+J8ck9;XkjAVhh!e zl&YB$`t4Fsg$PZQZhyb3Xa1w0{{J5T_xL~e_>lwnFCE{#|L{*-o^#~d<95E2zO7bI zr-+|yJN%%w)4%$InRD-i(9VAp+Ub68Py%W>S0TA&I<^{^r#F^tlh}9fKY~NIT~qF| zn7>a^l3ZZD~KP^%Ba|6FyDyvC}UG~KIg{Nw6!e_9vt zPph>3=`El?j^KC8&H;?p*JJ$K&nSF0S^dl9+<>7Mcz;g%c*Z=h@$$#;^V0Q8sQj)F zxZUIRU6VkRTMG>*el(L0ymMdjc++bo;O2h`F{mSe>qf4zBu;!fAX)+;0BB6II7{)J z;w8N&VIZzjgf)qr#6fdXQcJ#K!S^5)?cpy;9MlHP=bZzAHRy{c1kesIbeibxUL-W0 zta6jgH-DUDG>OOuAN(Xv=q8EVlOA02Hc*IDgLrdh_1r+$8Z{vI={md}z;oLhmL4 zWz)iYmZSqk{&m+O^gevz6Mi=U-2ug?&sY?_o4{#Fem$NoN@%B|cnr^Jyx#oBKl$p} z*K&gYz?)}}u*~z9wTtFqZm`R@C~bww(iO6UTM9=s>GSy%+Jhy-3`rPHTJ={AY40?F zRDV)#5qDloI-i$r-kc2qr`smd@?ciCl zAYY@nWH)_5^BkZ|J%}T%&TW*sDI<;B!>GCVwAHFaFR6`*@Qv(vckhl0x0F``!Pd`r zxhsBqO+;r0vQ#IzWfjxt=@oY}hR#r<1Pzk=zOEA#u0CpnP846p>8Zp zNt>zHFd+-H4JGkgp3l_fjmFg@SO(}lP$fn^)ARXeww>l5@Z%zqwbQYvMb|Cu(!L*S zc!6(E|E8M>DXMZc8Z0nmIT&_9$hdtL`hUbU zWm`@zH%E7by}#U&Vt$%!bDEklK^zOEJSj^lrdn?it%gLgpYtHzXleJcGO^&cSfrZ5 zr8ca4-$MELp43W&i*na?N_spg_WAVnHp~p(T;>{l^CFJo#|h}zPMFH}>f_38On-%L!;PTi zLnL8AL=bd*W^nL|hqQ7GKgYP?X_;44lEVWtUeb=tj#iy|97Q(>W`$R+d~OkO>Uq(g z$0Ro4E7F78oqaKE&dc}1pT)e5OCf#hB;lY^MPPTDGHRQJpJ;zYS?GKtP<=tImW&pt zf^`)4X&Ang;u|r^Y7UU&;eYPx`w5RcQP6MVyt1^<{PmOn_3`@tga2>F>~FxF{{Oh? z|HEpiD8aG_hOjsWaAt87!Ab02#S|#jYM9rb*6F9LEPvX&wf$+@sz(j5{R>Pe0!IlN zAVkv)OVJoXv;Qh4+E`ZapQhLP(^UVIPp`3j{`Y%9)A+Z%YO{O&w|}YrM}48cSgroM zI}ZH)W%K`f1?0cK%KU#`koeCf|7m&Rzqd5;KfE*S*ZJS}hUGqgzq>o^Kkp^}fBruI ze%^ufYhm<%)|dSbIsZpI**|EPk8|=}#Qw^~{;Nfh|LE!bb88@@`57^}?*}-`IP|)@ zo86N-@k}vD=ZG~Br+<5v=s`4Q%Muo6sy+8ezqNE&N>?h8-daJMmz`(1UX~=^8-X9_ zS%TPez1ei$OW@xe(F4DZ6_2t_9wS2tuV2g3O@lC$H-e700;m!#)_&wBctT?Be1?v`L zh4L=#gX+S^+fp4uoMQ4+c$T$GXxRGC2Fi6B%eQ@5hwW-e|!3;U5>= zz%X{TSYmro$W`;UP#|BMOgx3^CKi~ z5xc5$VW|YI7-!#G_vRu5A-Ig}gWMcc#jF%*jK&I5|9b6(d(=(7 zRNR9w2!FgToI}wNf-P(M2R5ZVvtS8ph>H+3)UB6sW%{==#dO$<&Nh~uiLFahU^kQYsEW=qzGqJo6aSF7aNovRlh4s@q+l+ z&Ca|h<;JIP9iuG$F2u)_v2@p!G5%Ub{49wm9e)M&6*XFv3s8K&%=`VOl%#wJTTzx0 zex7AYjL5t7pV*vT61y8V+!L&`lm~J>&RlBVOeh8~t<{kszLn6-^9!tdoMutPAw|r;0cOv*oS6Suw$P&h;rEeqzd(R zdVh4c!Rih080AdhX`^R}l{Lw_Pb8yGk<_1WRF%tVCp4Oy_9u=F+hf5P(MJx(EzM$e zV28#eL=sC_-QJ^k^t;_Wt_9?HUQ{^2<(dmYc{1(XFNzgLgX7vIy!1zVg~FR5%*4~B zM1Fo0G(U&dP2Yn(vC`^xR@dYj>?(rQZGX>=?_QsYKt`BU)|gb9Ksqs`))I$^cUoN; zExV5@m^+o#zL}I$-&d=WIF^jWvzGu%TgDe})1s=pQh&5h zc9O2s32$jwj_exjuE}&hljgu)X<6e?!OEOizxf-9Ul8$0+uZGphxW0y65Y|mi^bXN zgLn*C!#M2Z<6TLK*tRUw22xH5 z8Y8Bw@<>pwn^SMb?k7T=_p+Uwr^;)=<=Tn zn$F(JkH*MkqajmI4-;JuR~HVJrr)+H+*P}Vk;>5I0}-BZsXp#40&T8t&DTqzOYc)M zMSiF|S*o?kF_M=$O2Ni&Lm7Eg>G2lPL_W{!b0amaKP*8=O1F3BnaYgxh}-v8h5JnZ z;%>^!_Qs9Wn_8atj)9KqB!6sIMelgaNPV}RDkR4@EgO%tMW`0=&olT_8kLJxd&Z;F ze7Dms@w+!?;xK&T&;ghLc=g?@o8&=6DAIS=b$p0P#T(H{ZZ{Q-#?!}By=fYxwIVS9 z8NRwskW@_9k&>`jtHhPnOTNBKOYlQJn`{HRt^%TQO73sH9~i?ahJSI7C5eF{lN}JI zYvBXZx9Kg^!>j+4YqEoZJQ+nEbbFdOheb}g>{74gt~&PMPjy@wd)F_7@)mEgfoa!* zz)1eZmV@$E`EpmY&=pZ{(s@*EWSC2WBER1D?43l(<`D?hs8Z}$I4en<)gzA?dT3nM zmyPYU2OOCNG^qUP9)BiYze)ZAEbmH4C{a1*MHZE!x(xJa*HvX%KSNUY>h^+A zH7;YHdaDE$+;uk8EOwF9gRc`nSIB;rNOUlT7yt7`oxfblQn+bvWnir&OSCAG;tXIf z<6K;POCttO#AF+?*R$-Q1Lv`e1a(gFvY)_c!F6-`?OiY1l7BgSryuiM+M-k^VrOaR zIQ)WgFH5+hQqB8-WqfSvWZMe9PpJyln2nNb@I=EX;ozMic4WREd+ z)RHUx=YOJBuc3sDf_)>?)Ulejpw=_IZQi(7XVrPe!a4}jv`@JjXs*ua)2Y(r9r7x8qtmO)gPTb#_#*qd+J4tb%}sD}0?nsc7@ez1=MbR$7l zynh0X8Dee_%l%ynOVn)@2#WCsO(vO_ACS+cZQ2l&{JGcvPu>XrY@hRql>UJ`!ReOg z>p@6;49_WidZtdC8Dlk1ULQ4y-}jz5JjvlUm=0yNh_K0hTiv>87c+s2C0M4egG~a3 zViV4)x&}d2z^CtVI^8SQCa`w;Qc9xBHeKbgQ;x zjQiRhE+A^Ysgac?Z?=oB<(|O)O;nV~Dw0#w8Ef2+`jf`(0c9riOx|64yD7GnFz=hG zSjfl_@H&JRIXtPQV+ggd642WF=1doby^e8Tqg_ckp;b+8KW^qa*vRK%SydFPN`KzJ z^nbQYTHg#tk6VMW<8}d^z6Zz}-*?D*>}aKYe$>ZKf{_tat;Pfe91S2=BKr9WnS8sY zOkUqI#*Ev~N5h~Ed&CQe;3QttI4#gP%iy?+Ojy`1zBqmlKCj|8+{I`(Ma0sDFm_L3 zK>P}9hotwMyxdl*;ns;WNJe%Aj(_6~aWJ?9oRj1$C$9|;LPe*I0`E0BmtN$q0XNL9 z{2cYnvyfSlKmYBhe^f#A?qO-2$a-U;ud>F zHvHL$Bd02yV{ui&F+2ZNCf^%*Zsc^5(}d3wKFatg;-W!tEvZVhg7C<_eFNd))t}3x zCmS}!p8UoejWaUNdGc+sKYz~xutAnQPVYTVzBc-u<{^nwKd2-e=-1jW*l@1(qvYNw_Er%@Yh={B{GpX_0i- zdL7V$)g}X9xNc`XuoTsHkN^}?#PRjdbYh` zay%F2uRIP7__m1$^P+@xzt;760@b>i%@cocI5smb{(@?HenT;fFtGZ@s~Bbx7Jlt8 zYr*)7Dj@jL(tqd+Ubg%WLyK_}9t`B#M84(k+=Xz=r6xAuu^N3Q-Ie0ya*20npIEI| zTAt!jab1qM8wFpNpDW5-mkN2LZ5>2JefKtBTH|M1Tr%@+r)evrGIp<}M!HX0sC%#- zj|@zYdL^gSJ$qjkF`DS2Wl8Fx(8gf$@mw`Cij!PHBY$S_9?sKrjd1F*%CABYgmOQ57Ol#Pnu)IKwCThy?875^tjvC4Ogw}-I}h(r8be!4v9R~vp6kK6E5HO ztrL=Vrf7Y0k~GUIR9CXkS7}_<(1hF&TYi=NStL|c z;+S)D=uN%ctGeBy$DA)T^z`+%%dxy1H-$=1!#q-_!dZPH0` zyXUz%R3@D>Jf364IFBYwGS4eg^2BRBoO?GQ_$@P48-dp3nT8C!HB1Q~JOMicCg$b2 ztepYj43iHO!qg+xgCFckRQT~KHkybXmn3l8CJD&2QwFBi@L-n)-zZnTjSD(n;C}@! z(l=!^c5n0*h+*Y@$FT@r{quU)ul?{bK`3lP23NEnRt!l1^ zKn!=9^Ul&PsuWd#lqmmZaK$x9_SFsd?Mm*+wcnnSJq-pF5EGvm(c>-euI`~bBE&UL z>heCVdmGGwSnFD6H{<1^7r`#9W`EAdBzsdI&yrqEvfAV6waS#OU2~wvw?|=TrB!U# zk*_~lW+WeL z%Wb2&3Vx*1wexD$c+uw$yCKfr8O(T*L`7c+7$=z5=8_DQ(=<)MaLxEQb1!I|#DI3D zVWu_-9D$e7*&c3;D)bw=+#47xn~_Rahq|0^wlduX{^y?n|Lo)c4b=bCehpcEul^ez z1Y<0UV>E^01aReX8YReo`F}z1{Cc*3@l5moKHmL40xXFm6iqTXgRwwEpfvU`QzCkF zYxVf4?8>jl@%!iR=b`*hpIt@&0uvS^5R@f=R4~9QG049x65KbIRON>$k18vFnzQHn zQ#Fg1c>uL#iD&wu~-{F@g3+xB@C=KCu7A4mKzO&=fAH-3(%RGf(b)g~@6K2Hzkg=dWMk0+|3AM^MgO<8 z177x;4fB7;B>Lw}_&;mBe>K|_@n56c56=9M-Tx?~|ExfNiCex@X#xI#ND8pNu8TJ7 zKFt3)XML;peJS`Jw%>V=_CMqFm!Zy&{I-8E%=v4^{-X^2Yyazi@@3)wqUZF#<^!@n zz6*<$CH}s?{eN8TSsX#6JBA=FzlW5Ubd2XolBZw&YbYNVJv$^_@N!)c1>xTM{Vrlc z7c?D*(3truo^i?h)tNjaot7{k*WtPvN{ohTmD$`Pg>Mg?R!{d8+r#-h(kB>n)s5OF|$=nty zO&o#>Ab)kc){Ec%WCJJxhyX4COaM6m6~O1b3!r`nle*6c$33p5g;TlwJ5>f%cH=s#Ru>DB^AWIXX zG*?OlrQB|mA^=V^Y(9~VUg6)1%+0~g>i|^zWq;BEqyS{zpSWg53;+rMrgF{tEi>u7_3#V{#QPSA{q3O0xv5Cwuet=9%Fni5I|&&)aPd zUmG{i1=pycQ3VizOAJ)wg!3BkDZq)Oca6SU((_9FwwV9pker;YB%1yUNBKYA`*H(rHplb^z^cVmX;7J2e z0gM1*05|}pz0E3s7=R0)2Eh5Z*#n^Y?SE`02O{<<7)SaU2PFd#0jK~tP%Z%wKIZ}O z0Av84`YHhKnr7l*`8UgNX1;7^y=(xqvkX!hq&7%xkcuD`L28231gQ#A6{IdmIb=ur zB%xv?p*$<0u2z!yj>YndweoibYFhVQ`R=d)@ne<8ql$3WUZ!bO_VFXtK`KJ>US$76`hEt!wTP_K4p)C@%MY$Cy!fl+0k$W8S28l<0%>2?B=~= z{W`SEc6qBpIJDg>Y+W&o*6yXwHh<{z{pr)b$p!l9lifaj=88dLpFVTYC)6WW$b9ul zSm7S(MD`%Q`rMPp{MF}~JX-3~ya6RYeNOLKzK)>J$EVNH?_TSt&$#Sf?(B$i-G2IX z!8q?hr7ZB*I4i}Vzs6a8jgzrL_^VII3eT@Tp|3ufRz)Wxf9+c*0rWkqb?o~vGRhEi3_%dMR_bLy~H%7 zl2pS}eTy~gBXd;Bm#I5X-QG~ISF=$~OFb*`5{-*HQeK!{kid$UAf}X%YD4OdLM>WN zZZ(_rl*fyTFEO5R_By-u%)yIiud=%8Jv8_5bcGkoU5bs8w#>W3J_>twecfuLt`QEy z?kd!e(0qrc5T0#zR)03us#&3C{TMzYKe{)ew&7gUnK;X13dW)1d`Y25rPZy~L@Nt$m$%Ie%}D?TAx#OUFGX9#8cK zPfWB~(?MCc8#Xb@CQbXjfMYsj)>;ntp}Bx&W`&NB zEfPNXMau;z3xnSy~RcQYgkNUXXpXs`=E`bHl}GI z%Lw%4L4W=`2#>}Ac@4UJ@~_HFZa{EaM>uOYKsc(l3PLmawRCedb!A1m-HD-`HFoW) zJ)64ixV!l-zU(FJ1FmE8Sf(Jjmc^m*>;);W_XvjbqHk-` zl@LGXuQakDve`W-8jZ&1Tda8bD4b#78O$%ej!M&oo|8;n-1|gLELj*g;34d2Vhz}- zowLN`OM)}o$p<|4EFWsLqkXz)I7pvz#$zwGdPF|fH{Z^Ivi9AsGe<|x9k?6@Ca#w> zP=BaFT)l5)X!f#E2{ijT_bGe&({Js8KFmM1_dv;Y7Sn&Y|F8Q0YX8p`My{>6sFCyr z4$pA9$wFaFbrCE`Tr=!^Lrpq1tGnS>GCz^*07O8$zdb)k!kJ-td;0+{x+Q5aPqG}` z6ke~f>8j8=nu3rZr`(gngb`~{KbAF7^QcR=dZd5LSIcH^{K2w$7^3%8d5)@CXt|i@ z+cdmQ$TPQkCK8c_4WA9|2c+3&1?+rH-8T31({O^nR5Wi3z;(j zDS#Y6Qi1;!qF>#t@9t}Hz2~G(oBbp00~AD!0!D&LOm=;3>okVZ%gCd059fdV)j4e0*6aa+I;| zt{mAs^I|kcV?j0g?pBY>ew}Y!CjtuF-^5G#*kN7&*?agLAjUh+&g} zwu-6{d#G^qYkr?|tYb{l^ifL#PKqP2CN*+SUQ5@p0)%zaQ^udtOpYGv6YYLIr*waU zyi7=u8>~;SGA`DnE?Ik)C}nUF+ht@z?WvR2vlYRQcRII2;Oh_H)ceDF z8gYo4T&<4UC|yWtQxZc=ye6{?Il!}_EDyWA*lSNu!$QrhsoFqWFq171dV1S*D%C6kz9SGTBKZZ`93m~O~-I~sm*`e9g$Ww4$!&g))$ucwUoJho97u z--b7)z;6&-ED&u2=P##UOh=JL+HFiIlGNjQzEyc}jyN7c<;Z~FS9e^h)0KaVD4`uj zSue0SZ%Dd4MRnOMabVCk$GCCZz_Za<#;064=nQGPne5bbL0I!g+;T z-rekXiM97)Kg5m|5dZxq;dynIbVb~i8sRH&Zrh86c7=!U8o}Pf)4@G8$k39h*5dMf zS|ZV3&Q#Uo{54|Ueq%9t9~3t2Zjr`dcO+2YI!a6wa-B>>!5OsH)p~z!FWDtU`mEXP zta*lc*8~`0^3`IIE1&5Qfl6g6r)8*0alYWXj7-uC!E>OKhst6R@?qXE-8{ld3Cbwy zH?~HxdcVhij%~p7UI*(&hyU`)zm9pN*l~w-2g{k zTrKPzwJ78yP33RdNy|YDT=>3ZR3(z@4L+IhA#I{@rbPr^2m8k z*S%yd?44~{bzJ&+kK$(P&H-z$>9*bj`RyXFwSJPY#Z0&ZS5-y3-RlOa!s@W$!hcI|YBuJmjsSomUI3tjP`+ zeVR8DGoE=!zmqUJP;W-oeZyr~QeYQ#Un0#B@9T+**4&&rF{Q*hlh)zg?iFEI~f4d3b|53mowJkgWqobG?zw34wo_%FtaUxPNWSB#DuZ&$ou@5lUypByLag44PJro zWEmPo!CLlcI(+ieIA!z+)3ch!Zi;hZFoEDfw94{Uhchzg7YJo-E@fz)H!&?>y?VqZ zcbu@IJ!5~mNi2*WrvR;MMfTmkr(7841_^`F%|q*hiCER#?PPL{Z6e6JZExc1;-19Rg5ctVXH`R1Ah3nCdd4VTZ9UU{b=AAMfu$W!TQ*x4EE zF zRc(mJOeA5|Jnk(V1HtrPwiTb-+39diQl^DkctuUOtH_>I&meb}MA9qEGtuK2zM#7J zpZrE>O-Da(CtA|-x{aPMS8-gr7#_YH%2#x1HQ)3}sa3<0Vl8xp!MxPuNk#OH&}ge9 z%4dIqG3o~Rv#n%R$9Scx1O>WP^6@>;Sn zCQd=U&yriB)^R+~aVHlK-01MHLNAhx*h7D^d7OMa2%{r^m4#U%N0}T&ax|Dx8ooyuU+i8F>Ky=u z#p72ZzmgoMH@B0Q2a^@2td@*1<2c;e{c2XACah;(rN}pVKHo`S&{nLs*FFz8K2d*! zp0or`kos@m?c`fZ`25y$g1`+YwyT_^6HdN-`zA=uc7E--#vrh$Uc`&ebIpxA9bIR* zES)&hGL^FtFB;GJjmLe^6iZrspuD~`TwZauHWO3+7T?KcDMP@0cB4%{*M2^cnK&J3 zUbAg$O1|vY7kO*rYKraM<4ii~!32M0%-oRXp7dRxZAR>GF93M4ePCa$O z;fFG5IO|=wJNsH76;wdbhHSOc=m8q?YI|U~z9!^7VR6<1XeI0p_7wB1(F91oLL~%k zLh#@ou%1>b3+fBzj05YDGXQOlPbH2IH6dN7T86Nvz}-YHMdvDJi$|{O^+6mFt_Q1*x$I)qpZq@DNMAMD>;*QgLczQwS%eav|GE3n<6E_1$#APdZB>1 zQ%e7FQl${T#&XD{HmP1_N^Mb`guRgN~)x3G#xJx3iBR*DnH~1m#1OQ*+9c0k_*7T&vE*i`p`?I8+!N<<@=0 zL(S2+ZpB!x*C>js{)O!>{uZWBSJ#CNz0gkANWsey>csX;;9u+dtX%=tJ~dL4Zn8t z=hvD3^8bWxuVh_fwILKTYHP_$jYI{(i5@&r)@3_sJiB@%h02IVh7ubK&2*ZNN<+BePfzb@clIXvR?Q8rE z!@ueoM==)18JfabmL@0^LH;{s?zhi){;M(vgpH&zlA%x%u#?1D`d|KHL zgX@1Z5!9i@uR7WcS`j&^&d%6+ep=*2zQ2rSYh~R0l6iTZ6h4xX$%0y~%I|xBbz3%d zzm`VUcV6Z>YcRae;>-f!l$0-Y(+8K4YpxO}6rTl`MNXK2ADMg>Jr+NUC-co`@nq|3 z@nmk-6w@O0Dl$W56VD@^R*ze1n|&|udy_o z$vJFrMUV%`|9)GG-|xouSrA(KqGRx>Vl1D}IdK3# z`Lk20(Ri{LAg1Vj9_o+pI^&&|1(bU0PS<%7O|GN&p4T1#tC8=%>{K~aR(*ftkEzsFCZq* zd0>2=ChpTB?!EU}X!>h=mpb{#mb-s;A3T|nYq@WDf>;aS>3+kL5hMXIB>vBMdcVsf z{|V2Z`62(AAL6drpsob^`rv7QR=oZlPXL|>h%SK}&h_pGPw^wEqxTKZb~ix3UkhS` z%WTtoe&)hw>=KYWiQB*A@l$S#K;FckWe}vF`C5$&>v} zo{%qj0`vg#gnmb!ke}rV`2`Qr{!j9R{8^stZ+t?2AWz447;rIH|g_*6q*WBH}651;nWScq?9X*BmY9l(Hb5Hg^ZDehl+1<1DvCS~>2 z<`ljL!m z@r66!AfUYj+ETg62ed4Nh5-BqWj-)E+!O%ZKeA~{0gz|@!?g>gdw|$X^KJaz)QP?4 z%Rmo(Ys=zzVY-MdxUPSdbg}ck=)-Z>35@3g<{!hi7XKyJjrD26=RbVoEpDf)gYTZg zXM+58{BF0l&+=<6G^6XYg0@1V-!sEC(Ol z{ErNL;r2}~KeF?Yd;e$I@jtQy=Jn6ABdtO!eQ+}YKAqHPpS{6scX{u3c}xD14erl)df#M2`@$3CE*zUIr$UBSG#0{H-X_W#G^U>4ZFL`jC_w72u`(_V7xnz02 z)EC~I_gjD4gfE^?=VMI8sp`$ zyuZ}7fHtHo0b3&Z(nqgoVhe0xEB!$Sf9bXc*veLyBw#B6UjRS6@M9}wU;FUm@;jZV z-2v_7Z?-Z7dTfz7BKWdRA6L`(^0htxOa2KUSK5Eia;1Ib%K26PfzAOs?_)!OjA$3` zD?j}%&-^aGUw*Zrf6zJ1FSH20+0ftX9OjQc!Z#cG8=k@SPd?cn@chju`!1fuZ~2z{ z&vKAHDB{p0xlT*?Q|M)&Z*c!(a7N2l|q~)&24>k3ail z#Wz2A|Fch4{6g>QtDP^|D!%#kd;d$@hWoLnAOQHa?fqxpb^k-#pzp~AG7RiK5V)56 z_{PrXA<-{+K=fq?_crE^r*Uf+8^(U|VEWg#)20~waPrmWJ>3`W&$b1Q3eE$|hc3<)C7vK3W zz9--MX*9r-N&P4Ju6`T)_0P0axKG^%%!SLx-{U@K0k5whc77^6kbS;sR6q|^@W1@r zkMXkX-}!rhzaPFUA32sj_6o2Y@K}H4zx=&K{qUWCb05BY{FlF%*!=O~Yx3t9Px+=# zk{`r)zl%jbe&nBG2ci4oi~Jj3reEmwv317JF`n}+#+zgw@P==a4?daz#wj$t^A+PY zpFoHCo!*;3j6?h!;}9P_jc<5PAA1Vy#7EAazmvt}4|4fie)oRitMD^lh2MYiRcJKx ziyzJY!PETgvIKCG1%M~O58ydz-}upMA3TLmP!b|P>%DLCWFB8nbpbB`Lz~9<&>rvr zOv*_SIPF`R|5YXco+_f(M4(IoJ~iOi*EP!5eGu+z9-80gN@EJ$uk+CO!#r#zFfP#M zhrU1OKle|5o@0gp_$Y9n^2C4mR=)xBu+e^BhyR*~4afgH$37cbare)CnncLI=79bH zWg0gC`vYiR9v}K?4Jfm?5%|X-)=a-*V*Rs0n9B{;N3MkOD^}HyPn^SzPf%tF^(SWi z?0(Q*CH1pap@04G^ZLz?^8`5nKE9s-e6JC}Hv+N12lwCQiyxFXzsrA5KdAHkU4H*v z9{F9K_(3`ITfXJK-)}2@zpqyNf3M%xihx|{+X&J{9tK>{zB<>hXUMcowo}8~Z&l-~J!U zGY!7+sZ0wG_z&eZFOr!`P2K*>xIXGz=0D@un-!p|YoGn|3=WL90XiR`561OHf8gVA z0AIi>p#MLE1>@ia=YMX4w=KoX+lpY~B-Uw0o>~epueHSwl|IiWO)`9W=#JfR&6j~{ z0p*XJYdsR`iZg#|Lb&X;GWwybVb?_9`8F;!`tnosS0;t{A8VN6yFS7Z#UO` z!!YdN<$Y)2`t=BEk`UmxeXHXs$IrKHIF7+o{mPh;m61!0z(=vu=THRrS)fCW(YMGp z800beM_Zbxp3_5-p>6ys$6;pYdZ5{gj5b{^EXEBmCXaud3_7V~;3kRUADtHQ3*!Z( zI1T)q?<1-wy_40~`Q=4d&C0LFEFII6Qo@#g3aFZL<0^#nmDGhu=ORQ4Gy$4`qaK}| z<%!nBh2fN7P4I*hX*~LucQ>w^peDG~^EFbT<~AZ1c5J;AoBW8!E-$+GtklzSNaOBJ z5b=5?IVyk2MJw0qGAl@%_Rvbt%ma?FDo>B=rw|}O=KF_t&vGPtg%#AA9Y-^g(^sr6 zs=YvHdNs0d(`1`_n?v$W`sP0N<$OPgeTvW`xymm~6OSpNbneoHR4Bj7EO{H`V^-BW z^SV+lEUs{yxeSN_YRrI@r{JK` zs&GNQ3mh{^Y6xOYc6x1NOK36(gZh8??jDLi%CND;wkuKP#XcG2)Gxaz8cy+PfnlZ;U(%J=nDTZ zoAy#3Pb~p4q&^|TEr`NyOdD%Bbeu%=;G*z}oLko>(bK}ep`LC>J(^wm{;nI(p_Gc) z)t?KCb4Y{x(2~fRm036RmhBcMy{Xx6N&0_<-i0=oQ(Nn=gK_11Hr-PS2Q zM(sL_fx!;}{uHq7F7&a;DWQJhhkJ8Pb8Z(@!|X4irfX-y>uYCacS~=9b22=F?5-V4 z>En}qOW)?ScPVO{+VobGR5T~!b~%gE7JS(jhRoJ`WJtYRvOz~8ThF3njJ}`9t%HA_ z-QWk$+~JdHPm(~qJkV%Wyw#I%rcE^jwhu+%5hamE7MN7Qs za&vvB*n!H0QV#kh7t+<}kXA|cj<=lU;9hcjz4{F%VRykGwpNE_Qtv<`*jFRjn3#Kw z-+Ig^kY!r~u|5z5exU3-@uS;V+)#hBK2W1iXe)RLL80`StXu8kO?kQ|^2JJ`r*zzr zv)6{n%e6;vYW<+6P7nZ8g5-z@{8V${hCip(yQ{AYpu;tIBh$TKI#IqG&zBZ6M?iYT z`<(hwc7@(d`zWQeUhC#S?JbYdNuv|>RPs_&_aEYW8n11MvbXe#D|w`0cj!k`^-Y~7D<09>9YL5@)dfYnXD3z_CDd#KXzayl%RCp_Tq;tpz zb!}$Jp9VR)i+JGc&hQMjr&%Bu>fY7m(p&^Sc?RJtu)D~ovq@)y)(QrDl<{8U)rK1y z-j*!O@W#k*ZKeyYyyIWyRLOtR;oK?6z06QzC%OMD+*G*lFU&)qDR;$kB4YZ z%TEtIRr2m4rN;wd2BCv?cDvpH|HPZ^sY0%!jNkIldEWZ~NQ4tLv^Rf0Tj`}sSM05Y z;WHfh%^^xdUk}1=jAw_|7$4jMAl-ZBH`h^0#4TovQ@B>ttHGt0RXq0nsc|iOmgZRn zo|e3nDo%uFu0#W1Z&2 zQ#^>2M%F`Umfd;_;T?a(CPgN`fEp`EI2(-G_V^h@0siF<4?wk~VDeobO4Sv^hkgr) z#pbYkCD9rAGuO=z=3qGVxdW4I@1@WqnRno|p(xaBt#6l%C+ekfFVSp8tGj9Z#ko-7 zT~&zPE8?pXfq3s|hyaLC)Q6eJ5b`y%Wu-5k`#|3WUw{%qcxZo;qRYa);Vu(0-n??U zYW|SP5@smVK24Dvo(ex*CoJ)#NR-O38Mq_Y<^eh5TbQc2!P!orkUsiso7j}@8L(G< zRZ+M@hjQwpx;)PwiBmMfzBd-{ulEhXuZz7QuQC;H!u>?=w>Ji+onZr=JMyz=Uc}iC zk7uwL3UNMzb})a?X26qs!0V9Ck3e2BKe>dn9dyaPXQpK??&PBYp~_tng4w=AXD^7c z{xXQF;n;gDZzic@aCJ?n{)MN!yC%h(Mh{3F{aFQuY0fXtU^KL-0drV3)V$>dWbiN2 zG~_{kZwsCyJ};9lrj|dfUBMpwvrCghig#|Y)vG8xyXSw6lg22WswEO9JPzPLS1+Kzp*3m3dfNG^GwgsRVq zQFTd4j~0Im=JZg9kVQ-+Af6{xXK;c1yK%mj+<&x^eJN)PTN9)kbz);bvKPD!NkdL; zN<oo`ygGJUKrzJc=4E8NMcB6J44f&|3M(z2?u2 zuQq!IM$;jK9CS<(JRLE`IMQyfv_HthI*5@l`K5oCh{+S!3j4W8;q{`WQENs-G`${c z4&;K;lf8(HMNaoM07=?$opUaKz*$eRd62 zoIQViHF#^59l%dC%dg#`2fpEN={d>f&}&-z1oQlwASxHa5S$NL6pb}J9#DuW<7J^1&y0mvOq=>%+mnl zi0pf~fyx2CM=rMb9EnHT3_T1Lmu6xLb}P9NwdETjDKf*XK5JRKs`Wz>!lNVd#DnZv zt#0+wTdx_9_tTj7`>-To$-c*lP~MPtsx|5*_B}iyseXu02zcbKyA+kwEK`ec6bgSy zNqTxQadFe)jq6J4Kw~)A)b$v^R2_r){q9Q~z1nK9BrI|9)b!+-(9MDhRH8g`yKdWK zIf)D-Mk_3(a$BtzOZZK4*gC=X2^KS(8(u{u9fV!E0K3^FguX8LXVry`q^BdQO0H_` zV_rz8d+e*|GTH2TD?hVv+-71?3etamK`~XF5W7Z6O1hiyc6k;|biX5rV;wcaqk~kS zx-?UnA3Nh?*vlkvGY3w|Kn;egc;^(v%}o6Om#ATOy@^ld;X_U8f#BK1`^#R<&gHy0 z#EJ{A{R|ych?F%8>g9&VgoM@WD$ZC!BTkEP%X?xuNWD&UV?J)z2`@cY%kF=#kaD(b z<~SLKjc6^}!Mj-8ixCyDy~Kn63@^w!ul0gBl=h}`iMh?dqyl@(QW0S;xSpR&9^6Zo z&aMx9&5e7-nq~aJU-^Q8cncLsdO#~Xj^Oi*HW#A}Tzp0twMu6`)vv})N~i1Q+tcmn zEOPP)x?M5YyiIr{&nb#(>5hN5m)L)W&-P+=Usw|HkO z2Qj5%o0(;yNPdmbEG*(MrqQx3LLYbv#-pO2@EOKe+r{-TPNp)TeIkEtbF{s+waL_E z)jP%GtR*O($a5`nVmw%_pkoSGAmFZz)Q-N#fzlW_xDoKlW6;u?0mR%QP=@>JXw+tr z(yz|75ubc-Hsg~yL~FAO1iR{YnRUP5#ON*os!+3!o-J_%en-fxcOvP6Beu~|vXE_rw~(4$7b3j`yDeOR3w zgtJb0a|}o;ttxwlD>SmOv$%X$S8Y=_uCq9*{aB)DZlTL@us46!lR{rEL!T(`%(Z>Z zl|r9mGa1UGn8$%!G~!~u*vCX(D{Q4>|A6Bs9X;z%@z3P_Y~%7w>9Jm*GL7hMZYy+! za;aK1syr!}Kc*3xCqy|P2R(0+!#={`Bz=LQwnkZeq7uYAE_d+zEq%7~doJS>UgOs^ z-_OV-!x>EMG|PXLUL{fbF;6(<8;uzkKIVuvn?y$Ppcqdh^GCo08e40bR1J!q8IM%0 z?7=coJJa*td)s*(Hp>df!+avKh{UxK1>8NtL%jtPFQ^+x7aO~niJ&G>RSt?h8)5s# zVC0S8FkGOw_r#DWDAxp;3vvW!Q?%MWo z!Bh~6kVA5UbJ=H`vSOfNLLHgJ!Df=Y=HiClUh%o8%+r3u)EigDm&$DS24<7|b|XLS zRd9A4>3rAGc%>DIp<-^Ul_Pu{> zTKTxW>1aQ3wcWx9Qxz1}#Y!D0btG9?W*C`Tu_qEYb%~*I1_|bQ{W&cT6{Pl#&t`u3 zF?p7oEfYfY`lL4|9Zi&x;@7;GD2#Yk=xjrKY13jW?#!mCaosr8hHED9^sdl^-gMQ0 z@56a(wi3P;Y6zUgVq@qV6yqV^L;Zg)|tzyzdo88baTu0 z>!-ZvhPN88uw!@5cBkv?_Bf!veRedfp6AT^e#dUBzmmxHN#)nF64h2Dt#E%c&>biN zro!$}fhRW;sKJH7H3(}Nw$rw19Ufb8qd(&zZS=~N(`aAJIj76}vJ{)6IE;T5R2&oQ z4(C|5<0+O6d6Fg5jt~jpT-_M#$UXv!7+ZTcXf1#8bb?j6TNaY-BraTMHPEy^-dqs^zqVCw8 zcvLx5u4Wsua=4oB3lct1VhL~9or=g4+B&Ubvquis_i^$lx2k!XUlw;p5lB!MRB@#f z#xF0Hfohe;HWGyspg>*vq}j@)p;~btBnvt4i5@TvMI)QS=tjll*S&vqmPSFKfR#3T zhXxjBq3J=F+9cHYxwkcAGVR@bjc@~}Tc<GZ@*jC8SrT2+`N^Z!2sY4&2w|I6Qipa1gTO+oq}UU~(hQ2axDP>3Wj?EQ#P z|L*vf|6r5-t5t+S|Hcq62!U|~g2@ksAa9vI@PB%s&;MrGk-UHCi@o^g!XtkJkp5Yy zznV(^g-zz|=nMKED?9ufMI;FlN68P0KyP6Y82k4ZtNFiMkQ2neUOfo)*L)OCd7g~bJ7i;jhIw%r@P?UVZ_}|6i z|19u*{*A~W2^@bXNCG0L7lJXIBq;JfTOUr5EB=X3I2R2oWcS zq44KF9isnTh-^ptkFlQr(KtZ~7{mTXsNxhwevr4h{wEe@IQqSr`};py82l{=^ugZ@ zeoKOWF!Db?)bhV8P1@}LkF9RX|8U*l81{LQmO$TV`H+7&MUd$KZy_!5uS+eQB43(@ zF&HOd5+YCt`cDsUu8RG?Y<04}0&6R>wb-}+=bKa8{OaugrX%vH*#41h!=Ipje_oE_ zRT}@b#Q$n(UsZ^{WJ&zRIf=i2@P9h6j&UursT%(=0Q*%v%^OblzYKpPSpW56{9kAB zxmPF?#OHqnLi7!Bl0eY^blyY%QYYK1^0wu8+wfo3Y1;pnf4QgQZ`}1?(Xu{ihJR`H ze`)^Ng8$s_-zef+Nf`XWKG5HYbodp5|8DmEdqw27T`R^H3#NbRleH@TrJUB6%gU|z zH^#<)DC!mP6anEF^@@1}MgG%O^{*_{_y3(<{=a|II)Ym^&Hv+yH2>2V5&YK|mHH2^ zt?{oeZS#NRf*AkPmVElZ!V($qr}#3tllEBl%Rj%Tz}hW&CQEr_`<- zdxCePKnxycJKXiFo?#NC*M`TLAyS3ols`_va594`h}t|jyd2pd?te_dD^#`dps?>h z3i*HF@Ds22FW!h8!f}rKea>OD#sT(Q6HgsJtNa`GAmvP(h z9Z2}0&V?w*6$MG4Dy?rS61(b^8;El_TB3hFo&>@E8VJ980G>6l>*%i?yeCPZs?S4l z1Ob94^IkwsMhksh7|B8R_wBW7_(3j*DJBPL91xxP`OViDeTH>Li~ZB}mgUop@a=G6Ra82V2{+6uZ9e?lga8XAVhEG)KZPKnt}%;nxfh_#xGPMsrF5OH%9! zu!KQQjwlK406Y#i`~xJjH`kpsE}2nU2PDK)S(w97haZCI(D%-T@q6K*Vv(+PDrNF} z)V&1BUz*fyMYgA9!c|ygS!SC21EBM97$Jx|AE+>kg8li}2Z(cv#2*+;P!E3^ZIGJ4 z&BZ8MTPowT#wAFVrkrgQnk`@&org>O`PGKlF-jcHz zpB_im-U(E(A$+mMPHqO)vH(-*X95X0O5g|c#?V^jPYL3B7IK-Fnk$%q8!w^1koT=0 zs96O4*1v#kT$yTb`W$w9q8oqFHYjL%%t)Mv2BIzie%!JbsjWQVx3QbDC!>^siT9}I zI6(3uRZAhgOizEKe)Lv3n6LP;q7pnr6h+$`E8MdDNp|j06ynuqIKv2asWTO!-1UV4GRDiar2B zr6t>WIY5HCpAIbu)%~XgU@pBrnpoMto|S+hE6)IqhBUq&xZjCuMlI`SiSqdBMLeQ% z3s$HipVJW?sh&gg6 z|4d)7)CdX2zj{SbTf2XpU1Y9VK{u(NDpimv+~RiFurgI_W15n-?p9&o4!Ia%gyGoK zS$K{WR}0x;(aBSnC|wyLtD#ry&S5j9Lfwiz;EDcqk?qZ{V3sg9U=MBGO4^+b>H5Hp zM&y`_7#Rr?ze6ut{|f-^XGFsvvRbP5!cQ^&p6K@;s}d8}qWymgsJ@hr;19TV0DQ9z zEyXZ;a1bA*`TiDt3xdGteI_!%KXJ+T7{#o($01@?{1ok3a;Z0Szr*A2imA&Ot8sYr z^OEzkUYPmpK)bveIHtM@;fWUowLP_~X5u@=;tfx|NCx#Y-YAqfs(QDzq^&e^@EzEpiAA z271#l*vtz^7yZ=$!!-cDxPO%Q*!(>fhOOH05A!`%M_qpmF5L+&<@Q^A2aL+2^6y$U zM&@c8e8e`V1|!69BYX?{JJsZOpRm;gu+_fTH_64~TmOX=zc8dZi%}miP*+BOQPs^KlavO({@+;4mLMgR7F zu(@J^Djjo9dp{1J|-bAfDsAqK$;F{JSpIE;@hkl2R7fswJI=JH}EUNH1Ao0LWTK<^jq9 z+aZ_{ezT?$){FHp%zRd+T}YtEJigNu_KWnFYh&YnVqbA~+5v%S^c5HhAya2jlP5UA zUmKhNjeiJ+o|rRVHmwK@J-(F*f`?oZPogt^e(BQzg+BG=(!md=zdnv;zp_And7OVv z2Cw-P^7Eh%xaoo1+Ny?}vIe}y)A=QTtMo7hlNU@0OHJ02nR)r$2#0UuSBESz zfxE4#P8l}Wcf;(yeO-Qgs5>_^;wQRs`x$x3CNZLxdS1@5$%s=j0r=y3s+fyShc72a zNK4|R^MJvvR{SKdGAqcDrsI#3QXGHeK|fnJeTCrY4K5MrQqy&U&FED$7vT82c?~6z zd`yi4m5VvUYsi}IqI7Ayh&A}x`!|1r4SCZ2jVUd(YM=tj09ZHc`+FIefECU(nUDZ` z3ne36mwQi+(K|>%iesdcxWby$ywy+Z>(Lj^n|=VG9m`|>3>j<5BMkEePlbPeCL;fH z-;P`9maAqoexk8O=HC>1gPp7#beJi+xCWP+S)37?NwRQ2C{qwl(LIyNrHoz?N8hzX zjk=p^mW%^2dtHbQ4ekdPb9j3e(u7iiU76;XI8SI>UAGpGE;kp@<ag~E5?RHlPg<6UVBxTWpsjy#$|8JVQekXLph(Yz5#JwpXf;|}EmMZNbj&rEq!rT* zBB4R{$qM$VTO`j=-6#{#UMSqG}Z?!dS$NU-g&`3NJKFEMMnDwi|#d;9CCdfTARv*bN4v`ut{AFf8HUU34{ays3dNSjo;Ixtc|s>5T?^1u z*YI>8PoElBExiVQe4a`tadv&xr+C3kcYX>)z!Am8lY4f;e_ekT>r^^xV`q}H`~yD@ zz>eXS%D{=O=tnm|f#ZIW-Ot9nGa+rx;F)5x=mGfu;`-)aM#pMcv!AuS~NCVuyVM%PKy)4EoLmDcHs zgIk}zlQPN3w!eQWs=T*JQ!xNNu}C((X@%->2zBUF@{j$&+WoLowT(gF=72`|xRys; zPSU|ItS4~> z-avi`ja*npw7%?w{?2-?ig>C^tf7BBTceLIwLhWgdl8mMMvh4?0ATO>Tew0qmS5+je2s$=XqlDBum-xbYj68v9w;V`=BA5{+{b&3F6S{e|tcn|1h!Zq6hx_%O}%7SCQx5g#lO zASXU-x*>nP4gEnKFY9x|s)Nj?sS>P-pgWa+F+ohv&8|73=J~>wHo6+s+CVETXN=-x zeAozL6bDXB`wNTr_gJGHu1ZdiyF5p_3D%46cHaHQHK7swsA#FovGmQBclA>z0lAB( z7;W;otwAB*ezDx!-yxYkl4t;Zf_=QUpzb}(XU>1pUG*t}`M}*^xMHC_b?0o^s>|eQ zqaAvH9jD|oW7_8XHeYLVej{wvqiI5#M?BqT)}}7rWh79xB<;0+GGRvDVOmTrUYn}n zR<_5j*@vwuY?8x-Rz^EhP~UBwS|r@knn=tT5<(dhNI__Evq_jYv*f>0-skQlQ#ly) zf#ZKSonM4%4?_Z4K>{JyQsn}-xlsxk(bK&$3P&F@c?EJ9vWZ9=J5gZHABE;-vGl=i z!BAW1P;mzJcB(VxP8-q75{bIaO~%sIeO>SH8YToexr&G^0jWR;|Al^&_0vZzGs33B zU#`;)78%DVmR|3DFi<7v7 za4!1MLneo%z^E>hAPLj@6{Ub$XvJWi>fpn1U435p^pTKDA|q@pU77_SXv_;?qJa}) z&4bprF_8T1T0K^4_3^ExhRSNmu&bt7$G;g*CT6UZLxgYYZndVGt>b^D z>7ePNhRnUbi2Hh%@izAf{jJU3UaETPFxxnbz(Cq?pr1;2fWVe&PZq(Y<&7-*+>Lew zZyPm|DZi1zg{q%l0XOn`;oAn$h^AU)SMZN^e1(iEXH!M?zLk*`y9dJuuj{k25(^0^ zZRZ-U4St75*_hN>g2_BB`?$oKI=z3zaVyOs1Y})Zj@cQC?4a`ZU2nqg37Bp3J}o&W z^tIIE!=B1#F3f8wQ!Fm^ch?n~z7LmOJv&!`Fd$4Ab&K zu3&Neu~F}^u~@b_j7bQ z#C=LpG+#SA7so{IKtve^=o(Q&=yuD=OGsqiR-Q;$p60v|e>uTYsj$#Cv1k$s2=Lud zMMhq+QZzh0X&r{+%`<6m(z}2C#CtKv5iFy}M|SB3Nv4nAj;!gCfHbUX=e-BUia&=8 z57C&7l1AS$Ye}(er)Oq#q@lc?#%KwM!0jhR4wVeYN%WB94lQ5*Jck!u|Ir1;V{lU# zh)#FS;xc?}${ln9`!#zUQva7;81@R8=~&*zBuVJn2s?_ zxj5Vt+dwyhxTz+wp>$I(>xO#~ zl(@`AcTdStn3&MXs>1|RYmreboao&?7kgiSP&Iwr&Pp)66)Z-J!$ds9r|K*3g;XlB z-5dAm9WGCSb>@GO;jj0S5TifKuoM?OtFR6XbB z#7C^%LYuLc>AD}*s3unZ=(PzVmp~fYmbBQ6w-#9M!UKO_&+#_*NlNrATda#47N=g2 zVE|4*vA<;8<@=0n8HuPVWuu3eLG;aQfx4e}QKp+KyE<@RHzt0CvQY^xUIDZ&PvF1e z+=sekYjC*w$a5Cd&x`c>SN)T>CL!J9k4L}e;ZI8obSp_Jca;Xb5uhI2{3KN)td=E7 z7A%F)9u9qD@8jO3EvKag7*Hd5a6~)@ zBsRG2?wIr`*oyQl>+G*l*p5Evu;+JMIo!>WYV1aYe(RKf?#Kdzs^QVP;+(LJF9aKa z6^KP*6Lo?iH*Q*36%=0OldIMMH?QmaJ&?cH5FP{#kUf5BLI1kZIzs*ThqD@EuB8p#4boEuIKV4#r}U{4>{n#U z-hTXFuDv>m1}Oe|&%RX5&-xkzI^GRxZ=~;xJquia>;0{3@CPxIAX-;X(V56ZA^4@g zEnxI0Wl&O;&yT2N&gKaU3yRk;vjw9CG<3pT=~zR6~pg zy0syq)4hs2__{zxPLVG@!gzN0%t~6EpxAM<` zMq#FZtH8nrW>@@z+M4r|$71}M`f8l$(v?)i>f~B!pAv4Sog)R2ANof|+uEsvO`RyXhP^7h10Iz7_E6>be85?oKk% zn%Lb~P~=gx%U0JH3h<)|zSjE($OtE)gd|fAz(Ctfw@KF}wVltn42Vj7s4bcYvJEqO zgB3H4e_YxlIuTJ%BQDZBu_FBMJB{dgWUD0}Q1P*-Lz)U5X5t4h1+GZtJqdTuR|YBH!K#A)IFivd+>o54ixwQ8(!W z;TFzk;hEhV{?IC~UbFFP!s*q7Q8qPyuO@t9p`!EsvzHQIyqfZTIIoZ837x zz+HWATXJf{CpTbm-SToaw<87`v=%RcF|OD{(H43+tSb-^O%;J*ImJ3MpQGz?=?U9^;X%?M=X zGWb1~nomxZP&w0F#fwM#B9rrf3mYx+n}bcbSU(3idwl8irPhf@HDS|G*0yERZTTWY7svv{$kIt zsNcb-SV{LLahDkUK`IsEQ@1wM$h9>+J}W=V?2sJ%!b#VC2VZ{s=6JDwqw?FckKz6~ z<0EytaORx0nEhV5d8dJ=G1}macaQrw)lyw2W|0W|Du27`srTBqx8^#*)J)6A;8}Dh zM$3z?$1kdi#N)4Y=yF?T>k_LITPDZSzrvpl%T-O2Qr< zdS*hC5@ll zD{fm4<6qg*VP20ZMkrq^RySFT@^}c@_(Qh%+O%}BKD&6koN6AAIs6o8LROJ|?L;*& z!lPVX7Ne?bPj{n#Fn)wNf;5a0sHPjitQS+oYszjro|=gq)~gWMkSFFkKdtoRH;Op< zl4~SGtx^G2Izi*I8Jn`+&8GGGAA3g5^bGl7e;`q#s+^NEZH{p&e2OnvIwtUdP`qWb zLA9@&JpvlPj?>EeaShGGrU_?&f0uIPCmrwqcy{;$T5aTi=;(~Mhl*c3NZT?Rr`ys= zKP3@TR>Y#hBWKvgRzOXNX<^P7hQF(PHl`km70ia$6OMdYM0a;6Q>XSoUuMdy5O@+2 zDzGJ8RRT&#>F&?j!F-Ddi;H{6U{=8L6WiC9;auuG<#HzW^QD{? zO)0IDKZK0(dWIOX7jh<{H z)^iS~R3DQ@O49b0B6rz&nNX+5^{d=LzQjPc!-u~ZNU}3J`Uv~PvF+^Y-L>e@RD9uJ zWez>Pqn6rdbDQ}&Jz=r&5@{F@04B`WP{Cl!R#<@mJ?3c&HPUHV z<>4V;@Z2mMKhd7j%@rBcdJMFT85HZX_)wjH+8{Y`oOBi6_EKC7YVf1?7vO&EC$LIM zF;iiEAX$&qq1H;y{qR#C2rNlx`ygCvg=o-aNk<}>bl0>OKfWqGFsJ&;5uw*|cCZFs3brw=8$#A&k0vE8aHVszlH(rK?9otv zKv@qx)p5!@kGT0qP`x^}-&TiL#G|+_=j%EMt7#Vjd^4z9E;!Ioh&?u-n}XQ7sE1JF z8e0wSQ4X>Cl+Od;=cvpl#y~ygD;_j+m+tDJABeciu_R-Ar3=%g`Mca7v{5e6YppPj z{9wv1^r&8V47Gywd|X7YAm`iE(L70i$fIc~O#K^tIJYY9KHGAu$LL5onqnzr1~BAK zEh-tU^#0D&gQg3&OziurZ18#fM{Si}+1grcCX0Dk2R630q5{)aMf0-lNtSS>(pWjO zHgA?`af2i9t|nJVEeqjn6tbL`s2@T8@-?8OUWd0(CcJZ8 z6Q|E@WR3;xD4RBe&i^KBRt3Z_v4Ib0-WTBPtPZuzOg0T~8=_26}`tEOHgG#y1=huimxX5Pa#0o8ih@ncs zkURU#pX7$Z4ECYs!zvGWqE5VjqhK++AUW1o;49nuPt2Y(kNqGJJ@xd|8+UrnZVGi1 zM;8>_{E|RTo*&xyLRl2?>rNVjJ?T0@Rw&?i;+he53$t5&I>V%dS~IVRp_#wG`TI)t z2$@`eDTvA$5b@5>Ryo-g0IZKmKyX`Aep?-$qWDP@upuAS)s=SKm+|F)J8FD@%6do> zJIUt4E=l77qKomgrddStHeCf-h+2B%b0S~JdZUjovn?WHQUrkdTgLv%a#we zEjV@lev{*oDo;Q+P>12So5L3j%NLS^S3V7IaGERKL`TL|>8yI^GW4~B+fCxXh0$JK z0*on)#ChipJHDa#s6`cjVk6V{MNesP@)r;7)EuUh6CP9&1 z_lYi=osFlrzjr#@yE3h@?GICgB!Q? zNmv)}R7X{6d31PwjMyrg)93#6h4t~*d6VSVIIp^$$lrf zDcu+)?hEp8mNJBY`2fF1VHLy3M+|QI+-`14S%ns*;=KKY1_|HC^ywlmky^Mj1%|&{ z)unN2saddHr}>Vxw8PwGgXTQHsGg@hv(y|P_q7)a=pJfhrliQ%0cGHJ4GKU1?KQf{+S3P2e&2T_FX-tkr=JXJ}^lz~})U#X@pPGv?wSEfAg!N~&w z?8o}TRMch{a0AlX`AIeuHpMDh4nU)z4JxG~H*4l6;nY&W1f|&|vFW3%*B^uvmZ$GZfhUt!BHO4gui z%|)$vY#;YcgLr$$k^K z{(IsE{Sd?)R!Ec!kvv6O#U!k{(JlRV%*@!%&A&^693-jz6|* z$C^uonZE&~yDqG$G>*3`VYQ2lM&z|Wb1HVkeCe649mxvfRi@+Rljz|r)=8a|1TTgw z(f}13{J<7DD}+FsZX;?jqjyExr9Ln2RWLhgR8^4u^n1g4LMjS_XMA3)r}MM|IxAiY z1ykvNHRZboY*vSQ>;75>Iw!C47vOxYM;3=jQP-Lzy7nS^4NimJu9i-u#__fh+`8UFVVMC z$<@^ugK9wBgo~JYx)C*$4U)jGFtcD^(CUaIIJ8e8MtPT!UNDI?6iCna3An4(P!zX8x~Ns<<8V>xSVyiwvt zDDB%rWpbFcq3ZXXq#v%~bBpca3(*kc%gO8KVW~kL#Gz?06yxve75t?m*It^*`AWx; z?06k=3&{37J@vHqIG8!TM0b+)JuFUtZw*ig>QGc(QhEYBT>)b&6FkdtseJsEB<{=K zsV6gSmLfai((VrP;P@iVHy+2dhfbmiA5=v&<;M&$=MqV?NEBYtFWo7b5KE)4QxX~U z^ng6G+CT8Yx3=uj*=un0$hi{Id9@xSs#8>LI$7Tj!T8H&Z$veeoZ}#0?hP}4F@*mn z>8i0g##vnU8ml_z9^MM_gc%7X#j9hxfRk>jV-W1rQmu8S@={{dZ zyuC2Rdb&k|jpix|7030sP}T?`M^3|Ey^-ypYY_vxUF-Sz6vU@^8>R&&Z1ky@LEk~% zPOgT*JZipcrpia@xV0cVG5PO*;3?K;iTSPBAJl}F|G))5*JF&`3lmz_)`1ctE+~$P zXPc%(?M12=@z=gRLp;*xsa@}XXRT(kRXLV` zF~fmz5nQh1H;U#Ajex+$%Mxw(QlIrf`7S#3r~`dG@{n$&u=-C|Mp4O;o`T#|B*4o< zxbny{QlB28DM*$xbcm6)xSuJw!osH6q&g6NN4&oa{rAe0Yk1fb0KVV$rBWcazAg09Nb`BACIC3nPyeRW;MFl=|&)tP${r z7mSW|YOwFrFCvTAhxm>*w|vLOH=JUc^WI5Z?SYMf?LJq6t1NDRMrV|3CeCs5tHVzs zkYpXf=2h8m#x#F6X*ldv@4(Nt8)pfuDv`&2OV){?uC6}9M>M}DCm?4gELTEnnDe_T zNv_Uh`WYVrEo%yp^aCwf;{GOZR`#_C-Gx6`-w&`^8?L&kB6tKz`rzd**3X+$2K^+% zr*w<09rt<8Pwh*86(3#DcDWcn{-xllfDAxOp5_K%d&hlVJ-obkw6wS5`o->)&9s5a z?ZY)w&>|94KbL9&T@$ESF--d&Pj?Y-@!VLQ{Y|5bVA!wnWY!muG=IqFT8ybbQ^Er; zHme|?DxteBJYJ{Wl?t8=1ckLVjUnsl7;-Lul+jQn5_kK5hy>w;LFwAs2A4*90z;Nk zh301zC}XXpXTwkRQw4l&<|lB!PUWpcb}Bt#)}}-&gk-8Q(Zg&vtnWuQvu9~u4=xls z6EdD=7Bev2P=}MTYJJ^y@`XX)QDF&V2~&982J_}v=rMzhHYxw6B?%9*z9 zOZAl3V`-a2=XB};-sIZd#zseUVz?8vgMsKZ@Q7^HELQS1k>US-Q6Y>86-0FY7)vZ# zq%wtCNBZ6>x})vrkHuJ*<`t4D?62u@Fr2}*Yv4Ew3GmR-spm<)LF zB(nPeA0FI=klH;=urQ zd>vANiA9q6Z`MdkAamKvGf}CGH97$VGHZTCY+5p)d04yAW*C&77D$)s3f!Y~DI?Kb zk+yILI0CTSLcQ>RW_Q+yKR~}A{FM~NwV`2u20;qg#~%W=pfBd;-}9^Kdr)ClDC1NY ze{k-xybk%v8kU=3;NNpqE`>b`YsW;lcmJ8B1ohUu5}fWjjstlJf5%a&Gk&H`y_y-8 zy8Wl~*}mic0q-~>)(C~INzH#8N=~R>miX(rE=TsLc-DYOxb%yB!tm0Y$}e-~B9Uu< zU_Y8IJ^cE+ksqLmSuG{qhoIww<Jb8TP z0+ID?__Vi7KPlQ;S_#N+7oFs;%WqaI>QLd&q)(U>iJ0$=|KWa=DXg1WP~jK*el2AL zZK^g6JHrA(La4!)B#AVo)~Nm~lkpROrhjp$J3Ne6f4yO&{Ii#fZD-TRLlF>YK1(AN z3-btN5r4fxnQC**@3E5#WE-;8%YrvsE+I9cSV_(F+P-x4;a>KDZ8)$w5Z0?Vu3uJ* zd!UwLM3c13lDPnM3+GS|czBMQj2V8&hKw;b?E!=Vc;(!~M$d|YCgD9w2fR6dIiaoE zzDm?+K1qn<{XR5m*pRQq?(6vHR#{ygEvDs@_W+!TP+MrSO_ib{uSaJ?T8;qN2`wCEzf&2owSdA2NX zd-cMnrI*UGgYuq%k$>tIuj){LXpz^YU^st-@=@x<_h)a}FBX2-LhpFhAdP36zz{L~ zRU8oI_5?D}V<%X}ye0=WRK=53#5EXfS(E6mjW4VxMkKmA#uC8>M)#YAd<*k|w_Sv0(U#{qb`zaS2>>86rn7+v+J(<1~{%Y=Q=KjH;U|<)9_k@XDYS@1;2? zEH>pkL@-75{1YV)#z=z`?ah1)8wY_|8-SNeR7NIX8KAcT=RTQ~<3B!4$Jhq;PQA^JOPt8l^E z|LZH;b=oO5)qNl~7S;4l-@qG`m-s67F1Vc!8Pm(7sK3Ajf>>IAO+aT4F>R%{B~~h3 zMvv1S6ejjET)fCylKmS3?=5E$4h-;a@y+7s^d^6AZeT-L;F)S$2ktyhkqU(0z14-? z-883)_`~N6Abjgqs>9B)RZ4&F3HG~L}i9fEX_V~2L~SLb^Q+W@7P z!|D3+jYz;-91Y5U@0TCxT*CwySI!_g8UN%Zg@F(VbXKrY3TXCm=Uh|aU^`qIdc4q} z4Ki4{cl`lVR#sD2(q-bIe8RHDB`?40q+Ri5sj1e2vlK6@Q3s*O%X(p|3EWkjR%(@i zMRT|<6tTmrk#<@`6&pql1*$V3OZW!(%A6XXAj4snc66|RK~QP?FRw#L4{q_tVu8Xl zv{R}|R3nm2T^?ZxP^E?#$b;rR+e|8cy?A1OMDTs&%M#B#7sO$4#=+u^%u)2mM|96Y z*sqwMk>|XUQ0kRoO9&#yCbrvD)}XqOcDAt%2;L*cu#IZ)2g0qV$>S;FlEGz(aiw+VMY7qC--TG z0h6yF&;ciUv|tCLQ}>AU%0|+_{UW6|1fY?pqU-N}VETbza-FN)7Q6v&YqDx=HoLCh z4zY5Yjl8zyCO)_MdMrF|NY4mSY8gs9*{JODVEsL&kQ;BoEyB#TL|4bMaqpG7J@>12 zwC=yqA%rW=vsJ)y67sXGjNb(6sLoArtB5@VSp#G{tywcoSe5zO8h=<3`{P4y{5pYc zRP(HVt`6Pq&bJAYuQ-P69L0E=Y}MA9=`0rJ5y8mEkkT*{DI?GIc#vqCF`?R4KE{4?hL%6=Pi$9}&gob71KAG9%h4Ereqdw8D1eIuw|Q86_%)_}R*51pN|LSV zdujaC?&ot|`SSpb<=6*5Uk|Z2nQ{z)%(VEE)JG5!HMzQ{PbFGpK6Ur-?WZ8O1bx{n z$|{kdX|%zY1DNua0W$ugOUB@()1&tfzi7w^h*a10OmVPejGGCw<1t`Bir&d!W9@l= z%HpAsGGfQeZHQH9c4^4LtU?*MicozTPJ;jkcF?hC&gR0ocPAha@;QG>`MCT}(^d-F zir2bxhSXP%D9lycpN*c1s`(S*D&~wQmO=Vvl_yr;Et3wndDw+U2aUTXnoKRo!A?^j zIDsLE34E@i5a@C*wy6GM^$NrePa$l7$)hheDa_2q%}5ri>=%CTy{Lju3h+r@V!qT0 zis4_f;rUY3X_!w?`(}M-b40tZuCoZnp14J(c}Ag%btbwBJ{>kw1}9zPF(j!2Wlib5 zX_A-KFW^xw_xUcW{1LZw0|jO4#^=jIMZCx1_^}NsDhwlz_QsjFEX$`m;7k#3Kxj5jw@xCT(WeH=!e{73VHzLs9NLxBjGzQI&bB zGixs8vQFO6gIxJ<;w%=UR}G;7Lwfx=%WPv14?Sm}b(iOw7pGsKPb@fnSonwRD)H(g z?osQHC-KMp%h1m^4w?u=5f>E-0F5KG0I}gsl;-T?>G_?m}rs z1|P;J4eg?bLz3qJV=BL+{uB>}6btq9@qPh7yH9Ulpg?ULUX3=Fx@y5i=y87!=!#Nt zP(?e-5N2Sb91-iLPHrwOFo%g^)3%iWWSt{UKwE`Jg}`bRJ^ZIq$+lB}R+tR2hJ8{c z8UHR_<72hNxli0T{EkLc3OxYU zZ$`q80U-TtqDV8Z*C!y0mr6$HLmnF#Daa26TB7KGBv6YYJW+SqPuqp&De?Zk%Op~ zS}%wPqqm&o6Sf3mOyH@Cuc(dTJOiKiTqH#Y>y!+pyszX(8*0unx)=npwiGB=K}5ny z1wB-!N9S5SS||s6g1;qBs^n*8*FWEJlrK7RGI(3~bjkPYYqc?d6Ln`zFGvXBVrfy4 zuoaK=1g6L9rG>_>YQY?2(z%}eAmrB>AtrCLd(`(oltVzC@1m0eR6FkUXApsy&em(xgfDliw0Ws&NK)xR6jNm6KpC9SW z^(V1B}R9L_6X(=xdce!xq%*0c)=!Ysbv~F)HQwv!)Gys{Yr(DOq*}uTT9OobtIV@p!Gm zM589eQe#4&GWB}i(Wa&7Z_I3vrU}3a;{$P3SsnTaBnwi&@s>}rNlH4id~5~iPxBR` zlZ*!>xnL)kDkIT;i1j_U@%NY|epL-Qy0p$s^-;s{DHQ7mvzG20Q#7cdX=!zBFD~S# zwxh#;s^%tTZ9CF$7Twkbs$VJAxm4ZPYe;~)__dW4xc|f0T&a3Xq9J9jyn>xU?@tXrWF;lyv3c{~ zIv|(OtaqH0x>oGPvLvb|Ua5wX*(vMi(}940r^<*!Dit=gcv2z1PwM00JSLI==Q1Bi zYe23`nQN*{TbO?uSey2|{EzzY|LQ-hZB&g4>~GBS%fNPiAOGkQigl4hNec?v0kxev zU+O!*b9ejt7o7%Pc=`Rbc3knG1I5uMPu85cUfVKE3lI--u2JD$Yr_$5_+FvL-54H! z1~nY&`iE2oU^<=$6wl5SFRJ?ey~;&K9GjfZwpj6*NDGh1tk}sl47o@UWw(@6Q5F@s z#p)kp!-I&yi+%z`V4(O-9m~Aovy_I@02^3B=Ev&mh$$ulzq6`wGWjnjyxcONn_L{U{p;m#Vp3wLFl zmdzK>1S5q2@-4tqNO0b*mX#6eDgzok(?h$d&lybpO*K}c02oUW<^+;=+{D&@eoMnM zNZ~7DRJjG|)!fHpCdy#&BTl@u?zoqST*^I z37YRDOmNog42T{|F$eQ=859!0l93HA8cL~Han%sCd+G`}=U<_M;B?UuIAM}cABfM_ zTvN<&N@s^0b%V@S;T_%ii8C#K_6GyIsJNG(7*N|uG-1F0x{$QN`n7~KTeYfuXWhcp6U zk=5t=SxbK`D^HYNs^0NuF*$7BP*uBmsOZt6;fr7Twr_-17c%v)u$^{)?K^u^x;MAO zIRhBc$oYr|k0G^f8{PgI{(-QynYY)l!+{VyzgXq<>T01Y3jVF=`6HvgM7f<6jh4hK z9HP@n=C*ZVkWjWAch%1v#nz7UHtWG{EGj;7%?DOkpnZ*Y4QQEFH@sTAHD9PB%%hVE z_nRPlpdDC8-FCr>8PxNChmQr6;GG@!$Y_Jr&J{w}t<~~ZCZKV9eo>kRUWp6-rwhfe zf~ZDQ^xyn&2J0vaP4{B+IRWA6o%<&>@r|1o-}XLl`mCY?Rqu_tWk4aPEW?Sl^WZC7 z@`d~rk3y&ExupXPViM!;#k7pPr9;*&WQ9tv)(}{|Q~kK@=VIP}sm74?`mP+u6;vHS z?#6S2%9#be^%twD7xRp(IZ&N(L1fLk7GBHdnyiJ_zB3H^K%Jz@(;p|S5g369v1-w{ z0DKdboBSXzj!9*NJ}o;?EfQt-L|<)7nz58KA8-=C(uSjznGBxtiy+22RcCL9GHcq}ebI z2y0B2k?fxS8+rvt5$wLTY`?wRx^)uw^=^;ZX_3~)1%TzKblrSDR&n9(IYXt%cnMDH zH%lC-u8Q1_ba5KT@3p^eUx;yEe%Kf-4f^qKK&kxj+FV0_X}eI+Rab&tK=H zBt`Tqpo@E{I>8p^7Px=3MQ&!UaX0)wC?Oibx^hfSV~Mzkay}IFff4f09;8N2x@|VnM*;e%B-Xf`9~i zATdr|MCDgo6@WzG-%Ap|W|vrcznk8c&hF$sw5M_3QIQH&U)jFHe}W;nuE)W?^UAo8 zq;?oWy`jUX?Kfl_*bHvBIrk8=uXua}5vjOQmFK2^P4(dJS>zt{-tOW`cn+aVBkV#< zT>ZAFJaU5_$heE+OD&oHVs^Pw3ft~d9RVve;QoG0V2Rvz^a)?v#47Y!OW|}oz!QV3 z%Sm9>4^V*yonMyl^md& z)52+gka??Vt}7SgtW}0iz3EN>gp2D%Hl!lDlYO$X(~8pa9Cw7EIcDm58l=OKO8z;W zUus((Z&#G#)m4#=HmKU`G0vyX9Mnh3rU~;Po?(M}<^qD83TvxR7C)>1vFIp^u*QS- z@6q2t_navA=?Tqwg;U72(ht(2t+YPP|9ifF9(V1vk=TdN4IQhyY~(@4yLhSzpMo01 zdXXu1O!oy9M2A-G^D#E*3ZVN}xX#E1nMrPgT?J%D=_!QsN|u!Q-G&&afc#SfYU+HorNRA$NPyfZ?uG+?QJGOvvndzlI<4}7a|?XCN`bS>L9(XHNQS`D1C zTZ6`rm)~b=io-zG_1Dwwz76YoN$^p_zM)o6=W8ZOorstuF$i8!ok`uWM>Y!OqZ1F0 zlWh$6OaE!$end&`8=)E#1Nu1A&T5ejow{im#3LLwu7nK!!B38BOw9D>H@~ZYtKy|= zm<>wXHCeRha>=?@jG=HEqe*M-u+*#{O zBAM3ogDmO^9LKay%d$-y@80%9d~ra~1zdYgkgiH_I^PcF5{@`(7Y~vTKrX1I+^az{ zdj^^dFs`K2BtD3?($K@nCIVZ34kEe!@#tu^X4$Z&Zc`Xd$G2XBu(WGKo1TY@d}Mo) z#gOo#nV+KemGYHBFZX65zY!bFLiTvg*9lt^{?{_BPtW;{ZMe~Ho%{6Gy`$jwRj(8L z`&K=4DYnh(fx| z?ddPvN^ae_hRcIRc8tpTQN5tCKZXD8uW#?wjs1(e_P(Y2R?~wd+>wqE zK)_Pudl!5#5z~C`(^V7vVsr)UK5nkR{EE)@gt&eK&9vF8ksesD^Uk7IM#cnHb zLX#&VEERgZ=MAPMQrKURUMMUPB{NPhzH?qv-8b1`d#n-E^c(N$r{}~0XevIvhORE{ zT%eeE2SVs^N>1W8(c6=q+BGZH&CLZ;RHVzC>LLS>0^^5&`fuGdvY&!%+5su^ql_Yr zcwA|m@Ip&gj0B;DS5%hzAv}BtjRZQCg@!2oIoXX>9nwv}tquS}y=u5Kya6aR4BGmx z&=Ue&N{_A(C!DG9Uas`VkKa$7PvPCrGw?+xcGQ-HuE_C~l%JoQN+3ERQK{^9RMmF`|rqE1v5y{64iD zA~Z9r`6PEKcvP$=`}vw#_0>maMJn{uVjPd84Ao$NRhae>WL|5|+i~Dt<9N`|GF9i& z+1IkP&r!wV?z0T9R3;jhSJE;)N-Kl3hT8O4Z#x4I-<^*Z1rh<_p5M$`rB1V!Y`G6a z5>f#`a24$HLJryZ-9E)gq}r~OawGkkq^gXQqdS(@1>r4oTdrhLv~;yEUsPea-;Sj; z_!_Z)o8Yer067{`0uw7iEZ+BPek;`Lpr}z$9&7GX|2n?z5taj$)y>!Dozq1jc;-s+ zwWeqIWx5D$)hc2Wzjh{!kW%GqL$CLyg7!)hRX^-D=)>2Ti4y%G_ivMTHodjmBgnLrcc*yv4wOHA~~Qu~Ja0IFq*-9R3V_mDsuTX^ynN zJFkOY<&H_Aeua)A((5~`SF2%2z~wz|!-)hdi5JYmK_P=13X+H?{!MSyF0_0Dp{E2f z_ZR;aZ;rk=wH&Vy%)L)r3u~M>6O*+v2|JSJeKj7K(WNmiGY=NW_3uZW6Pd)K{#)#S z)bNEz!9ha!h9@2=zSm#b1VFQ{J8O+GuHTC&@V@}@eE{& zdGkCB?X`;wfd_qpl(L?V+je-*OOo+_h~!3G`M&V+eK#*+iapx^0m2IphI*7>&C14% z6wt3^ziC(inehG5*Ee#)Ew`IE`&M7cVDOczNE5DRLP9(OKKy73*61$CUi>}X9i;np ze|$V0(ID;bzp39VS3$4na;{e&RH0~nOV!0OR(aS{Qc(YsKae>jI^?y0A0csnbbZw= zy89~r_0izu#&Fm-`i+4mi46_%FIUk`@5^n`C1okXv2iJsJ;f+V-Q-UkR<~6O-CEsf z_1SU8N+3=v!VO0vM7|{#KGksYE}QmfjimR2;pqaYXflxLc8Qprub4tPMVGMtILghI3=Q@7j|44}0DoolwD5XBsrP8X!)aJkRG^#*GbdMcMG&I%aXB)$q&vo9i*i~0ldaCDzwm3E z>ua2RJx?^Kn!j@MF&y{V@=vi9v_RnXgUE2S%Lsp%dnZ5sGoNEPNV<`I$9&rEg zzLBvsvZeazCA|CO_g_CM=V|i8w~fzH!ijE1R&W5gaZ!*9z0n+hUFhH3O()K0FL=>X z^EXcjZ+xY;|LqUnGYs4mvRy{a7czZaz5sZaSdx7G@i_4SepVK@Z5lO7Z)9Bi)q)sU zEZ5q!+3cWdmS7c%#MEKar(7ua6<^mw54pfy$VU11Z8EFyo7CS}{_4sqi$w@wO&Cj9 zGY%xRy~!?VGe3}jCx6ltK*tRQx5R;4_z|0nLhkFOIrRm;AdMb{M9N==Uull_9gV7{ z>XZBEaC7mJ8BlR!F$i2Ux@ayCu8 z`F#13`u&EMJ)+wPC`S;{VJ8nV1O}3mEhJK5A+%QzAMS^L7FO&R-%D(h){lL@t|p$L z@N<&>Z->1@=V>r7nN7vtAW@jHxl9haWnGEILpX@0rpC_w&BHK0ssp&ixdb;MO(Eeb zA+XbD>Z&17`SUg#&nU7{y$l%uN$80H5>+C_N?!7(Al8?FseA)JNu~uLMF@v;$L5R3a4-9a#jEC8NW*VH2tRFdWTwKSG zk$+~NjnXVQ;0K?5HQlQO0EqdOAfgu{L;gWdvkZ-m`@Qbl|JI2`Z7Xk3#!bXl^hx%W zPwZh9Lo?^NhJ;*97Jkr@JJak>_$Ns-fqtzN46jFjvMjKJLv6~ihlaUV<66_`iPy?2 zd24W<^6|W{3_7Jb3d==PlW0vwkZ4kbKyV& zqv1$@`h_!0kS{h)KR{e1kq{(UFvdr>jWIN07qMaxosKTHlLi%XIUK13R`xet2R$x! zhJQU&&a1j>TRa_zs;3va!VY1<`Jl5_hf!GO8(CnGj8kJYcL)^Ki&&2gXmmo>v_jWY zTRtPo<&&#??0%^=dFa{Z*TP-_onGep>o-<^%GE+DkXsg=Bc;`25EXlRS(}1uAcQU0 zYmK&?e|~@MC(=s+)BXmzhH~>@&~U9_(#QVZWyNr4B~9*AS{ob)39tR}DbN>?7PQEd z9Yu>Ze~(8{bI#v=f6uA{#aMigW6dcK;S*pv*6&OkozE{rZwLNRaw}Y_Jyz9@l*j4*OkX~Ti8w_s(qwM?W$x=&*WVKz zCc#(tetP5Hks-Ie8Re_HWy7{A~W-HR6 zX!m?b+8_|&H+Fy@BZVW?T(&9?g5GC+@O56Su2jXJ7m?WkkpG^sI((&>l(YkX4E_0@ zb)7~{d9?a}blyH)7A0I+XzV+2?ccNT{28m|Dbs*bcOJ+7(We}@>E8zF_{B&hO98K{ zaL)eJtEB?U@?c@e9Me5;gZiJ8!7AJm!SRNl13gusw_ht3)i6%Q#vpf*o@d+3Vn{TCZ=9+K6YKKTh zGzl;=2*lpfjfe<9`uFmGuO|QcZLfdtJ7yfdq>n%r#)?C0Ug`A0wFz> z{mp4JjjOkPLSSTisFJ?a-y9aBV=8*NuX3y{D~$h2RLcIF77%k#t;iTfF%nA*Ng*^G zZ6oJbuo38iNmVmTb6QiOWZZ9DABXYIwv5pI(w}Ml(}`8HG!N(l)!65%m8TLF z;9OcBmjBwh5$K+OjU;H|zRt;V;$xRz*nLX5FCLN$ybZlIB%XVs)p~YRb$(yEkO^1u zMEUj9zOD)yj(*bp&WVB&+R8AR7qVmq%(k|wi0(IM{98P0Ev6qhrg06WxlgRWx!nHE zlZrbms>%iCdLf^`buS6NnfWJv(a0j(*z(fem%*8<2GJgWIprKReY)Xw(>IU()0gaM z$xs|340JVske=jxcFe4d?HUfeGT#6#ipy^p2i?A05 zkYpP^b#eBYB~O@@Ye-7H&bRsv5#WA39@X`~xhsFh1=}ICK^HJbS;6vqQRIFgy-^uu zA=C&0i*%rWW@B~6^0^X-t;5BMlxFfUU6+E;K4kOZME~r#V*h4_`HDM;C2M4wI{`Et zxvUW~i;L64Z18yl<2Po|1J25O=iv$}bP9srw-xyb1HyqnF`6)^L~U}ar>QR9c2#6H z(Eb%$CG34=*vCqqU;88fWamsS22-QidAWxZ`B%Ju3%VWs%`4Zky1f#5b#1*w1@)Wj zRm7q#O|YKv0^&>}3x%5S# zJO4G916pa}P`^x*t@4(zv@vwj;*?g_OvOz9b--y~%o^ax(3ihi6lls_-1r}JDNBQU zu%ldm5LQ>L{d*%M%mA#12)PTXU=a>i9)@A3uiWp{5x@_-R8(~Soo_E(ImQ3Yg|-(}hW?Cy{=-|396uKoo50*i|Crlnf1~@0I~=Oo z3D&N?Dq~CiG{ehdBJ9vopBUI*e;@PR=O?_pWd0pMAQrJpQpPQ48I2f_D2Ybxk>+!R zS{H>B5vRBrYLsLBKgKf^d>rZK#$BlS`d%m+r@f0_p00ClVkh*cY~$;S@Dr0vUC#f1 z^2WAH>N-C@r;k3gsB&cg*%I?1?8UvSr5kBMEXG49t#Qg04?WgsNJ*+ssjos6{?ORNGF z>S3K`M}r0ZH$ihHvA9DW!Oy*tb%8E_g1z-tWCLQRgPp+Pa63-96Cg2zj3i7-|cS9Heb zXFE2r%MxKc%19i_%~4cO!ek4_z}gZL@6wO&D&pc7O@R?JQYp|@eKtj{8QU-qB+W@aAx z?m5u0#N;H@t;v-6<~m@l^lgHvu-9zrOpLt(ygjNnSCku{;5tzLIG+j2QvY;({qo@gG@(g!j2$3%6k z;9d8$+NIF&cteE%Qaer3Y9{0@;Wm{?C;CEDmqEe~io-J19#BFSuN&)s744bqgwEG5 zJ=;@tH)Ksh_JfqBUfCWemb7lm^eXW7>snes(Rdqe`2PFqQCEhEiTJ4jLvjLKum@wS zwl%OmuZg@{g-yN`My1+zQ)cw$co@qY`qmgrd)USx+KvWH08v1$zf4?@C!}?<66$K; zxOIPTdV^&xR$gLzWl+=LZZ=Awe|)naH~Z0zlI&9#tF0LGf^hdZ--ha53%@f)0*ixl zsTD(pZ+^whFn^s6iB2M5+0++0ivydw=Nj)q4wY+ZvE9`uoFFn0m~=U({= zAiqU%=hweVil_WIq^%QDZ*z1!0!<=Qfby&DMAYb`cl%{lhLv;BmH7xGT6)=(LJ0CG zW9l^iH8FgmxDqF-pHF;$f2vyq@b{uRf@oF!c0l>7Yu0Lzxh1n?$HwwfaCjanH*c`H z8c>xz!dhx@A*D|Kw*KCv<7%cH#h`w9J;*$i7IdP$+h z{K)+OZ2TbV(_&agA&KpfF1+|kV>r#i=rDsy{>(I=VR*$zrfJjWe?XwWr!mcqWzCya zvq{ZG$)vfR>}eG#I#b55iI(dx@fjEDvura6P(wKcGt-~|5+rCyQKhyA_|Mn{0t_1* zK6YEO3EMXGL}u~2?-3XkS_38REjrThyI=$KOSb)>b`pv~pKZ`k(j(+TLj*y9!6#dr z9WkMn1$F)&na>m7e}W8&bvgu>@>@mt>!u|h0y^+B9lLCdH8y6upXJa$+mSsYW6U+z z4@79XWRW11<0jo|LbtM0KVJx<1g(Oly@u}jMjq<#ae-Y+(PBe(E1ch>EH(DY5A;X< zcW9-#5*j&TwH!6jBMi^D`T;TZ5K#nK?q*D_lir&c(Qw+ z<+|Ar>L(FHI6|QRP@)0Jw`UasOD7In#d3+NpHf$`e_t0hPs|nGYv_ps?!Mz(f5L>| zscuk58VfUxXCE4B*uY~5^ZG5Y7Fb^oYM3G+mNK9h22srgz;$s8@_@WE0~-VE-O^E= zFs@a+z@}O*|7#WPN0yg%1+%+r)mRh{;`USLwdzbOI7u z`}fM)e)g5N8V9!2gM;ZGV79z@_4oo{T>{bw~h?1aRK5%~= z`b!K~cd14)e=DeD*YA`v#}fSHIT!ZPR$7(QlBCk#0f2v(cH}bczTO=UZTtjJ{DddngmgaF2E(7YwxN}> zB3bNjGGXIM7cyne8AiTsqH5YTzk%*0ww4UlG$PL=)90pab!KhbE)Jiz-^;uM$%rUF zf4P5En_AsmdrEJ$k1X-p#ZxdfvObCf4eBExG4u`Ce``1zob@nO^M2#@!>+z<;LaWr-vLpqiB)=$&U;A4l*nXOrP z&Pk)X^5EZUbndBMNRC`w9hzGz&-c1Dul2+AuL0R-x<$5w8m}IC5P6h68U2W*e~+HN zcx&~{Xy?-Hoj<^@7QWE08(D%6bu=1GT2z+liq*>!f~9vkDi*86W z>kx|-6Z#=OTLKW0Rr#*)$4H;MKrT7N5IYYcxZz%ui4Kg-?dcOWUj0T;^w@O6>WKio z)I&6;QDk%Mqqez6yqCUg_2Yp_e?A}7_#R307qC{gI?q35DK&`UuX8WnEY=&a*k4~q z=C9u=?lwp8+I9D@f8*a=3@`Y{FIWEc`R5VcJSFh~@C&zb&N74^{sbop6wV zgOfL-RU|;HPW`6PBCH08v-+!t_!kh^)=>;hR7Cr!x{A!3*up}*et;c(QF}4+%TUAI zyLZGl*N3UoZH|Ldn_w(6e_nEffi)1(xqa$bBA9M6Ue4T@Qv?`!sGm!n=b1R(t zG?J%y@2w4f(PSGu(|hPK&n~GJ!Qs~M5Uxk+|B`#(=XN7^Y`AGnzKf3E?Q|UAqu#k7 zX|q0qE7)1l9{GmgiW3owcck>CM@eFb>*Rr}>hN)ZJSfDpU#ie5zb@>7En+))g#S7+-#zVc586e#5mnqew@Iz zifO%Cou@}$VLXAcD%tMNmQU_Mc1zi*l$w>T*yaVRlTZ3;eQujwcDVhQL#l)+7)a24 z9iabKgUBs&YX>7N#Ye@0R5f3xOdD<8Oc49V2sG((BO4-2=T1di-J%f&Y}lYaP}idOntQ2e(s zzw#VmCplMpG#?}MGc0GO$xFZJZnu?bos^6{A%aNpCs*(#Y9fig5#QtMtzJ zdpM$126yJo&L`XkmWhO}Mi?z2U)G-vNDa5JH)iRof2oz`MT7=P3k{!fVLinMrcq{{ z8Z4p8aQ}5JSNe^cwMO`3Bb%VpLql(!#K?g7O#57<4-BryW!~?Z&wLE*6eEz)#V#&t zTu>7if>;BjA?{8+10eSK9t73K@ zWh@q_e^iZI5rJ#Fey@%Gd^u2#J}zqo8Io(ijfEMqjOjCN32={{u^0vBvr#REZ+246 zfe<~%)ZQ8MdS(f};{Ic3%PeUm;H*=GHtSyLBz8K-rDe&EFUng0{r+jh6q#oT{-i5~ zT17^s00;HS%}xQcb_f~WWCDHE@%V0?1>mDRe-lf6s`BU!J{o&tx8^z<^^ceHoXlNJ zTowLr*Rwzb4DZ$Q3m%5l%Vk*?m)}-BK2$bSJ`5xnliPv?*7I)4`Ae{^IrBwMD~jOH zrFT0)@H{27X?eswHRjIa*BVTrmtWU&$MY9We~n!2>b+a;OSS&vGCPi&If;2w{xC_n ze{qh2WY45XOpWN>f)L)+dWy8;Z=Hm)vO$bXKQ%iX6fIgEK)!}<uLq-zev2b@bld=16O*nD0db6W;tw_3XC? z&fWoybEQF=7s!%;P9U*FU_)4Ge_7|%f1ZK8$WLzZE>|t_$`f6U>FwYvhdSeBoH(@d z?NUVG;>~C6blY(+?XNA)*+sMS()|(Z`E!22<3Bh43Ci3x!J@XP1vj8&ag{c$6^kJt zXe+!)?awWVuKcw&k)9c1u-U^Sm*VcJ+%rdR`F!6pC%-vZZD^Hj_7}Rxj99W$mgAip3Jg6LRfNqchOKYjOo*B5+WCcSF|$OdR~x9+un1&wPb#xw{B<#= zY3?P7D95b`^(D=YfneC#q`5fU3XaZ9m))^<-&5N8{*UpO&h}~thUM|3Qf^2Z%B`D^ zFs<(NTenfekTd(HmbvYzV#oZ-f85BXJxVR~yKR1}o^Y901H4CbDsba!>Ca#8WfuHq zu)>TQGTT^>ei$gB1-8DU&B+5d{ZW{OGLzxzm6kMps>=K<2UJbFU8Eqiq4bx?BVThm zzid9KVl;gfwVI&m`zTtrIERz4@z`qwuW9nsIEzEStaW!Sk?Fnsx-5N{e}p%B{Yv{s zef?C!W%yIBLcL);jm*J8#QCp&s;q-ULIw*X+D?obx0hZ8+An%w|C=R^@4b2k4_dv( zd49!#E7C*W`o=2M>ozUC%1$1XZ)o4d-7Qigzn0MbT;Ml;0hQx0^&3HI@HxOID7&lC zUDOa%8B7LR0W7^)4hc~we?WzQv^{v=D1sVI=T*{x&+`+apXA}&r7$^6fE0Jl*TJsr zE`eft8-3N)#jG+NW7roeZdI!`^@G2Y$5np1vXDy3@Xz4GdQyxh1;GPvN zX7%k79;Y9(WYs2mK-(BdBfXd(ZtA41LNy&lvH{2+%Jw|D{a`npUaBIblRC9=qFmO; zSRxJ9u_)n?Ip`d&`Vyh#-VF%QOJq8o)9#c$nC>*|G3j0lOs($A#>maT_%xE>D-m-S zP72gBU)C_g&-VO6e{F6u#+C1A_$f=&igbt5>ZG@p+8Jm?(J=4eFZ;twCpMY54 zjI-6xBUW#(vWIVg!AT#Nc(T5X?kvb1#}64B-8Cvn5pOB15{UasdQ$#-)wkV7tRHh( z_ulhXGMrc%$Gn!w5^2Pem*f91D=@p!S_;gf4#v5mjF9ris7 zH&KlRP1j%rY~YJxE0w7Xes8_0_V*k)pK=<0X5GVQ=+mJ=i3v;zXnN^CyARR(u?fqk zK2m=PtqIkvltj5PDYMnNFyi@u{%g`Cf#amPW{|%FaIFNXp}+flj`HqhOd|GTH`~3R zEd9@Ge^%G;;uN|)9JM24)@w9KMv_&LUQLLvzAojw*2z#MkiiFyhwSsQ-xms2z0}j; z1hDDXgpE)B1G&N;D|JH1YZ9lazpvNQO&q0&sK@ntm-q``l?Ee}^Uc9ui$YyMY)awu zPYMfaEU%iIvbNl^!a8a|;cxCm?;mq7-r%K2f4|Ey9fCRP=qSt;q%WS+By^G@!S`oe zT4sEj{OS>zW!#;V*lrck6e6Nr}< zFOLfuL96(6V3kwIRvHjTib(75IERbYG)up8?a}QRz|@e*1~%m$(IlUU-4bzkZKe?> ze;P^x;+UyxHu9VHgt0wHpN8^8JU$?UDegqr(~f3IpDZ&-+S$~+>ss^@P~tW zwI4?kTqmG5RFu+uq@^MJV5dL~ClE#_3B-t~?3&v|gyr?5Y8y>Op;SxV8se+M+o zzGzO^tkONiv*+P{7VX>c`i&Z<3XcjFUFwrC(xtUZiacqB!%w$oM~FP7_`bW(Q^~L} z^9ZN_X>G3SoKdBuuq0W==0mjJ2`L(C2Jn*@zcb84C_sobk8KX%xsX%@PL>t|N%nCj z{af^m0h2IYOuHz)b`NCvw28P3f1)wCEcNLk%jd?-oD$`3hxRhmDyqQCk`c4M`5D$6 zuGFzVK}7^bb-_mf&w&otp^`;!Py{b-w##7#N0MDdXXb3<)d7Xw4ERuE==PIKGbtBD zEWo@2)<0y*N+wvp7P9Ey2iLipM^s)YJ=xFEsi7GHxa%eqaLFG;pzlISf4|ZUClVLo z?w}Sh%;nzaSxo6!ux*!q(Katndb;6-;?Y23H+6XcwI__r8Ve2GM^1{#=>e}4c~+j5 zu8`*=1F}ta!MJ7q`m^mCsqoz!o>T$FzF@J7Bb z<|ZTA15bonPY?}qu`jdR9$ZE6jV|CB^opa#F<9;l;8BKkkSa>{l-pD{#Eo-cmd-F3 zV@Og{(m4rN2O`*!v;ha1sKA(YycS$6j7OEF7mKa%U1lJ2QEy&me;CgtZ%!;Xi^CxX z06S#SLqu%uP--`23S-=_qblBfTq*}OGfJbt9?)i5+G)pcHpy`cr~^VX%iRnPok}WR z)j=hjHA*i;d5;63_jNpliP(Xx-KO-XxC5>M5>}<)>3j`G z6hUcvo(-7rXxvT>Dq`c;vQ(nYhAWBKIzx=M?kn6)wgjZgXgmFD3gJ{t>a(;G{p6qi^I zRB3%kk+fH)h8j-iQ^KIcezO-t$}|~wvI7$~R0AS0M4FEsf8Ts=E>*G)#Pqnq#MNN3hQ*Xy z0Ij5zs=8CDA+u7EqmBE@(26?xD`Z;q3e!g@>9<`Uq_gBg57uGEh5v&66lJ>od9xh0!M&*M=r%< z(Tt}!ufQt}PchAvsva1OOPsx|pY-wIt? zb(SP=V5DZWPt);S7EF?2A+XC8f@w2lMH41zB7%^)u=i}Dafq#WeOd;G0(Vw)QV7!> zyoI`fl9?{#m4ezzyoEGFLYErvjWMA}e-=ujxLqlXBn*Nc*`3T1sKoUxq|fUFPZ_HD zde~WV*j-x#rkL2+=S*j6!6)Gff)aYHK`@xClgfseKyi&tp4tlp0l`x}`BkUqTUue$ zir&}B9^wJK_l2o&+U-va8e>UJr z{_~(Opq}Gk4#(VDc1UuQcAkK5#{AC0w8D;)PLU(NVjzM5nkS-&;Bc5;-Fklj|Yve{+yOF*J@mJVK!hyhL5Ncf}cNqq%}p@f>3GEb1*x zTs)K>I*QBZtbfYdSbL}bd{K512F{UG8Hg^Nl2Y7oLKzF$RFkc8!&&yo%&s`%-jf~% zJi=QRwL5)P>895@4$|FFEUQ}E`(-I-*tJhMM3M6{8-^tU3}d3PGj{~1e~Bk6y0cJ^ zc&kTfJj6*pO?2yferj83E(taRM~REk5b^q}E(VldYNK9V28U1_m;`7*mX7WUPwr3` z?G`46itEeMz50z%yJ}tAJYcSfB5v&BLTX@O{&u% zD3x0`&l9xW0g*_ME60qG;Px=tFm#{86a~YqV%H(cEwsCq*TiU=I*HP55?C5XQwVxJ z(gm9-7N3at_^_5{NhO`5%QeJ`SUQ3#<;%l#uQD6Ki7FmCU=tkC4y>QlaML@J$*tNg z)gB5|K^e?y*K0!%e`&Ln;^RulHn%?)41P_L_(tFQ!N40Tp z@MBa`7ju;f9?GZDtyfjXv^#2FXt>*yOBuucrC~%?SDsHyKlFPmGFeazRS_MDdljFL zF&jgGOG}3bqae-kC_R_RVU1)^GC&;86?au|^eL*`9q$|2e{zGJP=&;Vrl>*2`{62R zM#7Lm2_qn&P7Q|c+3J`A8`Qj4&+CFewu2!M>%26%Ur5~MyAL;f&5x%lhE6l2g|~ zujxb*pj-5K;8Y;?WZ+#gCN~-Deqqnb5eT7|NTDu@f7?Ts3HE)7P?P?#Y=KU-XHU4P z1>E&LHaG&Io6lyJ@&{mS+ochUtE@_OE1l+X+&T@ikby7`W~E-SbD?|uBA?Y9UIWT1Ad0fBjcPxe|kx{;Nt0S+ME@8+%p*sA~I8LqraMh zeSP%)`P#%crRf%ke6GPAM`QhJpmT9xg&}KDct_g@$MKIPIw0hQzZG8Qh_&sKh?M7E zpuy+haqN8MmW$~DI(g>-@JnRQc#k6k;xc&$Mp36zeBorM3u^n2#O-ypEH+(b4kfwA ze`)a!zx(|^e0Y2PE}Dk1seTB?vCqS4Oore6;lsatJO~a4VgAE3=4C!^zx!DFZ=bJ? zlW=+9*=gM&o+D-`DjPTpG%Pe<7BGVVHv<*ah?k1)qEH2KtLKVL*amhH_yB zzOgWzj38Y^fTr8vr~}@}48t9eX)rC~47JWo+ok}2pnEFL5DZVx)Pq+TidDD-DUdyg z(8K775NcMC(NiFm4&u&1R)QGAL0lh(STo(DBUV_ctn{RKKr>k)czfcF3fe-;PQ zc$L)WxgHNsY`LY#$>om~>4v?wR;1Y>$qHTrOe}A9oA!>i^ z8{gTFeCQ6zaO_VJ4BRrD23$_d6l{dFH1b*OkJ}y%yR6>6-CteOZK5;No%QFrqApj^ z-jK*RGPCnn+bVmb*2tgkn@qmyf8S-__Fnb-Wikyes9(=#*9mKVt8J(6wXOEuzUSB4 z_bWR>3-sVRCrdj>1=9vc_HnM^Q`2+(<8IfYvC_p2GY&vkA&doSNNjB>-ZKI|sqEeg z$WoTq7I~a;>$G45w46S+?MTV0-|F(w5NZO(ii4Op(80TKM4&x_%ee6Gf7h+F#_)Vi z8!ALK3p=aR!Ng~(;|vThXlRc!+S(o#^|<-XQB62+UP;WDjp$snhsxMyzR8-6WeHOx z!^1K5Bo#T7lS?xj6J6;QT&TGI&EMO!8qiz^1Xd< zP2bC}efp>SKkG;PYpgJtf1QR<(ZN7B-`{5%;4c$!q3`W~@*^)Hs3D5|!xS{*@I1hq z>7u4}Y&j;7H%dM?1iGHrDrauT1T`bgjHSa&Woi4g-JmgmyxJ|uYj=w}X07k<3fOjF ztAcGW5%@7KdEY*!QZt^r&NG5bIX`p4FY1HQ3gW#k93Ds9lX~9NfA|0~xf9$Jq!6$M z3s|639v*gOtxgq+kcowWEkX{}pN~MBS&oV6@WR73-=OwrADGkOKwCZz4~O#-jW$t^4rEU|gdxx|10r%Bq_{$) z42|d*iee&bz!ky+e?ZDpncwcKI!|>XCIO(}Y+S>{45bTC+dQb#WdX2tCZv>|I-4k@ z&)GsAhj_i?s#;I4K8lncr4L;&yJ8Tmt&^$S5j4C9eX1PRL?DbnvpYZ9{P29ZrL?`rcMRNUW9-(kT?ge^nTVMejwSRR__SZJ4Nd-`hf>LPYa-w+NZM>U#Yb zr$tXhsZ~?aY?Tz~7U+U)Kai4FO4q!UTAESWOYO_VoygdY7L9at8+z z>~Hg2g52xje=SxnB@V{@nY--OU4v^xZa-tupV)6U-~M~^x9?kWFc;t?MD!L1&xb<= zGVrUAYXMfol=L?yjDC==uX_6SA-E(?AUBAqV_wn4V$vLj&{k#Mo?BqiS!oNe@FY9eQEq`W| zvUQ5xf6_f=^GQlgt>wB{*C7z9pdAd9%%`_LX6vZi?X1lvd)CTdW^nxCpKb zfrImsArHZ0=$i5QypeLYU~lbEkX{UURx_97-QNCH7vigf1pvim6_3VS!b{qQe%UvG zi@`5>nstqdJ-x-3Jqe>EAM&CvELubCOspZlF;3443(pOVhY0A47RT#SSm!`tCB7jV ze}x3VJ_e;h66U}1+V_PC>uGvHua!)u;xcsv*Imcv`v z@rq@4kWko15FRk>SWa9Yfe;s_MT=i$2=-vmhsr)wtuZu@Gdzw9xZOGK*m1!!2F)V& z5ot}Td9L9Bm^OQ z=H47GA#yqB^qKRXr#tW1@>ROp{=GevN4vcJ%Cb$#-P>h9JAUg&l@d74<$SV*11F59 zqi8;qeOt)074S-^J$uP(rW@53*_Z-ZU0K%caoC52uL8&A^8$V{_|8;N))B1afA8=$@0FA+#| zVgA}4gW@oXWsXjmG*~B#P%kHtqgj^L)Wg6)+h#5JrBxq~L8H`T#;|~}UX-(|-jU(T zStwB2&uAW^IX4{aQI@-C*VQ~lbAdA~i+QJAC0sT;*ump)Nk#{|aL~A*f6)`SRzCMU zm_8l4^>Da#%i)S#9O6E%_-+&tv!>YjXm^JLALoZ-Z9a~STn(pkIJNVstaQi(bqO`+ zX(FtNhU%`vC1S`k9A0Shw2cdPl4(gzne2)JbHs0LVTedM(T9^~ee$8hjvc<^LtG&4 zj@S=?wdmCnj}J1;D4av9fA_M_KEz$nwU(D>H4D;%3hSA96njpdXOFq>`Fc2g6+@X! zA8ZVKK8D`OAp{^5{Ks3_sU7&xlO4htm(tHV`uJXE{Y?Du-;JO9`0&FAg&)!C*bkiR z3Du&#m3=pU4&RR-(Dyzv950!cI0l_MVi;FW?`7AY#?Oh(ufTExtl*{?) zII<$0pEt1K`DcEUz^2N#qr{hazM0Y)Y*zF2rz~z@(+rQB>4Qq1H}n6vx?+GGVTttw zNo%*eOC!jSIHVrEiZ8c|^CjLMK4Gvu4%;oVla{>55EzBKcTfXWz|7a*Y*iKGxjbax zdx9?QxqhL~M=mK2e_XTi(A~1LtK+RsmjhAiJ;L)MQZl7p<`QlX#=S&9%-pf&aE`HK zS`DaC9Lrv^-N#0^f$d&=+_Q*#?7YY5u;AnXS;gz;z>tf`*}a6n{(_DQGEs!M$ts-t zDHX{q#P`fzGRiAb?UXf>mvNm03|(Uz2{goc*Te@J!X$<>V)Q{e&yi|+gsKR#i~atxNE1O71wXE@m4-+bVQ$=RT1#a9RZ zRGyBU1KRY~90xm;)3J|^j(3_CK7Pm_%lJN$950v_JAQQG(ZNn{WtVC=l*6H&4^n@S z!h;+xr(n6 z85fB~H%Y=Yped^|IqITvhpK2767tk>?ggongy~C2(`fbNRi}BAGXH@UtN9gQxrcmq zyX(tq0g`q4)|`uRmzP7e5ognV+4CsLH*{Q9Xr!z$b9^_Oq5 zL3iT;-Ej>S4yOv_t{vnqOv}u{;lIM%PdF^t_fgyP;?gL?mKZC~Ua^hk78nN_5SaJ;J_^oE zf08*2>h;6pjz(GaAPwAe4-qk3FMM^uReZaMG;s%QIbdogy|`v_T867Zry0r61$=Rd z>59N3B-VS*vqX60>7gOp6EiG=pwRLoLb9lfv|^*n=VbVMvm7Wjv#O`E?T1qaIMv74 zi=IWTgk+R$xj6%!LXeBH)ee7#j8pX(e-vr;A4kXEFQoutuQ+4~E`pE@PRoeyDh>QM zBM7q)^~raFoEU08KfYsHvxI&R0##VV;dmD>H5sB4)ZOm(oG{~P`l>~>PxZupt3XIuA~xZSEx8UTqY3F_0*pa$2Ldsxo`kBVO|bW^M*s=f9$9) zn~7x0mInMdD(XSzWl$}JRtXb%Rgn#vJz!=tJFpTL<9UhVn;Ys#sF*+c{TfLNW^L=? zJ*VThvS2fTJC4&G1dMfFQ8sLKZJH*p)z?j)s%~ziAv}rP!}SO70^``J$HBQXNOMqW zRS01+??A-a-s6>*v?fQqH($;Ke+)WzN+pNY`vd1uVma1j{>Cje-3g-%iaB`RZ+- z(Olzf&Qzc~lCdApp&Surf}QzOaU3CMuCU8K+!FZUNQJmxr#-CwPApQOwrRJdJ_A@mF^S)SL;Jrp*(R8VKp{LhNlW5uSq;wd%ZpFnvRO9e>jQpHkY#)=SS5N z+~$eAv{*D2JGupS!;>L1kUqd_$4kj@u1|v;0$=k_*LR!;?D%MZj6vo-4;HZ)gX}T| z6w$u&I&g{l9#&N-Urr`11Of$ii z)eY>L5_7d2NY%lpf2$ZB-r`d34@U$GByQRdj-Is}jT( zKk3PSWO5!~K_2AZkG=J?egxQsCwrf79+HS#8@+XQd`%ds9x8h}H3?1m zYLg;gYNShyZUnAfTol+8&oUMx?Bt_}(1(ETD5vs*z=WIYrZ4&H{Bu0m~`Ymf48Vb68(pA+zJeqR7Hz#&YcQK zyX$hmxm}8f!Q?u)~KfzFCb=rHNC z@4q;;`O?s@xsT8)YutImkJlLDFZ~>zbU>RcB^+4u^f>f}CkQZU6_&Dv86(H-`EY9% zVSWAFe-JpIAO$ij+kTb<=W?(ok)B-rjt*DR-ASyUPr#U`Z3ukheCYOr7tK44?uPHy zPz6n-a!Qn_z}=NU;}%-(L7bj@VUm92*a#7d6$SX)Ng1!)>mKs?z-!&%C|>h$8Gq#4 z-*E76csE}S$MVI=zvbO}#TeDkX?RffHSg{Lf8M`A{xqGW@h9By3%>m&2j8?**)Dc+ zwr=}jl4}hE9HsY%}rtFM9fMy5RUvd=%?sBJ6a_i=|+_I}c z2Q{mWm%jVhE4hQ-xYbz1v^pEv_3<97sgi&6kM8`Y=ef(BsV+;2`@U5bHPTTZ?d?D0 ze_Syi?{(jm9B`sxDXy^Z7xPom0d#%he-U?O`(=C^uTQy0n!;P({D?bm^H|sHTRr-P zMist4C-@yb^5Wdp7jrvpe`v!)7cO1!asKanbAsO;|KoSZA80bcypuDjDs%2Tobq)QNR^SYGdp*mM4&9f0?vXtLH?A%F;B@%LX;)&$aY4_nima8erG^ zJXOU7PIoy8?CH>%54HmNQPE+Uyf*#Dj{Ou#-3w3d7l3`oTOyDwM>7|_xZFuryvVX0 zd(NH6$ZOZpojn!s$J#L;yt1-8*$#j4KaP!*-YVUgSv*f6oW5 zXv6ZzAEu6M2xkNs@G$E4Ie;_Z#@Qz2iEG~x;Fp_O4paBe;WBdBCfBy>gi+hl_Jdtk zs$rWY$j+(0n)4;OlUGuayZrj%^$&s@F4il@9fJp;Qoz>*K&j1<+nJQ_AhY|7&7XY5 z&#@|lVck1?E^i0Kdgc5fJS5BEf4z;vf&V=B^`)P*C*;OifXjyCTo{!!xF^+HAxrRO zWm49P#vbB2Tvjhn^s+(yQ&jTqQ3agzAc!X$!)R zqRbU$bNn0l%#-hV^}MS#wQ8UE`O8mUe8Dp(*C%CV**wQPy!*$S?iwe8mb6F|eSq?Y zrcGBu%%kbq%$)Q9-1IG9M>5;#W#MTo;NR0yBNX-;cIcrO9%r z^P67a+OfRg#^RPA=RB@df9MBkMJPDPA(%IgyDBP+`)Lj$hz4k5c)Gd1xIJ1xdfE-% zlh=j4*w6mP`WdYi7qN$;xx5(eo!mHaR_ zytIvRnzI)&lqIE~O~1xAC4B0PUbCBokVBfOBkvM}65Z~Om)p~N_L-z`NFcKa98sak z1i+Z{4)OGdRkub`f5)F(dJz&&XRa~v2+0G!9p{A{<(Wx>*gw7M2!~Zdh{bsF54GZ_ zqYN%Q;ZG&G{C?dx<-^5+UUetf|DCZhtYQJ z)zsnc1=Fyeb~CmDy;2$k)TTivn^@)h`8MtcAdCx?W010Oe}$-{VduHC9(#q&83*O8 z4kyOlKxmc#W!5)k2vx%RY#S|1wJp-Bc|R9%eyPoZ zeJ&FuJ>D7*f1eEJb+5}?!-=xZ^j8_o5TMM0_g9$#s_If;8>@2}ioHWMJk@uD#Hkh>`-vUC zvJLb|8EWhM4F3x3s zDboitGcBa6(5m2JZoU4(P8g2H*-u^dNCKR!-_~fXd`hBV)0wBC*Ij}ncUQc{7@-u* zmOu`Pe?+nLNmqZ=8ZS!q;tN)1KYJ*pE)1jZsV$zDX*u*-Y1qQ?Q~tw-(0B&Z?KRK$ zsg4t_SN>_IN`AFS-LPCz>R%5hzORRkdplY0YfF*rsGD2d%w5v%_xGG*9qU{EiH}Ly z=d}^>)7lUJ)!N9<&EIC*YyIPK8k@rxYl|nve~$*#G}U(v0&gFWad^7+5&Z%Vw{KI?+ zf1fOAwWE*maN0@r@;;xDoqpuoU#=CZfLTY0q?U)=o8T(OYZnQB9Mf zj21IurS;?bjIg}V!Eo<$?mcg?Z5yg-e<-=LAqw;O?CGcNkx-;xdYjg6s|Awwr}crx zgb$-&?}mV|s)Lgbv4hMV515tT;;62Qli{y`>lW4Zo$FdfAk#G*f7D)$8)pYQd{Bo} za;;KC>tZlP1HB(vo%o^Tzf7kwx-(UOJ8t1Du%J&=~ou4O=kd80hKE7=LZXe6X zYkm3vHp^>$`f+=00B&D>?=n1ZR|#y+FWf%AHm@8YfJ!b;oZ0PlF%%HIWRq{jghWBN~}rbuord zTKYAId6Hhf!IgyT4FVfSf7*C2^!;x1$LMPepH3TTckSC+h*S1o%s0H&xvb%~@(hal z=M};Pb$)7o>|6F1n875+*tr}(W4+J^nkKwGM?_v<`NFA`bUgA>j@8x2`2y{IKJBH? zii83-ZK}6D1p=LX(+(>xwj=?yE&+TN|*e;rVdVzHigb=dEC z>XUX|51+Ati99OHIMLA?Z&}eo7IZbfuGvE>WbPy!>Jjy1MyECBI9tu~soZO@%vBfc zU5f*euO85>zN{E?)m=etcv^eY%dTKt@`vIIij=?dEpco)`@ue5*eg7BQWVJi-BuW} zmWL@LCxV^Yh%4eRf7XKyP-W-FXYBkIH{wmZShJXlVW%g)p{S?9yF9;sMr-F`?;)Pv z@KW+HYyY^8GB=;s+1~Sfki@Q$QlUciAf^xTnHEFbLaZU4O{1yr+KDhVj(ujO2#&QI=t+pnqj3Yf7ItS*hLeQS(xrQ`>fvP zFGQa4uDsJ6UgN%!+Sa(kYdu42p5I>kwtfpRq>lur!3Un@{MDvYTZy>CMDE{Xp5j;M*%tzOT{jz7WcUmD9UYCiD3+MNvfJ-m0CW-Dl{G zrTAvAg4Ip7#iTH5**O*-m)8fIws3?p~zWeQ)bAlQvke-C@h1NpP$!v z6F(>4*V0cQA#7`?l&TzswaMLF`Hp?Y5K28k>X}hjWa2bF%D#$wSU*J7`D5I3rEu(K zK|4miXl6xsR!%$68TYgVe%(INRsVzu(Xz&$=F&g%12QXiT4Unt-YL(Z6QnPnTX?Gr zg!Ahef3XckNFP_W^d7Bc!FPZ{HPQ1@qU%xnA~xKyTsciSA7u1&m6{uY@_R z)(Q9VnZ9Nb*yrtSZuv=H0g?XZdA{)U(|O%@zVhk0ylsUZ}*!m^$3zS;81NwW^Tq?CE$82UEj|2PafVhJ^SPaj&lHDka+3x^4K*hh}a~W63^mEAp9h~+vd2~0quI%~TCQ<<1 zY^Lf-{$tq%V?K8NCtI^5ik=kRO#r+gy#$H(sqE|iezw6|uRrzv>#YD?HRj=e-EUBq zsDH34osl2sP0eXN<8jVp;l|Gw=X+awmK>)1b}J=v;@J0+Xi49`xp`fd_J3v>-IjJV zPNphCYSUO0eZJNkmDDn|7TCG1V!=)Jb8TfYu}zT`K`Jue5+SgCnAw_~Rq622Aq;67 zCNqw@Wpu=R!v@T!Ftpkq49p18oMH2mYJaJL^JG#M<+d57bt1@E1zmmm9*sw)))16`p~Qv9ONrfa?r5+qvYQebt*Ua^gA6wIs6s z7cE&Sl$Q%y0jU8-cC<<}3kpMVYK6i*Oa({Jo5VOq3~FvJO|>&4E*~seklV z_I)>c+aBwRo6ll$d3UP!Y3%yRxy7IpPbtbh;7cz*vOpYc{?B;Pc?M%>y4h!M}1dq-&vnNRiRr764 zI|cH3^&D?L`^kH<2e;q=rL3!XK7$rgkOh+c8_m?;%6=Yqtnu@j^?%pv*vt_)-Udy_ zFV?$(newRod8goi)+r-t&#S1BXceppG@eJ~7)Nh+XwmixBeFZt24#fUQrO_8&(D2lnv)qCn} z9KUhc?&JD)_^^(2{(rM@0u1&ZLUqN@XDN9l7+{=Gux%Nx1OM);z*lWOWa?Dr^sY2k zO{LUI0J$?ISFui}X2TzseIQX((g6<@()hNJ*v=-aW7Il0EEcytT5)uBy(D#qb zk);*PzT^+|PxPHsy|YJyj_{OarXMxdxIT3Cp$r!ACq(unXUl1O`eJ?v=*A7RA2CQl8oHTqgUN;wA&}_0dT|aSB7ZmyR&x4W0_fPBuk_nb^y+WH;vL@2{c_&Zjnqphgi5d;JYfxMIcXRZ(Io_{zf8r{y-UrU4F)f}^t^Oxm- z&>=x+cY-GAREVRB(tV$kF0r4FlF{pvbWI7vfF%gsYiQ~vpYequJJxGMqq7@KJxPLG zQLO}n9pa9f>+B^j_xf|*y0ddQ#w1+pAh)JDLe61A(y(KMMv{{IE9WpEVxQA++-ui- zZm+!ld4Fuqhb#Sk`}8{q^GexaU1siQL1&}o<@=ZifcAN&(fw$E1ox3Ma5WT#d=@@# zzz@GRP5BXze}d8G&tmjrb_zG|M)~z0G*h;X?jB060O4}!clVy3#*Rs}_@qi?{W zonNx!39pR;&^1F@QJkCih{ZSm^fq6o7gGBp2mQjMev;=u`_t4gfXB+^ytk1Czas%;f)o*pz&m-{num+SJ z#CddR^4HIKyluZvdcgK)^?>{%2PWBFuMBt%fL+&n5aERg6Kq0}-T+c4Mk~?<pZ9SgzTlc=!GxtVc?5cLsmb<9V3RvB1NA;hY+oi50kEldCReh?{RqHKf{vX5 z{7IGo#)aBM*x>jyDbfpbz%6cIFpGGSbkNSfAuay$6Zil|M5@c}^3o?Ve*Va5tbd=) zLT$L*wtULwqaw?cz?_GsZ~oe4(xvY=nLL~0It?Ce!)TP@`})F)7Mq4Om3A?eo|ilA zI+wX5_x|}dKmK}tRfq-Ge((PiPE}bGp94-~0AF}@Aod-0g>UD{TRN&&NZRLA{2qt= z6BMTN9ZY%0neOLu)z3}FgYBoh^ncS_^*tR0%6@J#{V_|!{BGfN2)*edNnu!CGFN7dWh+gPq2dCxmX|8nljrvsHGQXq3l zddTED-dBT2Vv1HvJr&z9YJWH*RBD11+wDuNeAB12A6eS>vfTIi^n2M)`Se@aTYz2J z0lPCO!~vbKOO%607uwU66eHakU73;-Np?yX5&TZ-@pRNvHh+pFv)swETJgFP z_lmS*5hLzjeqUq0=`PgQ4*-H00Kr^t2CMi)kd#$^~{8}T_g-Pe(9t|LVCB-22HgkKi z!ZhD+^cdy%kYjZ^Gk@!+Jgi5MNS86Wlkk^wm4u-_1h#ZZLZcq5%|89{yDs;~`}*gDhC1^G)EZi?=Fp%g_o^6U?<-#JIT7eB7NxPJME)$F*s(uw(zJJ+jD5;I)jG%W5b z4VkhcPwBpP0J0oQ3sph3KE0AX~-Y&uWoZ)06CDX_M011Zff;wkEm89A{DDNtx@IP& zMTW2DD^+Msf!=*#30|uMiM!%-Ki-+XFWl3CdNm#rwpv=Jx49c|LZOR~=`6k0U*?q& zy2K_K#XLoyHR)zOov2xjR}4UgS=Ge#v-SZwKz{^5s+ilGW@VDsJltzS`0e{RD`l=w zazdi|&Gs6>^!vjtp5(OZwH6V_ok)r&H&AQm){(KsNsv*>PB`wH9(;>C3rM;1^$z+D zK>Rf(;2t_1wQIMhz&;WNH0BP~k752&_ao#iGOm%4iK&aifgX2&O1Kskm$ZTC@({h_ z;C~mfp<5c0(P9sSRC$5<1(o-4it@!Tcg{sY-gvy>DPWs75%ldfCx&N8bUQ->j9!dh zXC(>t-PSNdDSm?fFG;+uxJ>VpsC}g)CL427_nr*fP7~HzIS#EP(Z1nQxWB$a`_){T zMH|NUB5}Xwc?x4r5+GeP-0)afB56^LR)2=r(KDN3Q!!>0x(DTGy*BM=VdNf=;}vUZ zk7T{d`o#%N^P?7s*d6Otc*l((#|*T$@xt{LQ!9qx9aCcgqn2pBIK=retlu!&@2@Yx zp%E=&0*0U1XNp;?9g_&uZ+5=dgg^r$ZC2bp7!bcet3nl;KYr}XXOw8Xf|5B1Pk$~i zg6v;t^K|`F>io&EMh3cw-u2lUItZk!F`o%M)52~}YZaVAW~k6>y2twM&UKm-L@Na@ zucO~^Oze3zvfEwhAC)ejJfgRv_&-qJr(^gHqB6jZ z0{5*-$3W9YP4MU`4&P;1NRZb!hh(`uV>m? z7u@G_eF06NMdW(fs^~<#Lej^28e}dytw-phW7Tztf98FS-`Ap@V`HA>H&k+V(Stowv=kwBzB zxeohoos{(O;xnR~dLR;WaDT}n3cLwLuvv~cWo>#*)IJawz6hWPW8RUu`TAHt3w9XN z0?Jf?n!#d^EwC6ur=nz!#5OkR!O?n(TY2jSJqF)JjE5||9UD&G4mWzi=S7MTMd4xu z!>#f{L^GrunA@O>3Y;&-x#zMCCI*hkfo8A3| z?8{W^D1v1{9a?pLh)5X6%1{T+)MEJOi654qBHcZ#lP5(aU0GyE;^biPpV!0F0x5=F z8gCb<%pK=d`L6Bzcdwol+U9UM z8n53;Sf7ek&hGj1Z`8)B^Zpwcg~wHgx8MCB3K(Wq7-F>;hJEnv6ByR#6rSo7p6S|v z;Z}s%0ya~aMPL}xV2A))l7wM+0_VmPIFFxUn09BF=4zNqQ<&~&D1xE>{k#$!#bKJH z2^eOrGk*oc8xF%Y0Ta*(h6Zpmd~XbxIl?>2q^lur(SE^-eP0=n%50)OhU~q&G72RX zz1=y9w(aiXGAIqrJIp}nhL>QpCqq_`a}1|>y}49>w~KWyEIK~bYvhNpKnKm@j)8Ed zPE3h)UaZ=|qgIhii-wnehc02-=|*(zg|782OWoq#b&)?Ieb3zUN}4Zeg=C*jw9?idZea&vr! zkmHPHa3B=-JMJ%z1@#NA)l>8O-e%N9c@gnt~il5kdkj?Uo=0^!ffYQW)jC1Rh1qfn{CD(+ZXeweBD}rH)oo z!i*dMMZ}~MBN-az;19U;v>G2hqh&Gk%NZn3GH(Irm(Lbf|1QeuQj?UG$A>9z@M<5mU@#~;!s<%M5A=;iuDw> zJ7S@B7Lp9uJQePYkM|HxOFnek-l7a~!8DV=t;sW)`kYD1iFrx) z?5!ilv3+zKt5PTxCuJz19pSZFx_rld*7$DK<9Px zA2{4~h}&}y%}o_1#tB!AWF#{5!hdJGPym#??=OSUs_$r*63@eNg%w9>$=y5s}@PYs`8O8}E2MH5?V7f6rFg2n94m9)% zN0*&~hx1Bm7)L-zOu+S#Nka%rb`tKNY)LzUFr#geo^TDb-Rrp6_hdKxEX)sVijZk> zFkOT+>Z3iwXp9R%dYjU|)PGp0#HE2P717Xk;+#?PXprGE!pTk#l!FR$*O7Bzjx5vg zhTr!?ooSG=xR{jer3VHRJ4;@HKjG8R&qmBe@&=It!XkrW47BB@C&nQ3b34Som}aqL zqBj@6N~z-tKx6_c#(@fE^4qeAd8}q=KAT_AGWn0Dlla_OYI_(a-|V zkE^LR(XOV52sYYt&n^atH^WQ zh2QbBkg*q&dqU4kPU{GRpJ5T>W_f22l|?5j@sJc1NhIyMMG_>;|b65CEOMV!MW zY&Vj1k9GCk*r>dU=`gT&V8U%uI~XAk(~32hIO*MN+Nyg5_vwVij*JI3H z(OYVH_rwvkxDD{}TBc=Cu;{%gCavY-X;dk!H(R}c`;!3qNC07|f3oGm7#Rm7UW^Lq zGw$(pg6av4$$vD4O6$%upq3?s#_>G%j_d^ZnL#YfBDV(0Sf**3Td@v4e2+x944p7= zMK0#HVQo=2jBq8DnL9j)#XQkMk=7YA16Q-OQ*xO^^6{YOUbM0U?nZ-L(P3<1YN`X_ zjoTOnrvUF5kPYYXky7iBQdfTu*A{jV7>lu5m>_$SJAc()&>^oD9pv@C4etYui{^EW zK*$k?cuu;Yr&&l}!^WQ@w#6Ln94k(5YBxOG&!*$fcX@Y9RyQXKU!!hP;$f3Aw3I|L zXgiijXinOh0V!qPrZi@}5SNWkpUEAM@!`@VXrwc`j)pU9#7{P+W)a_}oH1pz!YW#c z!+jn{a(~Dn%#w0%MC-~lu9P^@1;ggu&h{o2LQFv8T+{{_l^Y?H^z0Nmir|=KMMw?U{Ch#XBVIFJMGK878Y*m zo`2gpz^w=es?A4}#cg18;}zDw;;DvpcQCk*p{=2QoN1d*baftX>_$E)IP^Pza0lL{ zpfy`nKRNticp`>br?? zM@rw??Mruu>cJW5bOj>Qfo6}b+=)vxH=bz<%{quVQ03S_!-XobM+(%YNhd3=z<(z4 z)Qb5MKVx1vI+n=#Ua+~(C{Q2}%Of7?H*yX+VVZ8_6ruG|F^MKZQ9jYweiPPs#*vb~ zPvU(JLuQ=GErrqn#U3!up%akf^%@`SF0EY>vYfex&$sD0TrnRN`*Ss~czI4(;tH6( zh{qtsGO6wAJXJ>&LI7zK&l(>#ClYysKjvELva((3P2i2BEFW7_)ssbAr0{Y z_hjZKAZbLqi^lMkfhdf^q+ElY5XVT6QJC2WsD^n&GF{nuS)s6{5xIR7wtv;eDoz*v z-1602?N=6_n`SZy3xXAiw9=zPkIKBOyXRB|>4^~aWLz48DkaW~s_S-%Bj&sHbP*rb z4=moEi&=sSrl1Ab=<4cLIOJ3rG@?*yLX|uZxhyyPiA5}j;XsN7&0RSf2)>!n5t^^l zMeLEHB5+^1?gA$xY)u{6yMLo-gk2XmBAZJgyV*ol8QZi@lYTVlx@_G7b3qbxLVj?e z6%P@~y453mEp-qkb6jhuJ2A0xtb)78(=;iKK75w#%;)|>dQWaWg1tc z;g|FSmo}Xa6oQmCBb2am+K2i=KZSO})eXA3$cSnr;E48Y-+%+FOn*&kA940V%8T4hkXKXD(lM}R>u&ycDM_I)a0|VldHuZvFdiN4{B07yo zY_1y+aDcv3{c&Hekbm?TA(`gkQ-TH@Cf+YB(_NY~Ey%(uCrVfW2I_X{b|*xr_JW~Y z8F@wwIzV*n^(zP)MFyCmf_#93V3P0lNWs~y2v=&ItjfP6I6uY{7g)wlUR@36sY`am zNnf#BNM^;PHbo!aJ={lbPY`?iWgJ~aMo4l*ErxmGJPt<*N(tT6)3;f7d+SM$?TT5*9J}cVaVcp0K*OD);-On8Odq+{ z3=PA^j)^{R;~ME3Nal-?xZDJV(L7#~Q(7tT#zM&q>ww=vSd|JYLStlxo4W>)VI&S1 zo$Nktvo}~4FMs=aB4>p2Zfs>wCL=?;j$RVpt^EAP$fAm$>mD{w=D<-TE|Sodz7A)4 zC!oQ?QT4WnG{dI!?fClZ(sW@U(h-WkibcDVm65iu(yM zQV>LGISpYgnWD@Hg1ZMh>=;fsrXbd_i6J{QA}8#3ms~Kxg?V(KmE9 zpflSOnMOfdoX%r6MEAYu&IU|#{xgm7o@pF~Mm!k;Za%rEfB_0%Hg@EM&NHS`Eb1VF z27`ziAb-SgnD#0LEQ|p6g109ExB{!ZR!&C;7vX4_dWTKp9&KJflB%?TS8_btY#1$5 zp6e%MqJ~Hl!HG;cj-Q~h+JkYQ1?5KDS^(PUu@B>cKI>y#8|UzZIvNWz*Ksmj4GD8? zxX~Ca!=@qfm_5~dF@-f9TYWLo0Thby3{e+~O@APnNDz?knz{ffdptAon7hNct@#pe==0@6i|X%X#lKw1TXsqn&{$pBS_mKoEYtWpkR zf)(^hLm<3xX5TiaevV@SIr=Q&gQp zjDK4NPs9?c8Bt%DgKP~j_dX8+TiODZ?D%5`bt_mOIa!UqVUxGt=-VLB3m%1D6&~Oe zYKuKx-2iVLYAm#-8iuedP96*qri*brjP55>WW(!tv#S+WivA$bX90 zm^Oi=z{cR5aB@MU;5h7xy`BUZY<2lDV>biQjIB-SRQa)e7-KM80-%3jvPPdS0>eNV59+tr4EB;~{x_^Xf7}Fyd zf1>vAk+m^+q63h}Z5B%mc4u9OaIut_;HFN=6yrc7!Gs1U23*Wyb-$+*I;Ae54Jl5c zAws7EAY^VGkNrT#4x7X%oa6mEsrX2{eLU98jnV@+>=g#?*%6~*jMf412Do3!0JZ?p z94>}C>Nqh6<32DMcD!1VLH18!w8{u4-uoIF*vCQCpHY(WaP$`k-}6smVdD~8NHBA7?uFB zfHvtU+@@^`7)-s76miwS{>%yv?)4Rqxl>W{V#wGm>Pk-C4;FpQFt8g*_Au&u++c;XO?0@Wo-8#jaIP7-7bfG?+ zd8MWSNwsJ<4(%qqre&znZL&-)0XNaiyyh-<5{{uIeC9AkunT&@XtZN=0>AK#Jpq!l z8JHf|Lkbi&oumXN6)=;;NyVJC0pFJONI|V}gH{8f(Kwt6_Kf7?oWPqx%~7z}q$<}8 z%66!ZU(l58NPm%#8W3|m-2%;ibOFJQV~u1`gXe*b4ZZB?)v%oeW~mOwO%xq*5x*lK z2rg_C6h+R;xL5-b4CiR4>k86G$ukyG{kFdTx^g%{J=>Hl8q=u_;bWTG_R7++4dWm= zyD1JD0fV~&;^6|R3GyulVfioyDSiVQo8Y~fgeW%0tbg=L4jTqtBS@_Z_OLSkXwaCs z1o#Y*l%)GB9nxeRMtC&QKx~guw-6T72=L1 z*fbrr5PwZ>wPM$JrjKR}NRdG=CB^hO;wuz^vi0mhjL5JdG7-~}7V0Fi#3M@=^bm>o zWK8Q4Ibu3w^_Fk29}ZB?F&^CakX@M~2Ei*x9~iqaR04|-#I86)A6KtI=GkJW79Rbw z=!LpIbxa32ju{)ofTT9{40-4*P189$_YBBce1B?<%_S^=tC}N?0LC(Xz zU~vMtAc^L^Id2-eYc3AUj1^jgZ9gY!I=Mm5>m*K%sMyt^dz4_}uDEl}j6n=JG780M zT(>5vd+3so0;;0@V?t-(ZD1^Db?R%bB!5`uoE%?qvoj;$?S=w!6KP(n{YF476|w6; zlgw!}V&hS1%BWU*?x3okGZh0W|Uci89A zr#mQX9Juhz;Ux25HFWHh!O8@Bg?lT?f%d4jBLb=V|9+5^^4By})t5oi?{4p4+2D zU@q)DdYXGejR9*o(X+<`#ps_(_J52W7#Woq+d0fvr`1zl$#GOvXfZs{rwzwzs`8J? zDpnwuD#;03B+Pzj6QYjW*w?#orlC8frmrPCwtv=llccX8{W&3NwLt08o{i zPqP)WYZ{)bPNGGPRl;Mp&7mV-gI*kn>cw&CfK+hPp{8R^o6macAL%?*L4QSe1fTL@ zg$i@Q&vh`wga=i;howd(jRc$Eem}kCnA%Kn1QBp@o|3&f3yhZ->khRRi$&}>av?2_ z;*r+p4nXWgYA%KM@evKABNhtn0BF20d9XNpY@9*cR8K8+iW=_h?KbOy6m;3M;-)~z zb|Iz!N6L1Y&7_~MJ(@K=&VQ=4NH|P7@%;e~Cu~9?^Q^q)av7*zj~yfz%=jn_i{NeK zHR~H(o^ibuH|=R-GeS*i(J8vftfUd;LowhCbJ9|UEMOl?9Rbyz({o1XK9y^E$V4J~ zK)RU5inEtKAk6I(C1sEW;B^vihKPFu;L9n*_g#g!4(i-{c+j2dY=5!+=4tad)H1Zu zECl#K1C+{GVKtRgEEbggIEX_WkL=bnOtZ{fTt#!;hBDqoIM&|MVhSkOFH2}VLk*8W zV+(bZ7|Pe;$X~8dPYWy?GjeU&9Zv1%|I%rh}HxAddZ*M6vV z4Jb=)KL+vS4(xQi0e|(1K@=P_#T2(ddg&YTWGx^7(I*St>GCqMOaK-WEsz8r0PRS@*>j9qex|4kkx>g8e z#u{8w16pTBkD&vt`NWOF=n2n(*_cJLOnl`CW>|MRre%iGwwwuBW11P*cQYG88ft}7 z_ekn3hS9#-tbc1u-(7R}`j@o6dA_j2AT$z$udVfK-Plu)L_ z)fJuI3*P6zX19}<;5v;pg|Ws7BuZ?#YYE#In4#~NOn)ILZ7rzEwoE0elWi(x8giE& zw$423N{J9=)rya@0+V)Kmn$;D1`;c2Q^&nYq)4I=c!rzA91|#DJ+wJK!-00PePbIM zYjPpQG=AYwy!WdMTTEa?>W#gIp@3l34O2)N(I+ZRT82=JIXv%Tyk2zNS=Cu#)(K?y z)G-VHjDMYE7n%uo5EZ_fpS%n4YKn6$Mxi}~wgb$`Vqmx!&{B{Z%mOzgAPx;Z;!-q! z52GJ$NtuP;hlgsqsc-MNI4wa)v%EtY~h%$(0@cb>Ir6z(@k`C>1)Ag#r;`lAZ(5b z;57k;Pftr^;SL>pCyZi_nhlHbxp9QWMF}geEP;049&mV>WhpyhHAr>Zf<)NH-o&_D zF1%l;I56F6GBwZNr|}#c8*1G;EyNwvA}17gnULmig@+b)%fg+dhk1_W3aMdco6fuw zH-G69XdlOp0#2jj>P3YW2*%<_N;z+#|SA`3725UUtfjDI;1BF>nP&LAT#xV;CETuZZ`7$Y9qcii4? zbW2rJT@^aCk2v7Cc{{%FZT1UPzpx=0OTwnR%4m=?N|`#$3^QHy5F*7i9Jyh-hdoI! z7Hu#zW|VPzv{)TOvFC*CvwsL;J3b9C0x1koFd(+p2N@c)*D=##VmPtM0aM8P>VGo< zI-F-9Z~8J#=K)5W4AG>taNsb)$TmV#4vtM{V_iL4&$wds@q|Mx4tRcQ!1aw`h-V#% zB<<%0CNj(o*AkRmSSXYrZ{3^}o-aBT!y)0a%hR8L*SaYP!v+V5%7a-C?NJeTBs_rz ztDt+^tcHvgtC=3DGKNMvVyDR-6 zm{yv!V`y>^*|_gJOWoM}(Y7Hy6OZVYw`QD-fxD1}V@;8Jq~Z7B(@J%4VETsku|+B~CZ zW0Oc)I*5H1@bv;CEIvLVw(2d|yo9@6ifj~5Q)S|&YQ*4}3u#pW6(Ns{p`aK2*@D|X zT?VALJm(S8lZNBVCd)t=jj(dO=xo3~>X6{}q$X~{6&=UwR0X&&!Pqn2Wr?7l7!@;N z21_Hv$gp}dXUP$KT7RI!3qheXeYxxvo6t*~9%^DVamX)bOiJikngt1uZiWRd72F6u zX5eHIFeJ}Y6k9?FdC=0-Mem3Q#ML};M*?CjJ;`r+SqNL49+M+n)WQoK(sVC zlM8ReIHv{6K;cji0TZ0-yv!3K80P6-j(HG@+VfsO5MrL}F@MxsMpTe~LCJ&=ZJ<+{ zr1LF+(R~?0KprRa2n4s);moM^EaV$;A9OUcrLXm|%A$Rs?q>)H^*V-Pqp4qCm^1m( zo_7fz&r~vJcqo<=QutPKzxP64lTZNLW39C~Rc#Z-Mf0QPh7QCk$b&m$0vBr_+|%nV zOlv$IF$>Y+RDZt*;Y9b&J%IfLH$=8wD}p`T2#zxEl)Gv$y3V~Fim@Lj>X@N$A_Pv^ zn>0-07k0oKmLwcmcRg;BP)#S9o05V&O-#E&VA)DM;l3d!((qUIDjTDow*#wi6+HJ+KerR`!9E8X45_4hdKjN27YF%{8+UI+LvLDOE5u$I`jHpOqYi3JnN zEDR>G@MAifKCJdxfaA~0)y7cQAD{kGR%HN?FvgvwG#*?F3pBzs7-qw3`d4d*|5Qg_FBao>-eTkmD$zlDjZnAhRX9Du7{4 zr+<+g8(0C1`aUX928Yi&T5pq_w6e>Z(UR$Qbrmq?%DG zCEb_>b7ux<>!IAS(-nXV5U#w1URTmSlYb%2Vst;LXte|Fp)$nTiU4QD{(@wG_5^n zKMm8Kehj#XI#`eB5W|F82rbPJm*zM!kM*SBE5ejJF@wkyJ*sbg{9-0YK-$X8;(r<< zD_^#|V;6#x`+@9aR@P)$(zR3bw;YW3ATI*$1++&hRMg zapJDGO=3DzoGrv2Saw2{3pb1P9*1XI=Va;scn#TpKbcnpVg*DoW8BN{3u*^htbAQ}jM?qI5peb14_&j4IRw zji_9N>}DmkxwR7o9dVy_I%S}NruJ^&G}x=oJO+F#vTqK)K5~G`?0?!%gau=Gr?NOc zro}-h)RaToIzgd1(3mwXC?oL3f~9(TV$;r^ToNUsU3%!0GWR9avNP?{hBt?(p3z8l z8*2b+?ul}1Ws`Y1pk5k{X zx)uFVuQn1MdaDHN@7=L1q=lv2YWLjjv4lhk1 zRy^~14&qEKv+<}lt9hi5vG>wA+~Sq6uo|98n@s8R98t~8mV~%85uf5uoSh>^AyS$E zZ|+j(dSg1Hv0+<1^8|0yElMh~Qx{iuWHtPRFZX&^@(h|FyfWRI^;#Jvc>zN~{wS%v zfI2yX!+Xuq7Jo-m_w-bC@&%qPH%O*4T=GvAnul`28>rZ2k4VdbRMP$lJx3)qWd8Nc znk`%scRVH>t|K?Y^%4d~D*7_tEu6N(@IfZ`$ln{Afh}biACG7$gQT3x=*(_?I3%+N zM}rljSooF;*%okFBN?Mg5$a^JY?3|TReU6tw!dTIY=2;JYe!m;=0Xw(5eyt`s8Qzt z_+0%fNO+G#wG zI~H{(Kz}%}7p8i8>X=xYYKfcJV9Vt^qb7=d)_Nz3gqpEeJa#>NNhl~s0cj+PI0ZOM z3)B&J5jUpDFqK*)W?>$_wJ5r2`GpYDHlf2FQzD?#h=|vDJi}p#G<0m02=YSAlEPX| zF*#f;0v-~}$CGbxba!MtG zu_h6)yq&#fYfuTY7j<~rx>ifEUwY8lu5BhEO(4_}1D{AF$8zatOA_}pW=^hwYC#c7u z8GnjN4WN^S1=>U@2KP+E7-;gtt%O*`a1JD6=nD-yUWpp=Bw`0vA*A_0RFI2E5azWA zE(SQ$pH0q%IT^|z41`wGXgJ$mTqNG1Y7+4C?4*$|rW`eUdpOE?jb51O@_?b!Y`CjO z-ZWUp;nc4(`WB-$CQ(X|9?+1y1E98_!+#|_vmR*G(Rvb_v5S2uYypEo)&svkW8`+e zfX?9ilq&RW+k+}Wwd_J1MHgXaMUkP^Rl#*0k+8QEW%&I-KmoSX6Sf*WYirVWfbm*A zKAm}`E(SVkdNC#FhS%$Ed-RmRT3|Ks5F{deFW~tppi=<^ZvZA3^5%GLo{T}@NC=xE`O(RUBj^G8sHqpg;@w3&QjV<;Sm(Pif9oB^`JCx ze;3pR!z2XuHxlfCy5R^akhuWWm=O#m@XapZj7b60p=kr&TEigsf=kYs{b1l;S792{ zU>YSw7^a~^S~#HzC&rdS;C2yhE%2iL@8A9YA3nUjewPnFOm)=M!`KIToqxo?`@@H^ zpOVkV>!3+>0hY0S*zk%OAH-@PAc^8SZ8>4&_j zUuU5IjQlh5zrth;{u#rdhy;zqQWnK1B#GjXO@kmN0D56a5QZobQZbf93H@GIGmY&u z4xpO<_wD|_dz4KWls^`LqJLp*`rz?u%)fjr`tbSS+X-o&l=1M@@o&%hs?)$Oz%0@D z!&|}czddaZ$|?Dx0bd+?=5_pLwz1Fa$4@T(;^MFE_RV?!{?+Gy|NXCP_Q!7imiGRP zWxju-Z*JEoMFMOTl;wB&`A2U2Yi|EbjrgW1L)nZ!(}-W$l#i!<8h^jM9+OAX|6-jl z&&wY#4^M$ZCV%AA&*P5#$6n~SzVhYk-+%Vl&mH-TL1lfHU1G- z3fi`B<|O_B1RVg4pZf5}^Z)KpKW)H&)S+P?s@e+#w=@FSX#C zcI0*aM?&V0HRa=3pN93VVSgom|Jn1}V9egEzK==thd%(*k4@B+KfJm&{NWEl9QVoa z+Ib!S;q%AC>*L}5(_a>yD{u$EuYSmaA^THZ;#Z8opDmdHVt>{2`TkSp_8Z$8HcgoX z^{! zL7D#0q<;s!KYrx@0ML6IhQA8r{Y63KCHbc+`SsxOE462zj8k8~4c~7G+F!KMUk=7T zS>f;S_3Q5cOMk8SrY(Pmum2M8_1ENVe^CI-hacXf_qFi(Uk%27hB5x-fb45){2k7I z-Ti;572mYw?{N0#hqJ#lKKwW_{dau$${PPo@Zn=_``KCI|150ywC?n0M2Dd7gYAz^ z5|>H+cpGe#`Xguls+<2hi+p9>-qN&fL#yGcb*XXg=_yKF8+(_QQv$0 zSIDG4yg#S#cNF;i`g3HprhR3!Km0*|+y2*#?x2pcrvHB-ESu>0!Gt0=;_sRA zZ|rG|AHP2O*9pZRZ~xyU4FCRY)NecTw-$|mW4wR$FA5&hn3wsu{qXlkKL5B?zJ|At zdmq28_zxeA@w>4P>Y>fcufFd8?$}>`Uq4Rf-~GeC|HJ?I`|Ho~%7Qu`vf!BjQuscG zKYaRqf&V3bI`(OJ|G5~N`nTWX^*vsSAi$Q!NSgd&iy$OHQ3Qql50u1Eg2pHc1?3n< zA;^FK_<;QRyZh7E1QKxn;lux^f_}_@p>u!i_}}R3g&hD_L5x;G`x#4qhkOAmpT9Ny zL)k>ZANl(5XZ@cHD8~Gd)KR~+-yp}!;^S+ffkgi(=lOnp0A}OYynkM|)6Z1SV8pMk zd`yNBB*kBBEQ_H(MX*n2ez`;ezc=-t>mPr~$M1$_>Z7+?!SIK;iH1MCRr`ncQ~$Mw zL9vj}N&O-C(3Zh#foB~*1jB~_l)N6g`_QBx!VR?Z_aELf!ti0tk`GbSgACp_b)46a z5AU^o`0=sE5C3>No<3Afocz;2f4IDC_2Ff>*SY!dp-uX<>8m9EFum5)J{a=p_CJ5= z-+veyPS07FE z$+!OSGk5skAN~dTY4OL3fK@-_pkE)5fBt9fQ)6DQFKhmn{8h`R-H%uP`!^M6uL{1p z$1hj+b#K3}^wqtO!}-5I{6aYW{1<=F(j z|M+!%|MYMFTK{C|zq-j+e(;S4d_DMIkNX#c4u<)y5uYL|spHS_^shB=`VVhm{mEd{ zkbD>>;PZd@!`JQlzh0-m&iJ4I^19&PJ`O?s;p1`O(_h&9)$X_U0wezG@1DtAHghuc zAdCF#@BTR$es~MgfBa;v&sTrUZ>N9z;}*Yk3F!83zUK4r{tHGBzyE-~-WUb`qp{b2 z=7KDQ zBt$|I+9bgcq$Q2*_p`resU1}yAjwO5tm%m*pis-HQ>V^;!d>odZq)AbBA!pfJ$5?V zyS2Mar>9v-mm7QC+FgGF+kTSeNlCBUoxR$-+N?rdKh!Ag7H=ydC2gn?(}op0>cCkP7N%Ddj) ztPg92b>&^}?p4PS;0LquyQF_Q^>?<}*{Z_G-kVGp_u$T)uZ@2Ii|?`YbC2e|Hj9UE z(Ie{~rqWxR%`>znL%MPro2BM^mwbv_r$mH>|$7r^i*(O@`_7fFAwH$Vmt-vNI+9f>cZNj#iq zYiG$c!B(S4iupW(rwbM^xKXo>ToUn6=!7*%7ICi!n@))Yd%gYq@#2tvCvHkD6}TvU zMO!@IBtPpxU-Jjg9}!O{zn8q$n>(-N@{S|sdE{`7W*dP$9rfXF?5HW&Q2@!>8ZgS) zT0B3?qj!JtJdLNo0X9bIJi&#+&Ni_L^R9(`CYhx{5NJl`8VUrxbSb=ZrVs)x0G=8W zG-*TXIEA+wAsT;T2hsaT?1j|n_Ilzt^?GU|(MQ>j{OJ4B#`oC0V7achP<6e0>4mC^ ze4>TQ%kE3BQ_kZPEmPjSUwWBx9-nBL1{?6DS89JuhsoDMGFB0T=y2La)Uz zxTUM>D}jPLpU(pYM~M5d0^m(n_n6R&U8Kx42pvBmj**|MxO@~t`z^J;o#2a z^FV*WRXBWUD7f>f4+Xer50eCqT+4B?Mv^|Re1ft%UauGDS0KrzIU28~Nis@CZCgM! z=8Lj=Pb`}taC9|GMhBO(xdZ~XKv^__XCQ|zrzrTtFQSvi3laG^&8A7C+4O3?H*Tu+ zmNLAu)c42f$vmE4^+7H_&qnBaF_|r)!4!X1LY_DM7{ul2ay(8?Q^zYxE6X>kTTE9? zp*Vwp9&vNCy0)+0pet6pvtt^FKd~N+bT8t~y%n1iP?n+YMVupXdhWAAMm*#pdcF79 zE&TiZ#nHiGD?)!9`0FfL;Mq?X{d6)L3wV9J&j;vU^oxLO9xX01tr-&FjRabe0tJ6{ zQ^nmKkfv!6*nvSSnvIuv6!U06v4DIGV>)F*b5_!~4Ib$0;yfLmlb#T@gLKNVaWqQv zAx6wxMUAwbv{8YD3cz{7!;;D`i3WwZQuST0_m~HN4&D8#msRnL=W31-x!*P0L3(`S zBism3=)z|}k?SAUhDp@@ds@3+W9om(Q45BKe)}mPw`wDt`q5W zkwr11i0v=|&j-{QZdX4Y@pc1}Oy#2C+5oAIJ|$o_fUvLS={Q5wW#uZsAkt8=8|3+N zLIVNb$xfn^1o}^>Xh=;)JUjFKd9;|rg~r-wUTQWSCg@UOEYn`|5ngagznywCeUCs;|Uk{Vo3B<|QL) z+>3Nb?}MMw_p=ohjv^4l9PeACfxqqlqmOj2|8oEFe;hpNKRbB-sAYGbUBG_zWH*{4 z@p{HO-->KoeJsDxi+DnI3lo2t{4Er8<$%|l${awLO{UaAa3X{^#rH%xm{EC9M%g40 z+@FpVWqV{ER{ZhM4r2#f4DXf&x|Ri|Rskd}V|C5;1o*2Ds`C#xzC8o{K{CaM&LVsT z(Bg9pA?GQ(Uo?s{QSVGw3v<-vH2rg#)EU+NqM`SyRak^?SpP&gBe;J_o1jl4nQ)bR_%K>G z7Yc;@vFJW$`ajKR#X0OoIvz*JyCo#qEG&YL_uIQH9l`bS4zHVhmJHK)yf%!{v9Com zUwunbhBau8@9<`rXBU5P;eqTlN@1N7xOx=FILZ>bF3I#NA`*EC!mrSr zc7C2M$0Lx+01x0+lq_J3moBUy7EG7PD8<%vk)6irxLue-U{beoAL37yI}v{>Tz!oq zLiRuLjYnhLNh30if?+bSr{>*>kX*z72zPVEspWobR zI+UbHNTOt%C&3d=Hvdr;jgnJ97;(@60Hfs)-4=jatkL(By(1F#d7E8@sRC9H&+*ip zL93jc2(0l2DEgUSHJSr`G(aXw;^8?npV&ZoMZBG67x21;Zm8LO1Sb@zOgaJrlAc~^ zh84eQM=#*=f{%Z!fvJO(`XaXs<*y829W04S9|*}ZI-O?|K8Y_;ral=bAVQ(Iii2h+ z3j_eZ#p`tSl!F-u@)bX@gno#yYcr zj^80IZ|=M#y220;?$4?_B{S2W!_D!2{bMgmE@w;^-*-Mn9EaD6&H(%0cR#kH!?)>d zhD*i|+i&ieEaiRA5|&d$fvHBmN{hJjJAYP~UU338t0CRD(^CuG`?O#Vv&8E!2O6HE zkL>^V+H`+xwS2aXJK7-?I0$qMpK~KPT#dBI@?bOf+>yZS(ZYDH1o*;3=^Sk;UjQ@$ z#tY0(V_^1)nL@2)^s%G|oCi$EZQ?SU%-`Zcz3sVcGEZFsm6zwfblzezzIhjC?$?BT zmJL8|wsaxIxm8;e;C43e!$DW>xjHRchCs zE%WpK3GA_FPrMwc{Q2I7jD7ANM&B1N!B9{5gHC;JrMQ(s9M9(mVmM9*cJP6GTM0AiSqwcOQI@L=k54{mKLW z2#$zHs5LtW?r4dg1JtzvStiLPAH&WY-~R2PJCKenkT+%|kzUAPhU0kZRkHUvv8EC7Fm7QJ4+JfYuAElpdXQlr_5)|-9--Zyj1 zF54(-Y#Swd1Vc|ywq*Y+&*QQy?4!#atfE1c$<#lyR2erv+VBd>$)8d!T^!9}cAeKg zff*=TdNz$0NY=(3>+3uk1gYXE1CcpYI1gg+dgXK4U=>KMYXvhMHKLsmE2@UwBKmDdZ z{iZ+tMEcV*|Auc`)NfkUZ(7vS#TX0S z8?uBk9YyF16Fx=p7&;umY~uMsx>eimt8JQpKtbslmN+RU+#CjhtoeC@$CQ8hR+I*H zee(zweIFt^-Na2Q8c*<<>A^|ub0m%kZ)?eMwZv2 zZ9z$afhfM+o$6pvy{}sP-p=kdq7vOgYoXM9-M#7nA&IDuD#rflv`>^A>Fp@ccXxN! z*tE|W)EEd_#4MaE!hi0|#8N`85fnv*GwQ=lO2obZHxUSj`T)m~%%^`KC8!%4nyBq5 zyzNtmt*E3$o{UeqS)Ws&=PqAI`00$Pu^20?s21FV@x9p>ur4zsxyIMC<;gf5_T?L+ zF(wIGIQ9R2?4dH?7? zUmgTDKwR*>-r>=USNp#l^q=kj=ZoKucxc^B$a?S79AOe*qFNEZmIx*Pme7`eW4_sz z;3e^BNG?OpOaANSaNj>BLN3al{>qm{E8?ezK;gtA?Bt_9W#xaT(L~;BMy9HuV!m*e zj7lWoA!GWQ+4jM);!E#w9zDV0lCBzrq8ypu^d4h#iMue z6paz535h5|yqWlbZ{A? zWjZ&W4h91x#-a)H^-}jB>7>h>G@5NcJJFb2$zPiow~2i!ko|Tg&1=#7sNHTOCnaXU z3B8$yMaF271@w>BldPu?StX-h;7FXW3}nVnNPI?Jvu}SIgm^@=NT5wFqJhzBz-|N* zXV~1-R$m%j2+iIAdLT0)?lUweUjx(?zRTXqz+MNVm8XI(1;W}8jlkk0>ERkl`>YKe zRbU4P$4!z_$sNoTRpI?vVjT&Ia$K)Mmn0a(i;Z`GxZss z^8*-1(^q_Dxr1sV~j2B1ny8wTMi5}V>qLSJe(%ujFxd$m;2x6aG zcSfeckT(r!cl3^-`9FzAK%lE`immlI=3_3QAefY#a?6TK zAP0hA(1n)PI_V+jOSxmbL_r)*6W{^mbu~&T>pK3ao90cxH`LFzqWE-yyZ~Bb)uN=e z!a#pkd;VVlpAE`h6PfkAOYqp}ekBs?4r}A@N6GOV2*RXz5ydQISlMGB3D&^8^D%vJ zfqBWLGZ;|tgms~OxzNo6XieZxCN1F|mhy=Ka?86SsG-0<*((pIc=nd^L}Rv7i$Zy% z-X!U?$QH`Wuovd3YH>q)|0HK<&m5U;>q18a&jk9S6;W}qs7tqbRfA3CF*I1) zpPwa^3oHS~cdy^UM$FH0&Ola7J=U1?V0%%{;RIg2=(RDu<3KW->2lJiRL&3SBg=m} z$<7JH`jM4hw{?v5MKFkit4#3brycWCeE53(*lKUQRz7bMe}wTehY7%$>EQQE(w++c zA34xR<@~12{Q%0Jm7zhnwoUIYm;ikDS{}d#fWCR$DpBAQ*%!4;NOYNUj`i$QF&Ik~^yDsxnvtRB@hwXAsMKV&K>_^%sq#lVKyydb+ai%bJeoeF>cQe|j1TB@)3wIyS2NMMI-xlPqNv%*Lyv zDw%~Zfmth@y)0^oZH;u|GS%_tSre{jyvv9cyfTg^8`BlSP=-R$`%|N_(Etz9 zKanBhG*VFlpCD z^`?m{J~semy2_FZ5HUW)17MynW85{N9U`tYNzpaIhz4M+!Yo?kpgEPir1T0j8my0>#J(0LFOOvlau(JCMmU?-!=)L>NlmBG^PEmkvP+f~6r>8C71rzvGtssxd(&N_dK8sXG-zYCJ1&qsBWQ>u9`I2xvaDI6Skj>v1|p4-O#AHIy7)quJ`c zGa9c(DqFi$9)N#ohyqf~4yA{sK%7#EfSQ=hGlhh(jS`PPd_56#z-nUHFZ<*8Dx*S_ zMcXFy9Q}LbF|tw=$fT)>x+&CH{q~{dLS7D@VV%ps`BWCmfz#HM4S!mZuEFsbmf zXY`2Nu5z#2m1k~k4jHl=R|$?Q@_HJ8@>pCOkX`^(^&)?Cm&wE4U`d797`DmpOnw)zjULzWFmWG;6dzGZP_H{J|?aQOPO!XK}aTmA^EUUB)*lgFjb zJ6}y`t~XSrHT8P`lgu;CiU%iE0j=~ORd6-5E7#i*0#PYySnpQv%yrk}?Anc{bnP9q zCjWgYJ(7PdP1A~zp&q@PO`{&V4A(+Q7^X)YB zFyPAFfg3)O#m$S?H*yg|CMtGQNgVQgR`t4*l2CwT1^kl>9N5Z6W!ZbbuPO|w4=PDT z@&_=a;7jI2ZqPrWi^?GzB}xd(^!g2=)vk7f6W4!+Ki?fsqh7BW~o-C>U2mUQ6V_9~70|{#Z%^TA#TIw9=cyWM) z(d+%rGkGlkW^*KJTV)JHA?)ybTV!%F(%5%GJdFmfNENym$hVM8Lx4LlxONf}Sq5ZB z>gInSJU7kPKWB50Z02YWSi~vX!}G)!kK|YN$@zuup`r@Ge;H`+R{(g4Z>&;f(fo9U zCDjKZq7cBPcy#*a&ijy??neWE-`r_a_akBw(AH@QZit0-I)?Uv9xE{ZfyH>}!}leA z#y!!I>sNdY+VH)*{1WOAn0;shh=#AEhmn7avAIl{VWeWYYcwN-CL2w@Jjs(km*iDz z`WP6)*kc}Gwi9(Q@@Nih8#^F!wh-)?2njty*M7Ezq!ViA8w zVs*m9D4xy6DVbsw*?*o**R+3x(Os#R1uCzv*iea+IAJd>bTYKPkSv_y5-b~lD^f^mt~G)3Et-z)@Q21Js{H;|8Zu$E zkqfdO;>DY_CI!T5xnt7G|`XZJ--V2pWDnkQv zVca3sY?&=wnqD+`5Ln;bk^Vi=dj#4?G#1rl0V;L~;CwMHJ zh{(>~tyLnFAeN7O=Ybo)eg69m8~y#$(~1+!ue5LasH1 zP9iWj+6$9AT6KBInL>}rc!n&43eJKX>^z&N{{yTeAS92_qP#qK!_1R$@(ys?xO!w< zkqlM`sGtWFFqPqBapx+3!hb z3o8`L`nqUFFe0Q-b~H9f3od_f+GCZSW0cI1Ee5nQ_J}=Z#P|7PB)_2u6IO=dM7rt{%46@*wMRX8P{P>p|z7qA@pKLB#c zIC{)qwWFWYdCr;dbX1E@lc~}~$Xs$MUajzlbh%e!48#C}QF#iRxyV%oNxUAI9abxo z>43;3Eg3H9nPd#u5ucpWNPLtLAY>&Lu8b@i<#aV_j@~hqIgJGxMi2F&a9VH`v<5SD zBo-LbU-N@5L$6y{{2zY^eO7LeR`k)Hk(#wiX+@yw6*xcfyypWfFl&L8*~TdJ*B6@1 z(>DHsE(Up@a``nZ^PAepBhy<{OcuE=RDa>sIUT{%JlB%QK+Jd$WhZz?w5-H~ZyDbZ zG2a0}IK4tIuy=_>ppk{7GU=ifEk?$C^yRfFN-OH4$ih#6%2R&}+zzzcmyn=_12~|o z=;Uf|l2n!>L0~Pg=iuA^dCF%S^JEF5WF#Fg03sJCvq|z|C#CYLG>vJX4OPa>Vjmob zA;4ZqX==_-B?={G+?i=hOf@$~7yG7G1#SDP}IR#zhQ0PtTCM zQ{o*$Yl-Q7cy)LO6_+FbBVX)sQ)eo^u;h2Q|Td( zHFgGlxR!(BLGehN*v2lQ$b}QxZ3EsmzW1K2`^CNtO!R+9uQu&s=`|G;OwFR8jxVQmsLur3C>+hLVyleOig;8jA-u^@{77wB*mYTU#MWL6)182BL_Tex87}u%~V{tL= z6#X50?jI&FCiskqJ2g(r!mL)|1hjmZ*NSvX2{BKzp6Pub;a8l768MX{9L4|qmW@ybq=~DcyiiW)7@jMqHMid!}vEF%tq7b{h(nGD7EX=QY|9Z|@DEk&cgHJy(R2Yd+ z@BQWua^S-50^Et$E8m2Tyx{oWY!kMsXSqO6@+G`YNHw@8M>znP*SF;4QPTvZB|m$7 zBb0xB=5(6(F+9vr)IdKg6*wND9Df`gU@*C^V?T~e8INL7!aUehHR-`K$@BE4g7Lo`LvnDmi&btVkjptjNvua)6L zlyslsL;Dy~3M32U9PYRmon+ZK5|@Cceuah&19TScnr7A%O%%E1bvS$qZ+h~l$0&ah zSgg;FXXUazAHlsOF@n^1qh!Ix)of~};#i#XmNVkCIp{IXDeaEP2Hhg*SV*E4h^m=C z?6Z#wA>s#6nSFr?IA||8GSe~+3)2kE5k|Lk-^a$G_o?9Ry|o%R`&y#MZvZQ}m@ktW z5q@f+Kc`eBsD;XfX;MfNG*1@GxzK-Uz?+jqt4moA`;w@!qcjDeTu3#Vt-e*`O69MJ zhBv^(L-t9NhKdBqdddSxl&s(9W$W1!@e z_k_VG#UcOpFcMaR2Hg9OTFX*b3OMrwFrHN@F<2|aDojq@A|lsqU8X#CHsgQNz-7=i ziJr4ONGlr0`GSH?FpOl5d=Ra6md!ZpzguI(fsXyTaKtJ72!ry|vnj>hKC~$5_uk#^ zInTxZSr6|!We{k&qCu&;RkRTbSDP%9X~Ij%pTvggV=^B~~-PUu^)K z{#GSgG>b;(iJSq~3j96*rYe7m+S@@lbPRCtixk(%BpqhsZ0e@^{dX4|p)s71289Uu zas&H55Hd@xZ(tBitBmRT>kow&ZLQA$xaJ2wy{^!_T6m(}>H6=z$osLxHE%WA8ihiv zGhH&3@9nkScjGtk2N#SleQBMQ;m3oM_){hr3asy=xs^1?DjwQA6a0S`;}UH1X963C zEK#FS8y zvfzw3QyZIoVBL2O*F+ivnF<1x@I`4YHF3a_8?{ zCuh9uzTCsDv$ub-^|iXVi4|0Lag*+0J{Pa*o?3jk$aj2_QqI>ItXt)mV{bOTY)_Uc z21;{;A8g}52u+mZ7N}1`HISr1rjRqr^wlLl^dY`2&!+ zk&7gkl=;r%1wFVou$&^`Z^tHuPYfH8c*-A(Ql-ilLQsG4(Gm+`a@Hvv7@F9SaPEx1 zQv&ViIp7af^T9MnbIcivX|ylS6Y?=74_8WngsT)lfIXmcrj!{qPk|HyMv&_(70UsN zie6qr%CU%ci&!{I!+jV}b7u>FhweqvMy5dQ?vTte^I^*Z{vv)$OV%0llwYnF${IwZ z*TCtDLPLM6y!CukVrABZhP3^2xggUMpc!(+!8`{Zy|i>~c~I_B|0vQ5>{6#2Lth(I z5q)Yu8)@8?zBSg!pWe^L@U5{%zOkQ;+B1|GLfg?WL0`s4tPa;M7F+Ui|3X`6Vlsz_ zt+q&uoqF)SjnDQw0q_z>GN^e6KO ztAWY|uZ6G0URTvF=f$rZ8tDXxJT@H5jJnzqQpbR>FJ7{BK!wJ+lBmpXZnGg@q1GWR z?N@P%k!^2ZK_h#1oT8040k85;f0OQx+TweH+p zYF&Tyr>KT73*rTWrn=S3$*Bv)=yoy-$*P^L?lpTRmt0-+J5WKcyR&i4{z2-Up?NvU z{atT&wyRGad-Qj++u5wH2@v@)!oBV7?QK`Dn8(zOoL)rT=D;qk@9Y?B{X8lKstd4M zQD9VS=gd7K4+trlXa}!=e@c+YH)E{c53_$UKIN7tT<{afI#3K<{j(KWp;%gr@LPPD zPL>nQ+J2HyIVGwR33VHg%lMYs>QMg<+#&Dm{147D6WHUtkF+V z1{A>CiB3|P%~9CvG#&P>E_&bq%;0pII-%LE3Xop zN4Cq}`zI&slZ%Vg+vZ0=IPu=>(wl$WM3%A`V6tsQmw}U9o-?V7%FMI`A!-kDPP@<7 zAr%UtTK05fo2nYCoCKw`lVefe_{Sl4`JUSlq!}R!7$D!{PrKdL4@AWXvv7o08nQ31 z1_*FC6DTb0vCKnbpOmU0X!e{ABpTGl9RI>X8(U?eLsmW z#YM)Yjj?R~!>CXXXGJ07Fo#83B$zCN2&+VIy`Hsy-}{n}gtjkoeq_!JcInmr$3Ql6 zQ3x-QmBV?t0D|cmmRZY^9Hp=1a!B4sRK10Xw~W5eLAYsq$Nal6SE+pLtPV;?3AqZ6 zQqQW%NTS~NDeZ-h_7;^oD`5txCuphQd#by zdWFFkb)w8wkaoVB#sJzbf66<8yV1Xq{MNhLuJWLkoSpqOjRU9WR6K9 z%8#tG=ZU?<)XAQe6b}tL1lUjR`#?Ju%7V#6Q7N%O3W*c`iPi95;z|MFT)Vl2RY zr0C7q*>7Nc-a8+EErPUzLTdeGQKD5tZq!gmlWnU{;%t3YFeXx^0wX z@(-&rgNyJYE3C_o0u%Qu33=!XCB9|hR!xT|E*NGjGu(<<73BEB9Q#(2M)lbgCL;2+ z6=qYB3324yA}dmv>$uTHuCOa~k*`3mig^&Pfp&h1O3n!nS5q!ec!v&Vq&r6yChTeB zb?~dBj0S}VS)Zs=gO=Acr+DmI3Gl~)uh6o3AZ9GSMVC~Z1S5ZGO8x2VZGYkfa=%Tk zs4n_~a^2xC(kTVsh<$A9F9WPXo(zGA8wMf~MADz0zeTr`hC736VT0bw5*W3j*F2l! zRajD++*QV)FM|RiS24XWSPJn+aj;KC1+V3tgzK08I4JPu>8bP$Kt$k5+wbCZ%*-^F zI41tLSg*kt>^y&^I@{1e)Br?iGT)wOx+iJZW@C^Hg%Ht3q|{*iiDnrpV?B( z>rG>&#tLZTkE~%}KD*gYQ1+xza@mX4TbOedqSaF#C4mnXpWPwsyaoAOeyFRsZd&2wP!?qTPKesyWB zcbw*UIsJdHkHuw!G$KW<&w9IU0)d16+{h*aC^pbur^om0wki6Ep!#6BYrH8=#d%^x z)7V#%GSD;lZ*l~`PlIRB4xPWR?mi##cqSj(`O;+EC26m}cTv^4m+K10#(iN9`lwW3 zb}xU5vgy*4SG;$Y<>5uH$BKyjb3z3yHPbPB{SrUI6YCk*?3yy(XwdW`qL-pa{suEB zQsO+l_tKauOHkR}dDU)o;@_ns!w|r#>Zec4?@5K>|DH>53burCk^MLEuy zD?i410}4dKbRkT*1F{PbOtUixD9Mz>Ajyu3Y}qyzg!Gq>vr*zyEZ~&tSP(lKF16Y; z6EjhtI+d#_1-k;^Ab2k~2Z1))k{4{^>e;ZNTSp!nR=WH>t`&{ktpz<7TT)|3j7)#g zEJ9N1Q6qO~I?d6;zF3P=4Gf#Ai>R;IR{Vq}L6=9vFjRW@1dD!$Stq}ZlT6tG+rIw; zB+TwOhQZc0&=&fj-S+lT(6^S=n{-y^zESgWU#Q{B2=5TikD##Z_#=?SHaVzFCX`Y# zpCv;X?52qsmZ0|0vXv+ID|$-?$DFf9N5AC4dd(3sG<5}VawZZWMiiQo znT`>yXYLlGkbyPPI6F&+s)-M=j3#<(corE&U`f|Yn1r;gm0rwK2%W+Cb+LPoj-0AlJmQ^z$TL(ladg=&}Ad2WQI30#d7$r5k0<9 z)&n2s96(AW7^^g!>Gh;I#I<+ z07V}O6^S|0Jrq$)D7El+SM^nJuB1i^!P|NR8=lEFZ7<9BYP63!s!;XdxJ0$111@c% z8>9=J_zi&1E?VEc<}^JGg%-zBKrxvMku2%E*L0VN%PpP06At)o%X@#b=)b?Qc~k%W zQKnKF%7Tfb1bx!xSAI9{Zg;)98$U3U+4vot!x$5gqIsiFV4>Lsq6Bt#t2^6c*_dAM z0<$_`&%^@s#h{%2MlPm50d6$lgTGP32cJhwE-{c9@YlOA40)P~Tr7cDi0!@2&saf5 z_-Wpgz_XE55WKUJcOsC43;(i*9RV_lJ z@+pI`@4hn1xZuBH0FW-AUxV~`pY_wzvg$AI15Pf~Lri@>dGUW+|M1{tzyJI5$1k2A z9=+Os`W$49-wuE2KYQ^@|7ic0R>V2z<&psoxL7$TZZdQu@Z&e$a*8kZZF#SE6rUZ^ z(4}RkIt>}e-t8V#XN)H}uMzHYicau$2ZyBU=M!Z7tfwNG) zEnmt)%Yq&Q;GG$4sQ(Db_)M-#(_A}0eZw^@SxIDkWv?@L5vI$@U;w<(C-ZwTDZ_goMQnm z#fum|G{VuvGDHtNq^>m@>*Jvlwa6r5swN{7T54{;;Sg}^yFqihp`y_h0WwzOvma&8hL`JYQlr6`!VaW*|u zf&nuR=j?w%4jZ6_F$5*@gzP13`m0dQqnI;`M8-KJC z9Xojrubjgr7ms}lZ+G-IR@u^ppD+k+@f_9kq+5R){C047xc|#R|K&3vnMVizI3fj& zUMWUONtA{)10EytO8y$1a}*nIj3N%{43o>^F##e08#rBH%^#jTrh~xio6t`pfcTh+ z)+y#s2{LC74yNx~#4CGOK#u3F=*gpoeeZg`WVs1bBs5B8YBY6PdoZ2XFyt{?nO<{T zkbi&dV|knV52-2=4>Nounksy9{D=9iMO1sy6D%wLW=b@L8$9WS?vpoDLvB&W|DoMw zn{KNDh#j*uwlu!P+yhRH0h=%b2_gmN6v!1`1|lPBtnO`#yv`G<&?qy`nlu*0JvD|+ z9+#?mE&C59BbjLJ0ts%6$p8f*lP7( zVJ(w%D%HKTy9hWP;x8BF08O$>Aey-x6X$hEFmtVW9qSsZmP9Cr5DO1}%lEt4*3BH~ zV`$8M^)^s*@xCpG1EvctgM(wm7vjsvFI&J&ONFWi!lmV(rs=^}K1%t5#G;%nag2Y- zoU5mB|FKleWEq}u{k>Sr4Qs4e!~2A<0lYX8k#CD{adqW69*CY;m7@826?7j)9@ZA^ z^`e+7UZd}jpo#f<(}lmeV**Bz9c5oZR}!N)y?O$Po=$m2@InF%0d|WUHXzHX9Q1Sq zD{_@s3a9&2sQTx%?Y-U42wz$4fxmwU0CnkKm|l@*IZ=a_(yUlpR?`WUhoeF^ALA>< zBG5tgNO}g${$`&bV}c((L@eRaKg643srK6Y<>z{v!dY5>H zQag9oBpa&i_t=CrMr)%v>3nUxGWzEvc~Y2-_Fq1wIP5XfB%!&}nf2&vYgAF+)=776 zDH{l@JW7a$v772<;u1c6Y&1_tPL&qyS_t(y_=I8;8SYCK z7?`b5OpOX*1m<@{&doaiAf0~;&RBSojI#?F-Zx3l>Sq3tnoEYkYbarIa}{_V2LU z<@D_|yO>IzCL&e`oeEL>guxRIY(1ysYNL5PkyU~)(GmzAxtcj2PitV(vIFBT%qtjh z+QvwL8By(_Fp9#Y7xPqw*&;wloCJ<)g6?$}i4;a~su;R&PnMGy+5>+lcjrk#zmL{; zxHjl_t;?66sT@P%vJUXxRM9A#ST-OrYDg}m+TOg+N-*`vq&-oI!IcZ?rk`N6G0KOS ze4?l8br}a81I`;@#=r(WE0sijTecb77$bmKlCdebWvDQ`h(B}$VCnmRGd(?dFBB# z4_Q%L&?=}VqySHtU5EjZ7bN0te;!|`rS_N5q#QGI?snC}fKK7Q9xdO{FiO(o!&vHg8X=?||cfRGDv(C8o-D?~}r1kfleZe3`>N>h+R819b#8b}IMpv7px4kk01b`t1z1dZ_J<>Uj*kLlI}c z+zoWUvtE5$yxqgbll~%9f}vaefbh0INmOwx+JDcekI;XILA46__;j|b?@^tRVZV}i z(qBD+jrF=q7Z~p!H-z}z%^EpLc^r|vqhv6d)gv(E)@I$M{R~+6z&Dofj3dehM&917 ze$3g=Ngg$ecg;c8P0A3ryVt1>RUQcY?axuBUd+>3-d~)v~C z7{jGWYoUL&^)WF*AXn?g_IjuGKnC3UHsPX*0Xf$@?)w29n8(hRF^@0dJC>}@sA{+` zN&nCH290P%hx%7>q&~K^+f+=>L$ByxoiP;)foK;^5a(vud_h@1bD;sjqMmcCHZmu< zcbseE0A-V7dn&5m-X_Tm)gtrwf|ONrGH~L1p+|qPYj6mEP4loRfqhEZOP0GWA$tmf zSZrzZcdA`;*`zMR_vOa&-?H;g!A9Zq<>$zK9aq1=(UEq#$fQWVV(6OcW$L0+9&^Pl#R$|($oK@YR3 zc2s{-$qL0(dX9}EoBPZsw!0bE9e$h4FzX5C6~`zlw6>DYRk*ml9+;~g9IMmgaXZIq zJ+l7L{!dR;(#SbkLU`EhLU@~5gqvClON~r$hmGWV*T`opU!LTN!JWC}|5IL<8xv(evS5^w58G7+G}$(3em7bSv70bs~&dao^#Y3;uDk-Mi6L3E+}8d&QZkP4q%N6;&a^#)8|-zHZV*<6;7xi*=x=~uTv zzryRQwzz8&A$wXIg=s-wg6VIlE%SC{xCEJfT2)zu-hpmR$?K!37ERgnWSE^zDa3!$ za!cg=ld=bTQUu)JMeQq5T#URP6Is22h6y=6w$(D#gz^v}YjDXEUSRNmG@}opmUcT2 z#jPMUn1LtHWj@sh%Uv`<7@v#$rD}DCh|%EK(Vp^J<4Hb04kCyW{2JbYihVcTy9#Dd zlyx598vcXU@Tehp9CpZKM(4qQJgPo0CH}CD{{V_p1`i)-!}8E4ywj>kNXGCg|Di&` zLRvm!V405GGh}rM$rv30+6Z0|G#%fU_+vkp)P&DDQz6>H;m{VFRNWSHpq0af266VR!9MIHZ&Sr?fYFL;@z_J${qlQphx?%| zFxU2aZ|`^|irrA8Uxj?Gud~gxUPE>(LCqVC6&R_2PnBj`#7=8w9yG0D%XV%qpY7_O^1Jdbe0TgICr`=)ZkWss=mE4@MzbuP<5bgb;X}EkT8t}R8hOToxQp$ zF>5WT%s~&3{w$uRLpU@2WHMV^p$|u3$WCW-uWq>JXgQf&^$U3q0t0MpbZ=n*<)s`N zW!sE%{cKu1i76!^payf2%+3?6r~}-|f&6tJ9i8l0Mc98Wl*}+x5r>?jv%|^qtWRD( zg-3nPc%a{0#Pg}~!U=>d1cfT4NKc&rc!zll^obBy+lpSkdhy58CkIdZhX;>e9UL9@ z_g}r*|IhwU`-cbp!)Gs!WWc6Qq(CegCIuOZUMN=`Jz%42S*)fvR8vMqN_iEz!6^_e zyiOiCndawzbE(Nj-TWw?kC5qaM~4{}1`=18 z>I8<%F0fX7G|E)obMmNWB`_ug%vk|O_3LyFsfN}GlSlVyN(UCBdpQqFQ+lDJ?TC}X zz;Bc=Y@U!$6&%!pYP}GDEubPw+lXYlEnPF5iZPhE$Xc?jv((!uk8iaj@l=H3>g>iX zj-*|GERavi&CS6ODONt{EKm)ylcnQ~3qHvKrvUZkGzFqWkLfOIIzhHa=mt!#+;|rA z;QBE!SRx(&+0*?bVS@p@{o#i^SuDoM=!YK|+O3F!u0@zIf}7%JPm+Z4AK}$8(xsag zfPgBO4QrHmuh_>K-TG7Zte?u0IwdT@6e@3jjYwz_dq9Ew3$-$wQHyaHr=zPdzoQr? zk%dc}V>AtRfVIC|WE5NwF1K?;iG*H%$9bJ}A|Y8?R-}ief0`l@Of0*lm<5hRr#QH5 zjuHB958C1LxqZ|&?30$!h zZXKUwNOhJRj)Z7d=#C*(n2FQ5y*V6y$w5hlyp!C^eSg9_YWSD|r&9hsEYw_oY25q4 z#H{FtdqxFTQRm3RH9u-a_kIAjg7yJEa;kJer{>mR1JT#LA8fc=Zweujo{ry4^){=o zi{)4D*WhCmJ7nF;&yY;K9ylNz9Jd_eXRtNGsI2>Q*%^PX6_u=luTb;4rE4!X(sZ87 z%#BvD4|*alM#Y58#!FubO2J8gXkI|3jSO=F92rHNfMPiPoPc}j|F!Nh|81hyJRp_; zc>5XZV?`YBoJWjAU6df2f+AJYC8c)Iimpk1M(`ON3ob;8my9b8c_RS9v`*7AII)~rR;p;k zqR@+qXQD0+Nzu4yxK8_jB9b1lSRq1;kMIJbcuO*~U!<5$EkQ{t1wN9}a-D$yha#1Q zku(>f!}?W#*Fy>jkvv;pJY^Cv0&$kxoBFxDgbFX@brqx{9_^pNZlyvL!Wwkp=<%po zKFnr`i>pnATOvs@nHM6oG@Q?~sq{k=J7nc%McR(_i7^pVrR~;#<_mE*7$pY=#!J2Z zw3~Q;h{Rfm3i1RP$=F^GEaS-Fm@Y7&T?wU35lSnSY6^Y&U>|^QA?MeWi^R{DGUKtC zVViYPrwLqyB=b$tyvm+csBlp2^QK5_0NlkX1r}%46eYJ@oN56TQMr06cvui8aPu7k z>}jcaAG^7tNBoU{RAAd@8NU&v%y+OPJ(f8!Qq(3BJd6(us^&+P5cp8xtSXzL7-H$R z$=Iy}!&zl#qV;|ros6^LTTbjYVa+EybI!6nPch?@s0tA39yv5ihwoCJ4-7cTa$t3T$&B7sKCHMz&4VLB7n>$^ zLpUiTY(2L!Yf0sd%v=%)B^K=i z&s(-6IRU}1AY#tGAyj0jg&Cg90(8`k01EX3XH9U_sC6EbLQSa6(wU?bGB*OH!E_6F zT4&hE6lWfPNpD8B!jbHG4rHOBp~nuKN78$H4`grEaU`2b@jUiQPa}Rr$FZffyH_$pm`pVz^|X|%oRW|%=Q-*A zIVXu|u2YhzA#=_TN)$kXp0m$$<+TM@bgpuI%G@%(9j!V?%l0(r^&Z&fcMRtvACY*` zSY_S+Uw7~dI9k5)Zy2do=|Z;W;Gv6!CL$MHT>jR0b4R3;rqnw=VT2w1^+}*?OAn)> zyOXRBiVT^IlC2q+naSxEm`79%KV=E!gMhC45w&7ck(Pz z>`B4l2CG^tL(a*&WZ3Ypq!o3FiwOJicv4}M5KG-8OfmxwHW1MBgDW?9DryNx`k`M^TJ}HXY`N%~+Kp`Px4(C(UqPZE}NpeiyrP(r9 zV6DiO zN1cka>MT=hD8)G~TFSl>L|R?Y5*}!Olxvhgs*_!d^xUHnYkyz<}CjAT4iL zmgt3j!bSF1{uB1~T?)J(8aaEtBY1M4ADDq%m}8m0e?i#wTQ+>_kKtM&j+S}WdoH0R z=23VD_mDF;*r4R15Jkc&%!l|%n>B#_G3IdXV>OgzAz64JpRx&A9Ywc(iD~CglH@e{ zX!U}Fp~FhLxRUf5Wx(Ry_@Q5axZ2=+do?zORkx^L7%k_-y#rA1i&82WrO&MEjJ*1? z!Z6cJWiyszuO!8dm>1gY;)+K8!ZI9_S&o;GOqKdSHn}-k~(P9n5WR3x2NPtfo=~t&|Ll;;1v$Bah|;PKVXC z)iDZ(R2kCk39ydjLJ!V=4P_Y-0?H(r^m_l3%rlC&`sj`zvTr1RHfSu87rn9vyQ)d^ zX}R!^7;U*+dEg6uRniHp>dU7dH-9Ryz=6o4YAwsyVGS?;ORqLb{?zAbi0_ z$KB1Xy2;z>#69kH*6Svr18Sz`9LkBdx3j%jvs;W5hm#^QkE?(Y%qS%sYyum(UcX+b z7)yKh)f;ect8SEkt%^q{&;|PKu5Z;{2+Ck0g?%Wlb$z#bR!oun4<+)M=r-@8a|>@P_h-c6aKo#TJL|HrI?}HgpTZYUI^0D8rnr?W$(^>;B=d2Z#Na2e0}^{}AoCsO$RzZD-tTDJ2|x zej5y^dgEe>)Q(6+hsfrmB23wTQ^c4m4n(XX<{qqBS_JeesOYGjv!CDcVy&+|+(^b5u!|`&Igu?NX#n7MSQLP52^AyJL zWN_3++~!f-CPhZgXi*68RKQm5U`aeD?{$hIP+qsW;ZURs=g3+y{3_1Pf}pWo2K4Wg z1alsvr=RT>roHVYT^5Shg;DD=xkLwi;fCnODOgZ{CYP{LdU~47Iphu}Z|h-sMBT=X zt4Q*8^pkKZQ=YU=twpYL8%I9?=LDmpZ=Q*iLfMWU8fWJe(wF5T7Ihe-(jXPE6oxnG zi79!MaAbn%0rq4`o>u4Ch1?6&@W{B|R$*?U>Kkf6fD1TNiQ0?}!6})Mjp$Vd`zO5X zgmc}01Pe}K+#UszpoW~vv!po(Hp1+SkYoFy4ld!K=*=txpBS{F%L za0g8H9DRhCIg1{0!n%TPNGWwnEbmHCdvj-hpK*y}x~Mvr3c<%pIO`vQ94)wbu%JHK zR0saN?|kGCDwEELJ~BhohBwi+#;e#Gi-2++yiGG46#Z%Hl5L5TcGho;mYkkHan5(u7WR# zjG~o0>Hn06J1ldk z$~#5&&_)Wyvq&y6!GuWlozgj=%pB*KUwj%h(#72opDi-~!IH7O6?$t-DIxmYJ1)qG zGF=Pu+$R~v+2xodd?e`1Fw15bj0MD|Ni_kIoY)NZ=VtntPKoR1dCOCOe8m-HFZ>Jc zkFvfxuWWfCx#^UkfV4P{l=`Jz?1HTD9z4dM(>HfsagY~Wh+dTVs4>ObMvmYyY2}&- zyW#YjBot7Icif#q4P?S%`;pGK;KgM)8$o2|yU~$o{e;M8-7tSDoj(m)A17u0xLlR_ z6X3ASp8&UI{!}mp;!lBp3p0O;bP<0Pcjg7GpHnk`MBU{c9LtNT5E!R)b}#hhEcrF^ zK@tqNPPU^ci%htb8kq$GD@BJi3>p)v1LiZZYAg+tO%iokir`#0_zgS9&qboE3lt_0 z997j%1>~R2)+EbA)76Q$M5xKz%h~kY$BruU@8U>Jpq-1c{ zKvG5KC11sP`Q!50=1)Pwk~hE2i__qSOm!R@%5&5Cy}ad*eGigm3vm_}9=ZZ$SfMmC zu%^;gpR~NUff#Xr#{T{2@S{sxkeq6#dRwC#0YW@obI}XQryWn0ij3b+#7HXdq`x`Mfe=VIUGLWv4iLW1Svw3 z7CZQG`hJ3O9Gy``bqPVv>m{d$*Ab?zzv944;d+$?$8}(Tg2j%WES#IB{^?A#$(tsS0ETp~9SoSOl$)RC1$~Ac@irIq^>7w_LJXIzho6Ft~i& zlw7Q#o%J_zbusL{6F!z`S(yVQX5l`1j^ddF3Yb*urOE9o42GI=@1WJh%_ zkXTFnXzai>2*#QP;ULqVOQxS|Um-gp*nTT$`drj@Pv>%3xr3DkMBN%HKe(8x%o(U2 zm?wM!?GoxF=P5`mM&tB^vKm}aur!MhOW=UVifK@PNrT9#vY@Rt#7E4?(u$5+#HFGj z{p{emsKUV$#rSX5zIjwyN^~a2 zX7uk-qo~4%whv@u+$o8CSOcm+3C%p1Y55b*K{KNi({sZjQ&i55;a{kxHXJC8)ql+IQnD%+3yDe_OQsE z`_|i^pT0Ug>OcSe*|VoVKRtNWfBL+C^bg&7(`k@aV;VD@qnqCtN12aMt4D$P&L^n?D^c6*NtKm|__`BTwO<3$Fi&8jGhO0g3z8ab~CHJoSW zb~~^19y>3J6vJuYS6cgOC}99iLG%~FH0$N%stRbe+UNP&s742diPdYSybU*hS;AL^ zO&|KL$ok(0hrIojv8x!m_1ST3m9Kjd(S!_$j?xmry7xUzFeaLEPs##c(#^d=7f!3t zQ4tGK`o0EU+d!6B-nz+ex=SmoNzi90PZkY#eJvXLf923>>cAr-3o-|9JK?Axzad-M3}X3Hj=bmai-y-uloVCd1Ls z6?C5sV;2fr$*Q!*>6<%`Ngs!Hw4zB``*>bVIe+7O8vmo2@(h2hV=BT!47eJWrNTzF z3UG0S&~h%th|~JUiG1UKME=F3%g@PsbX3e9F1>stwdGPy}lQ;_kU$xhJL` zo{l7fuI|SnJ#KH#>zeXYSu|{sR0%)cBEj0YA8fdiZ23Da9^O2G??=ATw_JyKqvgus z1Kk$9;eX16pHr>_(>Nqedi69!88hKTCV~u9SwFh)nq+4tPg3E3GjKG#T|<43gO-5g{y*s{DL zZSH;}#NP<!U_P2b#U22)X&BqIC9s#dxjNRd^jFpW_u zth=I{;38A$3B<*~4&@?(QgXWEadwf6+MZx>YgqF4mx=bxZRcrF*s6?HqiS=aClzpx zanS9Gbh@a2f4L?7&h0Sg{co3m{`qp30RHPw;ktLz6t3PX7@{6yf0Cbt5+>Hj%2==D zhJV0~&fdnCOwedm5m}v{QIPgwJj<733=DeAzwH}=F2Mp7;=R8rMcrhNt;jjD*=cV-fxK;ujNS=2BFYkoeaLhWb27I0FSfICd&OkGosjeHpB- z>wdg{lBiM$tw>h^(aACC@*ZbORKtL2c^t65&zyqOInzQM4b1Z~K*?wDgmYphBaxW@ zCGQg=_rOlkCp^uc96Wpa$H6N=nU@F8f1f;k{)>%PToVzt;FqIc`;Yfu9{&F9;Lvei zch)Ozw>Nk8|Lf@BasTQYAvsR8I04T-_qpTLG zQ9wy!YMTngQwAH3%+i@hRaO_3D~p1!aagPgp_6B-e4;7mt{h{fYs@6Ylj7u9e?}(B zm`Z1h3Bq=K_nI?XH4Zge7&w9~vM0f4c#A!mM#JGWMx#))i<^$rKId2{r@XyCC!ua6 zEHaY1i7_Z-I21Xwg6Lr+5y>fK$tYLd-gOFGng#89qMW^azG5kXYWDcGC{}0#u0lmr zzB}+xR=7nP=Gx6?XM*G&BbgS>Jf|0ic|68677x-F*1;2RZ;VQMM zeT*`k`I2K&azt+9c=$^umKD2w|Iv>hR;628#&hzdTBR8eVxZUZQt0EX6D*@fU8WN~@CESvGIt;!8z2vJy!$}n znYA^hI5-YCQd!XQ&Pdazce18eEIDxwl=>8~IDV)-UDA1f6 zXo;Xmk>DatA9x2GXjQ5Wgf-!Q!6v(bvxq@E`XwXG!LG+~zF;u~)2+Wvl9`lOSal0% z2ZOC$C5yFpX`UKWQ)A`}3?nx%4i(ultzrRs;&$OoXleAwF43JvYY(H2qhQC6Np(O1 zfm3VFx0kCs4ikS}PUNvNr>WLzEbY{2TvD0bM=5_Mo_3lQjuM`Jn*ml8!>M4nJp^6( zzQwfzES;MM&s$#6)ZE|Y6pf6~l7jh8vd*KFS-#u3z%c$5J)NL^pBQ=r#@_`jyjk9 zCeldTNn7kBCwtQ+v~BUn=mM5o7!Bs0QiaeaE(m{_K&xbrT`I=2pR#4&_JS9{rUZ8* z554uCiE09{>Y|7dE9vsheMhJlK%E-d%(1yYd3&*KmAa#qD~?u3aqQiPQ1ay!iI=^7 zmF7;xsNfWa^t%WR)}l%1fiQ#C4mLqnJltU)?T6g8f79`IGzfYhDf`; zPziq=-7-#vL0MF%o8$l5FVoYae~ZdURN#ULSmpW1ZPonU+$HgtTbFqdHRtJ-5Fd2zS&(@$B{ys*bj1chsS3s1{-ta`DvYl)L9X(p z$Da~wU|_>5W-qUGyz!?(ZuR=d+yf!gJu82-!jA!+-km0$2qQz0yUX zNb&AY_2Rs~Va}2%*51eh#eX~No$9rPef?wlAYMSQ{A{;+UDyYR-_ibv<*?#-kAUSI zg^KcS?Nl%4%mW=RPr?I%AQ7qqYx;lxR2t}cauyzFngl$Xy6an=ngbpD86GG3GcZhd zvpOpCFu%&eVcvm|ga(G%tl_I=^?f*u$ML-6tataetK*rsYn@;)4VY(LaU;SJf?>Q>(nii7Xx)N3F9@OQb{U9XO{r|Bi!(kF4AtnPnzvs3+i zyHjN^$39mj4fMagR~>;80q6b@0o@N0rL8(RQ|z?Dw6``l>eb!O86Wy|0R{Tp-K|$~ zUiQfV_jkIzUb7&4E-y(q^Zh(oprIz40}~Q2LdCPUyBpPU#2Ul6h%qHzHc!ve0K~U9 z_Ue@Z&y8ys`OE$&8!kCdeuaM}ZSBI|;CG};`I#Ih+uhr%4LckUj!rTMvJkw1_d2_^ahc^lCSZA=0EXqd>9@cr z8+)}cH!%wAkRM*9`?G(yRYNuq1A6!i@(f4_e0{Fc7?KqCc51M7*44^|Jn{TYgZ8x!WR~TCmH&T}%(K8)o%L(bi?Xru zNjx6+$?+*PWOu7J(^5Jl-j%cLqTlK6hKAhSx+cPupE|M8p;5PMC`#v;#Bb1*)$Q7QeGz9bh_R8(v3S7Vx}6boKgeYtk*sk?s$kQd|#|s+s;OH-GMPy zzMKF)Ci6*XgSvlv8`ob%HUor5VT4BL57C!!92#k(vwf|RuzY4^Hn6j?QA3GW7=^aK zOxW#gY}ZF;F(xx# zjP5yHP&TU&LphwxdcA``?Z`EbOGDM0{TzD4$T@&rulIj`e>7^L`nQG3W*w5Y9}%L; z+N5$$Q8FHkg`utbI4CDn3;N6WkxW-FLr0jGyQD7oXp;0 zU3=R2#?^m!qleMue{Z0_+D@~4RkrCBme_Gj(pPAP+J>ugcVl-KxTnp%ovjU!(6+a_ zTU&p-yE`Bq?(BB9J6k)O*kWsAV|xewx7C3^wgFz~PWtD3(OBzjmsE|S;91HAbjn^M zyhK^4+1+9bj)o3WBP3SmG*?G&+Lz=LLj}C(?<@Y>4#-(y88k@&w8|+H2Mc>}O#WZX zAO^f4fbK+4u|K$QVo_yqoMUO`DO$@z3xt2g>9dldExqTN&`k~?b?RGx*kEa{|0ORw zU!IT;2?ZrdLL&j8mXE8JdNj2@`1BUmhdo3;au;nFqv2ap*feS`={c)mT>>bH-CS$i?}%vmzf?h)--UQg+wMCazo2ra%B#SFKT%B0Gk znkGN$b~z042Yhz`xG9@2oK@V_f0xh4nR-6Xs*|3=d_FDhIZw-o&p2B_eMH18-hJfN zAdyQ{B@jhoB6N84P!K^EFpz(fHob+J1t>TFFM>hk7CKXkLxI?Lc!^GlDJB9L(h1{G z5&j5cH0I+gighw%OS9jnzrB3%>S+J@Q7?KqPflT`1J^^N(H!s^fGFW98bt#Sf7Bds zhvY>$B2PzIok84oZBeWm_@DG_N=0-i0(FAP6cVF0v;>RjCbkML#X7lkJ~F zG)gf;@%W0m0kLbC_ed4db63SwQr3_#UOd3lY1h2xaeLA0;yrmkdM<;~gdWvx#yBn7 z1vnBt*&uh)+i%9`--Dt8o6yl)ku^Q^DZ!UAIkR@d-= z+wj+DG>==+Yi@qr6l;G3iVfHV=+$t0bCSz=Hr|5fC&dElZJvxM?PHH(OXDyp>Ui@ER>GCcO|1&=N zotBtK;pFR6QS1oMg?H`t2t1GeN=WoeLBTDqgZYzeL^(He18f*r)Qk2pMlu4XBAYKn zeEOR^`4SN3%^iPkYG{Cg(T@Sodc7z7%l$%&q7vFlAy-MgQfCzoWUb*wj*n2j3<0&|Bm}(@{3<_IfYnuj&hnQRBUD%z`p23oxD> zyfyop72tomUI&QO9o**Yf4+_z;{UuH)yuqY>mAD-m_i|6`=50_Fb-=g`m@&j%UpSH zxC{aMS@gH^kGj4MEB$JhhPuvI-POArayz~$8KA^1&^LaycIMqZdW|#!{^Q?YZUK~H z4gOncDVBfp?UAyzwKJIJ${AF1gT4*W-uy~Ai++E^UW{eg?{S15qsq%J^~S#KE3qMF z2mh^0&8oR`-wx(92*{1Kv*vYXX*+@62GX3NQTVJa4EJHQI0JDD+WuH^>urznPdib1 zyMb?Mp57&hHDHaKGhhN~4|q8nt07;_js5oUV-0{@6FI7RzJD!LX3e28rOPrL>^~R6 zD{OyRW4vG83J=H1)s%Vl-zJMK*T#6h8p;*p0B*z{%Q@A=>xvNrp9?WOsx#ht0qWH_ zP&p#uW`gZ120APVn;MR0%T##$Sy3)n8T@b?GP^xbWO|JUC0*?_eO&W(I@`o~S)JXx z7d@eso-I=81uLF055|8yrR=Df9BOW+GP}W~wor*t;kxj}j1;#e zcelj|f-ga#yp1O6fHEa-pQlx{DJ#QHYEIWHV=iiaVJxB*E$XeHB$(x<3lZp&7bHLT zE3cSY{+TUjuEM8q5RLEdKtQg@gV0!SdUec7bFqHIxfww>HMYT=;AN+~vAMOqv%7y6 z(8T3sD=@yk`C^Q4p6e~fP_SQPEvQGTx_~OdL0|HKTRL-j4T`@P^;TIHjC4y!-=3|y zD#VjjG~xC-6x5>pPL!@ud@JH*FwXE^M7k(0$MP$&{=7OJ>*5b?+sc5h+u$=X=Xl8; zcY-SYqT|3Bx&}ah$IU9jRHYEI+gN`gc3if^b?*{G>%-oT>&gu)!`E(Oo#?DsvdnJX zorL~qCzT9RX_-25?rXzNSc*VUOfr{TV{IkDdtYp^{*|sdOT7lZ2I2?5q|)Y=F@m)| z1)Qh>9V71X3n0MtiCg&z!9Ht%qi&dH5mMLQQ@_I;bm#KvMbO`5SrxCUYhHgm{zYMD zb&qkqP|}**U-&-J&uAWgr$)C9>-GE)k1LmB-CVzEs!dfpNaX8I-l3cjti!rxCh`eJ z;C{NQsOBuImqn%Ky&kU(K%UG`;~_@;iX_~!TU9=AB;bICpmZ_OS;%Ux%??6idMwoiR9J4|<7pYxYk$ZIsZu#ZvOOCFv z7~?W}Y6idVAO3o9*nfHOs(ZAANbF7l%;Hc}?E|$i0aglS%+y9v(4|<2 zQO_Y=sQPYZloduZVNrhq?s}fc+6yWSQBshL^DIv!!5?vRqz{o`m0^}#|HODD3Jbw9 zr#T0ew|LYzdObj-`9p#CRRW*pi@|Y2ptVLubA!AeH8F++>xp6>`l+mtCySqP-5D|N zA{x*}{IUP+>687Vr!SuOUmg6v-wzIt4n^(8pY{(As9@tDdY6C3{MqY431Y08a>=L7 zHdX1QlDg4oE=pjhBKnt$@{N{As-uDUDxngcROYuYdKUF1=mm4K1Hg?_?31hBsal~F z)h!FaV^tGaVKl%Zhg>GlM2z3WVz^$}X`GG;$>^Z9Fx~%3gn%dKMzvBC3uq#Uu<;!D z4<4{V(Zq2?WQ%_W04jywV=)7)e+VQreV2@{nq0qVo{g46Tv((53hf9Z@^z9wqa6Hpjp}EU6%OkOFDu22bJI)Rgi@Wo%}>F}-Wm`ByvVFLWS@1oxUppSnslF16Mbb_VOF%s)9#mhy8 z^__=Qi2;jqira1ajQPeFL(b|{^Xqk=|Yw6S`E658)#0%lDd8Rn19IM_S=%#pE z;9%2)W3_N-s(m9v8!?ugC0pgZcX^I zi<678=2r0>OX4wV*sPSr{OoHziN{~3ree*qDz$&gR@Eu1RHMvSh^V9hQF-O{(wgc{ z@t{vBi&<3W)72i|XDrE$`kj>ji-zZP66usDPg#6UGAdn`>w1BrXY)4-2%g6obD}LdJXVx=rl2=cAF|es1EvlSDgJ=8PdxKB|Px$!vg6L_))b!8GSAC*Mfg zXKl=RL!7iVFel_eR_i1?Tjo5vypT=zlB$1H`3Z{|oNA<;9uvbV(F98i_7JS961oNi zmqnD|xU59ITLlC()SO<@9=wS>brU^{E>=;*mBxi?ul)i7MduxjzbdPNIM^w0Q!BV}eHM&yvd;0R%gI7lf{}A?0`TXUx{io06W23+M6=h;U zoo$kLy1TvJ{=p&q+mf`fZ#ELJI#7R)l%5+EyTlvKTwYKzM_xKHw9(1Qa6fOKhEeVD2=j# zS0$E$u!$gK;`J)Oy*g}*alu;3LLJSQQ_HIFo0Eo7nB@&+*mJtabh%<8tA>BL!->a4 zMjlLpJWsPZ>n+DAwrB}i2K9s~ss-Opvx{*uI#V2yDf%F}-;6_L=wxed(Ip_0rr@t1`CCl4KQi zrqZ)w4@tv4;>M^WAI3BII+6Q#k&eegZ+@aw+ES|v`<*B8e0Z+XZx+j6bESAH;A>3y z;9VkuQ{?ZcuGULgc@l(IF)!1)|Gbu3g5EPyGqQaWFo zW4XXC)jSsO-8vHYr<8Z)3|WsVC)$f%5T$+KyRD?8UR;z{mi68dg+7=}_M!sW#8&eJ z#z;vC>43))i3_mdPIt)SIdJY^5IV zp}NTQ9)@&!&BkkImaYh-47UG%R3JC?~7f<_3!vtt4i*h{9*2pH}2P}Lxp)94d9!zfgEjGTE6|FeF zPpepVy!2yLo6u!IlQ8$&|5_k`^VW2xe->oig8?f?wgMvp67)4Ok<6*0eCeK9|V*LE&#hsp2G`>_eVbr{Y%(x7f7hX< z`;T4E50rOP;Be;bGJ+uyz%b#MYPN-OpFU{|{gr)7MiY2Qo*hr0VAT!MOhQ-W)+Ct` z4d6lBkBBQw2>A2n&TkI1QLUb8a7#cl+!3TH*)GVX?re%Oq2>(R(P08I{9-Z7d-v{P zj@`D{oMds4&EMW*r=)uumMWf*f5_USa&Y01pfAdlXk@}~j z`-x7+O@%~cz?DmxeRf>`pM-i zMqyBq0DrgJ+ckX*!BzzT4nXT()GPLCy)BdY zvY!KgQNA^uZs!`s-+3U^|K}9-BuN!|RhLx#tzXvOb5>OFF#4|q>;86Y?~qNVL=3jE zLV+4pM(^$#d-u64%F-?xFd&QS1C8%G-JPxVW>2`MPvW4qN&KhgBtY{U;)tF7L)CasxQjBwjDj4vThF`(~6c;WUhcer*Y*%qG388E>kQ< zb0KOP#W;guG84s8e+y>HlSJC*q9mm9iGQxOf|3Hv}^?5rNAxW zP^5IDQCNj|A|&1=84rcQlKt#s%@-m=N7g+@Dcoqc+g#`~g58}bF=ju~Y#yw!3t&YhZNo4SjFaiv;=GA^T&j~LaKE#?hHbI` z=mdDTw+tNEf0md3@%Zq&owj8d5Oe?aVE@U%D|5w%Pyg$n|MYqPr~f=UIF!)oY~QD8 zV&B{wNXQrQRgT$ysfOhkP9i6kph>`%%($=>aNraULxEui3rpoDV1*lMiLoxF#XCwv z`j>^~Z7%8~-;3cy8!DX16P%%am>h|V%jdo5s@&`fRKrmQ|t{iJV}NzQ9r%w z3?xJ#ZO&#iXM#(^iA$E+_T#)S&k-BC@q);yd+KYJ$l8w$j#!d~8Uc9!KdcmZk_tC& zBwcxYe~RKI4UTTW=;zh4U;E=C{;LPx3k!Ecb63b>QHv7Ihh#E^7 zP^wI&fRDKJhyq^V@fOitNNWwVJ>P?3OL!-6PpD6^B{U?^V@h$%M}&ufGc6AWi1(Rn z!(}F&>7Br~;szaj8GIe60l z?ciwt$^Oy4*|9nuM@9^lBH!cqDr1$G$ZUvpN2weaZeomXFDa?e8F$e?h64zqyOL2> zhN!#7XYm~Hc^=QNqUmyS!Z}#Q0XogFx)NLC=%&_PDg!O+g{VX7bTAm0H#3OHq(3U~ zf9kCWZc{_E6djwND=-wM9&w6szG4^298geHc#Wea`I%u3SwtcQ8=UZRhR1qa9^QH4 zv(%X%z`~sme9N~0YOmk7XoQBPj)tEPw*D;=fC&6NSX*0*)U@D_M<3{s`NRuI)PGUU zG@B`~Oq0&0ib`v;%o-hU_j>_3CfST8e+#b3i5^`#K$Wg_3>2n-7~c$982o~1%=*Y4 zPzKBqF=uGz(Z2O;JjEc$f1+agoHkyik)>g$G3^tK~V#+T`2IS~wp#nRqYfj(3SyGs#lZpVQQ4i0KqBu6af6uN zVrvBPfjlz7)Go8&6M9D@ItMKA|-^dp~J0m z!#@(MeB~*Ha|_81gR8M_G;)lvnTth613EPJB-7kHD=`L@N*B(2 z0o*zt2|7J|Z8t{CM7VIERs-LkgG8WqiG3XjZ^%JYqT)=|(ap86hy}D6JaSOt^nWpK z4nwC=BQGQmlIw=&glAYH8$C>r*2!|S!>hI~|7fXdJq19ON3s(`yE3-+HNn6v0V|(0 zo<~2HpV;QH)Q;ziQ4fn)F4AFNBxuuWb7MRaEArrBh=Leu`8Ri-PRY^HC5S!T+6mKF z65kC{w_xjJpm$|2(B@<`E}oVzlYh9Hb2RH=a7(O9hx1BVD}gd3vU7kz?AFPei-c>P za|#D3Ac=8Zx+Qv{m7O3{Fp359aFLA1?Fx`CU&cdV;w<gEMU!Q0sF73ktApR@s z4Qhs}4)#3cRuAG$#XxwVijgIcn+Np(BA7<>Pg>F1L1m#ZvB{Mgnim_ z%nC9^0c6bed+9Zj3lvvqLg@q*h`^m^bF>H;90Dz2jg}zqgqC6fg}`XcT-X|DwF6dX zDlu>p^4E5J>nv=lwZSXW}B+t}XZOZ9YGevLAZSY#WEm4?}lgSt+k0u_9)$zsF(5#{IUDfvrt%_ruR zGk(mmR!FZ|hmq?q%;xc2Gfa3ufa<;@Yk{=m7_Q0$OfEmIpnsrNr(8c!4e5iN$s8cCrpwFyAj8J-S6a>*F#wxwNzcB0{0 z)bMUWvl-pO^qD&J)>)!2)lgRY?*boI;<{6TPC5uL8GrMK4r~MX(TZLlyXT-G6jpux ziTOl-YChGW6ZVbcFqwXqwINj<%|Iq9mBG9?HTj!ALPfqSC{+SS1?W{*Iw0O0X`Fmz->|1L_7olk3TO#x>g`G-2w`OOZpO7x z({#1_jDMK<4J*H4rG=Gc&Y89r4b4x`5yuseV#1r{pYkdA*G(+0a}t7 zC}2;3xq|)ztSpabZG91(x>wJ*b~C-tM$-Twy1nQH8aL2MOba{L1xcZ>&DR8s^%5{_ z2ryU-{B=OF{^jr@R3WG)Mr`(?=h=1F{`nE0(toP!vSH=U*w>{iEG9lw@_;F%-wbBd z^H)tkrD2R7%E_?I+wUBU9$DgP0v zgw@fHQRmn}l711}kX^iq=(jQ?%U2)1QGbGISP!vD)fxHg>&>T5*p>&#Vyhp9kmrMo_97Wb~o6STW|Fj|EceSfiCeVHo^J->&6VK%!pz~LW;7ZvD#XML|;47Khb z=#6j{lK=~iu~#$Vyw{t(9p*cI5f;|xXfPZl$8y&cu14jOF@`3Tg=-e0evU1Lk&JP1Sx3S*sR3}wDrUafu4S!XBt% z{fsf{;>NninYLGFJ6~N;Q6mz*;-^&dI#5u!SR<1^HF&~gI6Aj^1?x5b$eecZYz9;sm z1JWVz-0YU)zy+%;f{fA6PWf_Ck_-p_GTZv{sI{u0yd2dB#ihxAGa%r=#)-;yFE6-W zZ!y2>+s|ZaGI@ElBIi`#tgJ_Jkm8pfR}LJ1qk{-e%r5j83g$&1NOL>Cqv7c7#{k06 ztqHV>Zd7W13F37&A8}RA^vo@b&QypThh@nD0eFFD%F|Dz*Uh8n5y^FHi)>AaQER*_ z5r|Q&5f-IfI5rSS(;AZ|v1<`;k>#y_@W;WcXr8R8I*1rymcAnwd61)!Mzo_RFQVsv zFOImbqwS+V$td^>b6lW%oT?>B-Q-9e&Cv=)D=EZ_z3w^H1%{@h>mYrKEtvR;!m~hh zPf`kXhy`LA^;}`5Jbo-dC+-X09g!47CCrdjXeg=JNqR=f0ZpgXwahPviv88!UDRTF2@Y?3-pu};dA7}KR=5GwCVvxm{6evvCr;*kQBoo zV;ppj86ae^F2+F8nEY83W66f(ic=gs{Ueu&J5Dff^Hkua0)Nz)!11QYXbQ!B^+F~Q z{{bIRtp)fO`|neloIW{AzEt1SS1(`vf~%Dmtb!y~Ih|6yfXnFLqbrfHL1l&D6d!Up z>tIHQJ!kocsPnu0;p+H@UtGw4G+toP@{fZ$D2EP%_5vg&6dhC zGqwU9qCm9&5K|S|ZA2*qfT$c&@H`P_1#euE+okNk@gJ?rra~A@xkFnuMpSD>Z^i7O z*X|G9t<8s9>$@CGIz`dnDU_IkX7yr!{;xfhegVj)x@_c&<>_e?1Ki#LN6G_Wf(*=MiT=z~0%V!z zx@6?VdBS;+bccF}(kX}hCX^XSkJFBRF#_4&6_y?Pj?0c%Lq+j8&sL7-5}5J*(Y%Kn z2xO0l$dQrmNh{@3Px!NO zB64c|MRtz7eW5AW)KxJGoL&TtlF%;H@77Q*n{$ z#dAqP%%}4Agd@Ly#D&ahFfe^lXFF=(wT=a4;%U>E7G`E~C!h`tXYskACz7BNq>9796&JRz^MWG&mw2sP!5KJ@9TP zK+ts|07Ne#G71|kV6I@W9WEvi(~IAF!snjDoPjj9VCl~RY8h$(&*iE;7H)w{l4Ww#L3NivP&?`M}8+g|6P9yMT zxA0}rDqj455^adMEq)_7oSR~}CY~~dxF*Jq)5QYopd->sPWdERlL@Xs;LCeSXhenh{z21nIK#M+!n z?)19WEnj8^6dasp&Y4k}7aH`mvwhr(?KQ?eR~K4OJkwMvbV>8Y)$wZS}40p7jP%POOp%F zTRS(M$eT%-5U`@(3|WPNSHU@m8l7%aX2mqwIh`jlxs0)ff*x()*P&uxTTR7+&6Bfu zJ{qIS1UY6kJ5)Ee$-`ERBvP#e zf$(Ia>I5a;pOYjna00E%L)Liqnu zKl~6Ce@HYlz`f`XIn$a*0Y_@mt{{f# z*&55@lmqiDnTv#c{9cdhOPx$2KH{|k>V1Pi=7Q)=Vzv!*HpRi9M5=ggO+6`$LGrBdXI4%b6ZT{3O4k|X)bKq<=1-xt) z@bP+c^CKWo)4!)c{(dI2v!}stW->l1b}TZo$GPHaD0ep}-`&@#sw*Z%j)YNA>J@R& zi$qyE&;qdUryiV0?|brQ#3;MmvQz2SI0(m-)-`L!w-0azzw># z7VYPGGC7eml7~>EC&OTjRi7#4F6P3gIk4GP@*1Q|L!nL|kysCCUIqXHU?(UQDJCG! zDXk;`h!!a9vbB#y_VJsj#pE0wb!I*U=|12wf+KGRDQVp~KadZD z{M`ofM6%VR53A`gp+Oga(cmRw92rjH{H;ZbS$aU?I~!w?%OW1OSof*(b0S@2^=GuN zhf`)QrC`Rf_@W=I@LU-*iK~#y=J7IZw&PmgCL68T9N?;As+VwEl7b^37&lC+GQ^#- z&REP2UBBn!D|~5WYp0xUIjK)0(ZS;k>;dO8kD*mr&Jr!jZ2}Lx ze)@W_%HwTt+z@Vc>`&)&qFdF6G9lB-FS4jXdbFp12z{o^H9WQbLgWH5K_(jhFuA0* z){8awh~8m0q{@*F9(p|E%*T{MJW&k`+@P2y2lOCIO4>Mo^OCXDz4&94vX=Qa%=TvO zxo}l#*`iWyZ!2-HA90UOed)?XhUR=JU2g>!yf=5$SCX?t#SvN>y`Nk83kz|uNO)0S zXX;x7kA{q%QEbLw)69ws;*3f$x*au`IpZ|jQrNJ@oG0j~hRhQpp03vIR;qDp?-B;ouMB;ieX<4e339v3YFq3)ajdhz@`scxc zG54*qKVMLna$^o6e^cDAad2FfNwOXNnq6R5EwLWh_j9ZlKFeE3a9PJcWBBAZck~!16benUO2G$A77M!veK>~|i zAkUvKxuRKMRMzsME_ks(Hi|C5A>~$9{*a-)^Db4f@g!%4e+Nz{8aGfnkJ-;;O(k(g zM)I+6<`k3_ZPs7gZR}8D9qgN!k~=G+Pa97(8@_VVjnc zY{1Kv-nGF&1vhKKiY+ub^5j(57Kktxv*UFT93;bq6NQsCbR`!=g%XT{9?;8Uni&`| zF^UkVf@MPEe~oeyL5Cbf*tZo6P3TfY!rfXE4XOr_J)%;7tjy?=NOJ9w}6KpMacNfJmYt<3TC7y3p#Ivj*f4%MxSa;E3k$3^mqwJ;B;d5Tvx zimLH)kxdZ1#NNmqSBhZ#nDYL#Y$s}rzWr|Jf4;bzF3zv4ffw2XVIUUcPMK^%uthu) z`SQ&~#|)ne%-u`W9ZAfsSlX zJcG59UkAVBDOjsACw}u8Ut_8@=eX)*f7GAzsvaw>q1vPh-0mo$y9MN671txHnu)YY zd{RW>98{^zS@b_ou=J@k#fXWhPV(jOTvlnl`!2Bty_loXR}~IN@pw)Jxci15G7HpN z$H3|QpJ(Yj8f6J9G8R~8$s9gr5qUC0YHy9n#aJ4nB%h@VtNfj;GIy5IAM(e>Y%RcB82Iptt;wGBLv0b>K{TOPS7Me)a}gQh3f3U%X>A-ispu{tgm*RmI4)^YO}p9__% zb9Bf?dASDPBK=EuEU(QFL*%4Gg|)dtCFjL|0_H^#aiz4z<_XSLft3bXRbONWjbX3M z(NtW4u+z$t*D>3aFaZPGx?)i+d_1noR7MN^Av_F#@lFM zf_vaG29)GUG2jj$0rpsL3BL*2Y)wsmAuCNokq2qmUZuKsyXM@23J)l_&G;MZ2d0gG z4{3`Jad4JycSK-y)Ss>u9w4VcQ4wwCo$ClfVa|M79au<*R zHh|Rg0dtcWmCB||9}9Aw z4QCrm&Emqt!iw5=!&%KK-MR_G9iWy`Iiv7#eba^m5A$9tC`iKt%W*OFoTFk2G_~Xe zj740b8$I^jLh{Ece%B~L9J4@_SJ zd6y7t4iAhI+M2SVsIISPoRa(5fh;oUV&ftVFJ=`KZWG$Gx#WXN0aMo6>+5m5q!QO@`vtv?*_BeJ+rlCT#<2T zOq+kW=jfZ#klzQOe4>xVEhDnh#H@l<%D!SusIK`-!ldx=1H@i}I3g9~0n#hRM2b!N z-2ef0AmI2qd?-z+=z2!@mhbM}N2eI>J+{ebBcb^A8{VZ;d@&%APo&7~7c#zcC*;-5 ze${xmy2^k0b+K*q=ux!G#c6jv$jUE{%{4eM#VK8c$nYr8Nt>!y#9A6j7*z>qTPhw% z)DRt_PuXd5AuaV?l?SR=^(AyESQ#p~TTAJHV0r$R+iVUYG>FXC9rgNJrI!(g-T&@x z?!v-mc+M!b9BFAx6VNFIVMS8?Ua0a-9Tcj3!&6=5`&BZ@WS1~)4jO;k6T~4Kv8^3% zV&x;FS~$i7W=W1YzZ$j-354c%3o}UJh(Uu3bSFtM6B{g_GEIr~nXPG5(rXp)t0*7~ zz_mEogAh#WX*|Wr>A@p2?};IOi(l3%YtC^*d65A?lss#cImb;5VygV$+PL>pWNg;d|UAlwmma91rw*U@Ay^J=e#6aEyKWXW`pN zzjr5Yl$o{L%1^VD&bOhYM51k$%^W4{-<4KMWVn~pyo^kR7uqt%q(n(Y$d4af`;_7E zJRYA)o!+Hmp4EMxF2@{tNB&G15Ms`eO6H4HDbIlRta&pwskpF7(Pt&h1F5Rm{7a z<@zRx%gw&H+Q5H#GKT974?g?}{k%)(*%Up4dp#^ic%UE1?AG@SyR|xfzs%A9GoY)= z(l2|-moNkPmNPQ7Z0@Y(r6|_tNHX3hlapjbCByJ6_p=#{b|9WT#z%(~CfO3penHBH z-?HJ`kBY#oEPEHO(z9aT z(6--cMQ~+r6!nc1Ii>=T9!B;Rq*b||z^L`h?pAzyva`3F#M`6wliguwyR(~Yt)GsP z_%zv?8z(!%ovqR4c6@TWm2@||C&|wG&^b;;oeu5@y2$G*5BWW0 z{j5DFOe(I6quNjhdfD07+8yCk_FxVhd+>jw?e59mPSV-h-5sv)ZS8IC43nMBxHH`7 zj<%EG4!l22ws+RIMtfTuyB_#ru{VvoKmg#sjW>UHD3+~1Npmbkuy{oir*rn^PO~iv ziHM-TW}9Mh8lB?8b$-7oZ~OY?dgo^UcgsuAvs24hryuVw9vA^Zf>L_+OM2l*@6d38 zI3`f4kWa(#K{iZJ1(TC^ZjWWAT$x8dl*r%kwPI~D>vI_*zWuv?KqmfpXr^@{1rm88 z5UqbmMTh@W977>eM;<|U9iJ{tPCc(f_#3JaWtS-FgfD51hI9fLTBkx0(Q8HOxnaaYN>$pULA1Q@1B^o=rp1_pNggWF90mw1XpL z&#}!mrEWPEeGbIYi&cs64+EgmYgJ8HbzpyN)urX#Z8?|WaSjuIpJwB6b|JjqV%ooW zP6{ZHOW)iPjwC8VTKSeFn4y{6oq6Nflb9k5qQ-^b9qALmlfuZtM|hGf&a+Xj66{dV zP0zOV75Yc-EqAf{1*JX33vHH~{PHGbm>iUH;)9k!+)@NS@^IjN3D!i@19Qr)73<*giE^a5i8d3EF3fR ztl40?GtH)J&?X%%Ws)4!bs=L|$PVD953mv68Pk#Yw03Ei9u)-(e^@wheGh(0#BN2K z$1QheenhnZjZ8u|Tu#VEmz4H)65o^LJbsrFwBQ1j#A<+)CgoH%lw^%~GBYwlQdnyv zVe4v?MJ;L}WVUrSL-}&9i+t;L0}CNU-eJDXf5a46!ulu{{7^-G>d*9HE-8Q3pfvBe z3GZ4s)257)=xi5MeEOuQkJM z&kVI||21#gVzpaO+4R-7oZ0+qzvFN@);+iG^PUj#C+5dy;D+}DpSOt`iQVieB7pgu zs~kW>k<&WnAddVRD^pTwY@knlYDuY0fdQ8|L=Y zl5S^1gaOj>!N){T(m}bP;0O7eV+UC(=X`WWhq57S2{BE<1qq;nPO8C3nju?<7=bbc zoyGGL9c~WSh%|)IP&Y>%;eGk9j5gO+s(oq$BpE)9U2t{o)j}oQ?T|gMw9yE}*e5yH zG|*U1m!lU26n`Tn5W7WlQhSe!FlVe5f!rXHr<3JG4H=^)K<6oVM@9^pe2fy|V}NEv z`5`gcC^}irVY!R(l~18m`HX7mqZkJA?Z|$iBa65HO%ALvFWUvaC^)ZhN<#t86`emJ zDbNf5!h`_+bLZdauNM7tr?a_xrx(5dH*S1K+GzXZOn;2m@DZFF|8Kahrfp!coq&FlAW z=NpkxO6AMh-Rs`gfTaUwdk$>!m z|HE~D@YCo?nx8FM)1>E)Y`&cSjRv40o{GGkAb%XQm%Gem29kR^O&3(ijwgWCpxL_w z7>FzKL*TgIk(`e)%ND16i}N0{5m$&Y9MVYRHX4nWXzXcpwxhKOfB!#dmT97?rLh9C zRHK_3(od)#9;a$w8|#>8cB9k8B$4o6=J{E1J4B|S*6w=_+Fw_#sY>6Gd0~G3v2SvU2`Aqgj*2<68O%SGLqUT z<>OzCV0ioX*gd%ex-VVUU4MisP=0A9S6nOHcdf`wsppZ1E$5n5Kdt$$}o zUr#Qw8HR#Gm#a@HK^>9&ZS15Tl*QOoZ89J1OL;Tej>iid=0geY#|s;PtLOUIM*m75 zXz;#DFeI)=zefT}y_LzD>w!q55y>tndmPu597QKGpXoHAlF?@QK-%({v<7ePV654j zJE|f$?&b{1oS7=G9ihYYMh8gBFn>wM4O$3|d{2;W{Unkt8{AA%dSA;ZYDm{o>h}`* zyTW`j@Y|2k6;^hpFR!9zy9zFtIPe>eW23=@A8}p-{M|-|hM4wm=CpCvIBjlkqC$n{ z2BEPgiZrJp4*Uq9_u@eV5rO)a5wthNwwbh`R6l$S=%4=n;-yLYB;B^ajem`fTR`C? zQ8Oqwy+j&i!B;=kV5DkxtPfjU&A7s0oG)ZW3!MG4!0F zJxzxgkBCXf$&VKOrY@3nKEj(756UQ$=PMqcB`5Qk(k06HWlFAwDbVIibos=aT;2C= zAh!ydj`bc8dA2;^T6fK;GJj4hu_km+uVBkoAVFP*Y-NA?62|$8OV5`%-R43tWBTHe z(w&jc%(@eOU3eLZh8WZAYUrJTVQCWIw46cBKEzd5^IB>Qt%+3VKz>N$$!}+Wy`xYQ z-7BE^O>q2cJ0;(a$)`9bg$&dy`{D0lL9z?$tyep{cT?@GP?SsK1ApbZkh2PDOm}uF ztI0&loEqJ4>}+jS?w+Ha#Ts}lf3I7eZuLoXuVU)L5r7klSazhqNW0s6*BglvLtzXH zj6!vxWroKJqi(O8issL%QKUUxtvwVJhFW7lJ7EHng86AYg!c#d;Hmt(717^^$rvV) z&1GP}H&20)qd;JSihoV}ZT}yAl@IvE^P_|3PEvw{f4tm({^Z~Zv^v^5%N#f=w4TaCoQr06 zQQav9!#JTC;@ngynHnALp9e-CJ2Nubx=ckzpdxUzW$o3$;lZmv0LGjs86iwJsz@DQ zvoqMP7r#A+?Sl*K$-zHlPwN((gqd0TstOM*QGeT6EOH7{1r(W{TxXXVr<0VU-V~q# z@2Qwli$~PyDSslgE2FA{D>hYv2JxAp z0w8_5{|xT&Cnh`t_zo;V%?(n}d`!k`SBjvbngP6PsH{B*c3jx&LGbJhj+%f?*BAU>JCLnL7f<%^9DG5#H!NVY~8N~6; z9S<#W{KE~e59RHF=wl&It_qK6vp1`hsCcBB+rX@}OPVH1EdP$9l|+RCDqtOpYEs$h z>DurdGk+q+c#+_-!h^>_DMIDb`owb@*T;?wGA@F)9GgLa7BRC#P! za3y0PVDX#=)e@J)&&<+d(t}(^eo@*3g(iFs(L;vV2lb+1Apiig?g7IXzVmo`hC$5I zO_uB~g!)LMPm(dFq|Zc=Vk!=#a?>+8&qS;nHk29Zm$MPs`6#XZc-*dVy6Vmyt3X=E z%YP`R!+Gy;UuyR1Ia;cs956R-w9u^)H0e@g4f49q-F~dngdqV|vo}MPT!bnXm#Hzl zcXbrmT>t)&QL^PKuB=%HxIcN-4g zPe+ZWQB$1)Ah$PL0k}vEF;etBNpvz&RTh33gr)9YXG>=3^!MlEj~+G6^smOG1Z@J=sxB2W$eA~@W+DG3IY67l0Q1(E z>#~v_nE+KGoW;6`pZzWt0|OPJB!3;83Qo#$UJ6v}>Rx$$-@+CC39fPbDwn%$B{nmW z4zmTzqy%0McvW395XzWg^>ExKLn0u3N&Q+=?1h?UVSg<7+HR;goM#MT6VcP3>(m;Ums# z!bR?~so$ovxmDc(UUrxC&*8-T``fJ%=`dcD^|ZHMeP-gEoGtp}bboRZaQ5$XI@efh zps$^7bpxWBT`0<7qk5Es=xZG6Yj>l%2{JgLy&7Q`p_y!KuGcfM!u?K_vimDQzp=ej z9mTAU%kgbvuY1jYLvY;eZdZq+)#GfO^=Id4=*aF}vs-ARqreBC$=L4!5OXZPrOxOXz`Zf&kMGgD*n zPk)S=II#4KZG#oskzNmIzI9FAH{6;~engcwNpJZgdVehE7&k7V^Fle9XrC@#R$eyZ zaTYy7`(E_#{~pEXDb`#%IZvC>hY$Sn!9(jUy(BDkIF&}+b3oLJPTWUL({m2HZ(*7PHnT2ze5kR5Km&bvG*{3ufD8V+MuV(H9du+A zT_|;A^n-I8tUh2?4{2^|I5%{GbicR8g)!S=yD>>1&-8Q$-;XTe2)eG)^rK@s zp+i@lND5yCbzG~QR4irXTwu1?6h6xS(`I0#eShJhnPr~MlKJ>5qDvm#VNk=Wzb)c{ z=CNtiIvYeD$UmX7N~z zFUlDdASe=7*xzX_0+2SCBw)UQ<$&`D2j6HW%_|NEkba3{o{{&CD1YZ|cIlmuqJa(I zVSif4fB^B+8{>jYzcI9o_PG!UuKGvnDzN&bR~NCpntB6!<1wszbY)+Mc58{Rg)8O+ zD0tJVB&3eG@4%R69eIiqn=r);M-!79v8!S~@iaOq*k8;Ym)*KsEP5(vsq~%3|F&ey zX4x){OLs|cC4ua|-9=!Biwr^eP8*vlc7H6LhPKsDg1q}%L{r||6hmQwK{>IQka(O2 zITT}pM_dOD36;tW2fG>1Q>-R{$ieAttSYSjNvEfUdB*_8LOC=4KDaH61*l~g7EvIrwHx1FeRz%d#Ajlq*3E7RNSig-*jJfipY%QvQsgvb5 zYoM%Ti|RhYCrUMl2FCP|NCOkt2`II_-@uIn0$_Jzb8CBNcW<4#F#fL6Tlx3vbrr?7 zM#xL~)yu&AtOg|CmN&u{)<#p*r+?>@zv*wViCkUz_*KTPFiA0>H8np-`41ZxT?{+( zLlz!)0#iQIlMTG)IT8xMFWqLKnE~fOUw=CbLr%U60qo2IRX5lLzI4H9V7SpuIj|K( zg=R2xVu6-mAnC79ZAr%HAAcy~NW}};BuuE9;8GCrLhgr@{kspe(NOMqn}4ACz;07) zm7SjERA0-ia%TG8fe_=|A2fFK0N+1+Ye?$g??rr7I(PW#X|OsB=kavs&~qm0ZtOn z+ION#zgv03bXSlw54cSQc7M@U$Zt=Te)H7%an3{or58uuY#4p`*K0HYzM&|&xq_RX z82bP{w5GXMqTPV`b#a1S-wdgEB9* z3z*^7Ynb;O!~5#qH`i+iPF4y0+}Wxd`1t^9Zjp>T2Kq$j)Q(||`INVi5 zz0LSs8PKJ}bL+(C;)GX+=VGh7xj$I7H1<{jty1XiM!-Z|(%Xx_KR$Klb7 zSBMmc&t4qaU6scI`xX}n1@2l~Qa2P>!v6~g0%O<^KEP70m4Cv52|zFRAOA<)h~R2y zqhMMkAlO25RqYo`!%R7>M=&u1GuVd9+6vFwIY&?es0%SSCMPjCW~KX8G+YA2CTdX5 z7Csj?%w=v=qK2tX@W_e8p+KIeqj)~@PyPhOWgsx{4c4C_vk3s43JfsL01C(iGoEPU zQXcLB-MmIri+^}-2DK2Wql;TS$S$Z}jYX^YjX)W*)^Xh^=4!ZrF@F>q1>(7+i1kC5 zpR1J-OY);8t}1kylp%Cd36Ox!bd%wuV4P^hC47xxq7|q95Qum6DA8)2t_Tv<&bMZW z=*_Ujj1Lw4zpi%qU_>Sz10%q(UT4Kyh@w1=15~fSm4A_|*q5n0GqBnpvRY-(aJ;I~ zy+2eHHzZedkq(!PS;c9VhNoJg0(6Rn?4ZL;Eq8sxGotq8Q5I6_GKsgBOTxZlDiL>! zmjACN+I4QgG9p+ET$*ZtDxeyFo1iov8@!Vsado4dZwn*8T#R!8p{s{DJM7lC2gB*JCwrpWP&STriUmWp_$-79!St0nX)oW7D;lnm0yC z*mNZZvQP!8NaqrsKt)-zbrg*);?AwX6W-Xx` zW^K~jLX@@r(nIrBM_!lkFCQIVW~B+o4Z&D?Q0-h+*+f#^EVGgH=q=ZLN`=sKEI1mGDrKqq!_Y} zJEveV4WZ`AVNO*QO)t_-SzJU7RBB_jyl**MH)$7uiRJU|Tnp<3$DfL>h9#y~e;G*P zDn;dY&ng3+Ql6&n60qafq`OJo;4ouZa(^n4N|_+zxqU30G+yKAw#bp$b#-D?k^YFe zexo{)>gWyr>k}RXMtzE7xhd45Iq2(Ff$jtcxE0FN$j>obCpkWl`U}p&n>$arM73)S zrXtlO<&kbDHjI`ryvX21K*)b{r>R}GN?b33437f^30*&(BgiW5RQA-rO%n4pW`9Jn zR`XX#h|~D1xU~OE$W7`c9~gpt zE?E!hHzjt$a-T|d`gXC?CwK*+9}c@Z$?audC!@L8e;$`zpU5%C@^&Ij;Y{Yz#U@(B zXF=B|FGLEiP<$>*{GqOeNY(tJ3;?^J@Ea6YP=s4Bb(h?MK9hGz^9KTdkbeTbYi&N-)Pu9XnV~({ZFQF^2hije z65fY^S5*~a^PFGb)cmE!r6M)A=UsKZt*z)~buIW*^|sQ(liSs&$5F3OR;|mhs&7{P zThZ%NRkP31i}6_a7kVg%+J7dG50`t6%H6rHyN9M*mouWr!z)}+pc<J+gXq&z~VK*K*!!O~> zQv&SIEmdj%c2j5dK&ZhX+WmrsfgAb&Dm(=xGY=(a*o{LA^5tvG(3_1u{Jl{$ZvZN}H< zdRE7yBM77tR4M>_*DI6IgMtU)p?Gt0e?>4 z+&Sd22+oL(fL*vCOw`FG<0t8Y>aE!10HHU{A~`cEo}Db((ZMud3eDREtP@o^ScZN? z(Z!?WG)55e4BM7+5PyHnRNp3t;-|a~?xv-;qS>Ap(6Re2!bNE-C5m6!G z{Hw-5dr=09;v$tume#V$tXi^Sa9j0Dut^e zAjLh8X9<^c5WHoJN@Jo`WqEdv;I~MsBH>Dz*)ERD^Jz5gH?DsU6Ksp)+K>uW``VE< zD&J5muDO?j$aT9_0-_A&F)_n z&Dj1_N@{|`OaMo4oL2-2>c|{IL+G|pt=MB#rB@ZbfIkEiZaRR0bH!;LUI6>xtM-sw zbo=A<>>LQ^aF{I%^}ey0S=t1+YXo}$>52L-!WX3Ab9j1z9nbZ z4J*1zZ&QEcZ|YlAIMO%`CjqvJDwVf1gxViVm37-U)z$sXl?^<#wn9pw>iRCx_adW$ z3BXl_Y7g&K&!(*VJSpq5yRln6>$E*jtbY(#`_^{#a3Oo5;ZC>KH>&4Cwq`nyM`=JU zxwW^xdA*sIbh^D!fBCcQqQB7%L@2Fq)n0jiHeG)Y^tQQGJq}Iu7OKy@v$auO&no(& zo3R{!cGq`mFPOS5$DrNaZtXK^&9*N}3I|#zvi)t~^kk&Snimg`8mtA?~yOWP;-{yW7^s1u2)ANx71Lu&l;5o`hBOSU8vK|jq2N8 zvCFL*8UM$~m5#?J@$hZ1yWM)>v{Fm666N6*sa-%`_FRrqo4Yko$}{H@EZADF8C~p5 zx~%KX_3GDZan@zjZ)>N<#ZsJgS=Za$y?PJ@COlpDJE6{ZZ=v&(c{&D{fj0#xe@A&Y znWCbdi?7NxgofCyajyi12y_knd2M0FqY7SVoSkc~q)d|Q z0v~d{Uc>TSx3j%9rxgQ@0pe`S8^szT4ft9$Q*z&{YuM3B4|9;?b?4 z^9h&1I0YMjaEV=;X*IjANNYCMw>GXvYfR!+W4!KWeXKJTRWNSGEJ0uZ;AyKQZORv; zd&E=R1B4B@Nn-jCbdR8=*&d1SMbK}rmpbeZreZYW5v3=iDBV7$bOj76Q9zxt`8j@I z_o99JS_JzI@??BEAZM17LO*(-UG#IDj+gM2e)br>>(Kj1 z&3!?>Ht42=o(}_>(ttx9^C-DQ&u(;h8g&2ry&Ur6Kn)j-vSHq%ZSa{wxS2@E;(7l7 ztvx?IJ?bAm{jUSEvp;I!s@)J58YP*I!eii1SxBfHBzh3J`Zf{SztJtkeyWdTOe(V1 zxH;2*LMMgTPWii6@k)zqsYw+~kTQJ$mCMZ~CctK85sVd$)5T(pUZtZHkt1D17B7X% ziKD^mlPnwGkDeb7IMz?&2>VUaL-yu_rJ-aJ&EgT}+hPA0a({{OEslADK9v~!9-~)m zrtwkC?sH(^^MQfTMBzHh~aJG!+F`QTQHqHo`lE>vTdW=Edqoj3W)(O&&>EJv!PE0R4q;rFr zf#kl24w2hC{$PK!&krM0U(Tn|GSa4}(cfJ1XWP5Qc*^@xxU%B)?Z6L>=|RX8?ZPvE z47at_&<)pJPMm%simIB&jDL08s)F%vp=0BVzo{>r56mPgg+#~_IMAEtjd)8FdyQGU zI`IGLF^y&XT>zwKZB~1ax1ju?Wi95*B+%w#@v-yhqZhW>Tg%R_f7K{em6DyLXWz)! zzcLv+@sqKW+aY5otH{{N?US)vqhKe0e`N|LDOXjB^_Qnq4$oD*%LKJr?%r3V>e`eF z1>IXCRdnb@7R=`|BMZ+(^0iEc$&nrgLZ`79GoZp$0!=s~ zL}ygxujk31%XH2(#3p1UkJ%@t0uht(CqP>1e2zrQND5$4B+T9+u>u}287Js}epkYM z;k&++`bX6;5(1f{w%%X5#g0%sn;5AaxI!H$9g3|@9d z7*-MU9qLQljnO*e)3#xeYIL`@zgk9;0TH0X__8J;Ha_{Jlo-dkAv0O%<3aTG@|XJ1 zT!+D|M6;1f2x3{6W__dbe=#b5e-fbbC$~c7PyQEC`IE1m%AfqzseC<#TYd8&`uccp z4;5G36=6}}++oxPyrt(QXYeQXP0`pgMcEaj8zvKw!7*r;`mu3TsQ7~#{vyuWr?~^5 zrfyqsJn0v8M9(OCW6r0v^X87b8+J$hE#M#=rD9+H;|@)$b^Gs;_yz8N_a-JhTrUn0 zN3-mLse0G$)!0PK?N_L?>G!60XHUNE>|bhUPb%!JkvIce;cO|dHCI7=}`JGq=? zQ{)6l8>Ur7kK-l9@K}it65ae1IXGhFHoAt$4qtM1(imBqGZ+n3T9gPloy_7Pd^AnY z07UPS@fFVru8V9wi7{7y1u`;%6T=b%lx2Ae?b1_waD`+r3nbvy6a=rpzC8j+@=Fm; z>My+|Z;-i>2F?kTJLyT?*G3m}XUl%uhFadfW7Q?oX}32vTx_04KRk@)_uYpN;bwUa ziz239##T0?9{`WwKWv5jF>0U~;BPngpe!vF*Ty;`rvSyWPSX1Q9}RCSDK?B6Dz& z_DCzS-Mg6#qL5&Jm=H(1euuyGh)$2QDezL5oWY~uV(|fvUu?6}h6?_vNbt*fEk@>d zl1a;p0)S2z%!okJQl5@E`7NgPfIcuWSXJp~@O+@C97rh^UA_fD#grQ?*CPuhtT)z8 zM^Ae4R`XK^Q+n`>fj?id{2=MtI}br4ddHF+*BbIrE+2b;EWY{ip}_;21n8YZ({Su} z@Eq>U0BNEQOHYBTFZgx@LPx+WJX>#WegtkHLZ95$5pX;DvPZyB)P3rsP~$>q$t3ZV zGF}Mq>2$W_z;fNYR@&H!%Hif+%+n#FzTS-jE;et&I*U~>2$lnpm=@b{YIp0*n7Cl1 zuexVX$!qt2^m?a;uL{}X_O1+jOo@amwceI`P8r3m*8Q_@T5tT4qmKTiVW1)z9FKSsu1J(u&JS-C`sEjEXT0u2# zNV98?9nt_^YYr!#Ie2xDwdU|?oN_;%C!0!0YZArJ;k{PZbIq8jGy~#afAH`ivY>FI z$S+KPuuQs1N&n}C47QYOQ}T^2=-S=dR5@0EdQN{agAG8>F1T_Wu6Q=~c+us$nAm7Z z%RUzdDmfzOUd7=I@lG~YCM`-d3V)=hSF!?=HBP&D+;GXxX)AcwnTYQC*HuC9>v?K^ z!|iXleFNM+DdM)zb95zc>rUOc4eT13Fq{N`rLR6M#&$HQ&*k=Jus36#q0W@Ir!4{r>E&KWmOod%;&Oj zjfEjj%sWn~kgudXytu{{(yNdw_zH8 zDaGyii*$gxWijP8{sgA$@Vx#?hnIa*RACF&W!rFiEQlCao-eLSzd)hnvJWsIbsE`; zJT1tySA1q$kO;5e(CkH&@$A?(rgd_#2>*vy^24i|AF>QLi5J6jH7r`D zxF63)D0i731tcpCLeb}gaF_Ta0D2RD8A%Lj3otSnb?z&?Hj6=E!g^`&PfJ!^^@Ll> z??j$xW62ISw_K9kDiFbzOJ-XI!e&%H4wmu@?j}5j}{r7tGBixAme|smeFI#(-{Y<(Flc!UI3X-5_2+zHRJvF@! zQ0+n&!h2e{E~%h6L)9%}@kL#4>5go5^yndbUQaMbGxn9w;$cFbYRRZw<2YLWv~^A- z!T8gjNC!VEp2%{n8dt|EOV!4RwE^q?hFFzoRYksQq;$%8>R}VR(x;f152AHGn9;qDmK3V=cjsU$5imPCNPj_4=`AY-vb^ zjvhW#ZPBW_oT{FM1Jf-be3|oo$qsIHx_?pphnZjZ1eC$*dV9g14ET&WA88Xv*!-lq zqRw_i$x}-!a`{u$76m;Cq0TmfX#KLYzT(F#>wW44dY1IpSju{Zt*Vfhe>c2Xq8(db z=}J5qf2*vdpoXbfm1yBf0c?*ah^pHLQ&W|Mp7F3Gco48v>AJsIAaMiI=u~_PSMQAaQtI*X(;}R>nF}WWrRW<#s^0v)XVb(p`%Y-~_=)6d?N46Uvq4Bx zgm>a{QY|%BapEACK}7`=e?)Mm=N80nyKV7)15kO_zuOzKO&8ki`P*#CHtS8iO1*7% zWSb7O*|7odnNf$jTJLU#TCU5MTTQ$*y<@Hy=H+YE(PLWkFNZ7zQ3l|;-sZPrPyLhY zR%x_Zr4h`#*v!9D*-TPx-+r%dvsIx@XWc*A?Xso29#LUYp2xo+f2{7ZOW81<-dz~J zWJKD9c*$38*>&qm8xD!++q9wdqP<-RZ3ZE96|6r{0MVxK;{N0?!i&hyid2vY4DCdD zxdVHBbt027UIXI@R8+?ZOTl8i2R})3wrI@e*=RXTav4s~`kIYy^wWU=C9066I~fTH zel5~Wq|onp9E3d4e|d4ySXot^uKEC`7BI4*qoUKV zf1-5hss4Us$*3@DVK;^xrh|W5u%+M<%6h;Nr`h_SgQ&Z;e^o?5Z`&Wk7|88cA)wi7 z*}ibQ0_(5}_0%+0;aQiHHQQHy(=}8{Ojy+Y-iuC^JLPuvOFt{3K12 z(0*>z%yeW4o!1K{8A{CGigL~jUC2TO1H6mpX*{KrALsEq=xu}=09fq!e@Z5lUQWe_ z=vg5%Y{?x_a*E-|5ei+Y?CoM~=kBA1%6EVZy{ z)hmP60rKN3LaM%Pz(m3z-u)PDmYW7PZwc-GX7wlVX~TndzE(P?e@f6quo=WTqr;V& z@Xc1VSr6OP@T*X(Xd1wh97W3j&$PZ_U~?sIa7$Hm zxQ0Dn9~J(2fd*xW0I5?q0lEuS(1OJ0@G!w&{Om zxAwD7achsSduy++f4Z;NYu?o3|IIhG&vier&d+jFdvWcCH+6MXb8qTZcXX}WxqxS% z_jZ2vSGb+a(J_2GSHG9P%#A$0)f?GWVXVB7$Nn4HcQ8K5jasz;>yNyRBcYcN~BJ%eH46f7rLq_9NTLAO3Ua-{`Lv z{d1?Y-MQ0?-v1l-bLVt9rPM3^aW*7fa1L)@|C=1=z4{H>PJs%*+dIkh&t#{8>b-&eF->KZa=q%|2f$HarYz`yw zh$C81PA_Qie>^bU&dyfl;m(ppe}*ct=~;gU->30d41*jQY&66EEHKv2`p$+POZ;{$ zo8AGI?i@$CH<>Q(Ede3cU}^Ea2@W*97yr*98LrLZ;oJBu$?r|GbiM{hiwrR0<#f)! z+{@>~dlO6vjV+-OriX?(-vb)Zp3c?e?&R5WKBScye+h0e`6h3d-l{&_pA-CI zlkD_#cpj(I`!Zpt7_cu=%8I6#fzx@@>;1+L9;=qz1EFAWQ0yttqSt#4FaA)^U#SoE zd|_Ll`C^_X@V#d}?)!WO$0xaO<^H8If@1#{@!1(*8GPnxBNU+h9Jy|uhnd2ZkMuB} z<;yX8e^fo@-}aFj3ypFzI|r_59*=vy1Np1<9(M@d;XjAT7_cCli&t{zt(>Q$G#{c8 z_6jqn8kpPbJxRtXyhuhbd1Wv8HA2+TZc`}~cnh0%aCo@?%R&F~)0e*; z!E>W29sn3y%<#AUfAkOjICy^4KRkH#bpP4YfB!moLLbm(^84p6jt=@S_aFZUzxrr& zrm+{g^zLD=_bfYmC7+6|Zw2<#ZOl*Qfb!pL9uLRRRwAyR1T?@5uf}G=yG1t4#tPc; zXau7H1orVP?(<)wW6DB+)-3@0i{AhuFZ;as$1i?+`Rw56>5J$6XD@!~AMO7lzBrHb ze{<-1$fdXu-4OFyQGOnGx3)=w#EV7F98(-%@9&=^KtNy{;U;NChw|5t#{5HPTp*SI zG@XsJlXx7_od1B$e6mk-es%Ewem^)oI_&SidbR(b{h#&^5Bi7CUL5Ib&zY|<*1Wm1 z|6fN3kNeMG!4a<5=bJmoxd^)>tfy&Ce~dBhmSs*diC@Gdb*W)RqN3| zDUo(vQt`EsqymzBM8pgM?q=h6I#GBFp2VXo64msnh(^mf{*zx#hm?Km%L}v|aQC;Tg1G zk?|DwgG9DSHpo@Y3bR}VI#T6%e+1&+a!SU}c)2*w=CDsAb3ISdAPU>6N=DF}9B`yl zD)N<)IwKnnm-ALMsKcYFT0T7Jm@?TRGY*p>*MkfT3&3GA>NmG=3Cqb68>8e353dTd z6SOTS(KZ95#nmh2i<}~l3XdjKc|_DHgKIHrT%4!Fb77Ff64bcg(IlOwf0OioWaSE7 zmSdVMF0%RCi0qbYu+cNBO{SoUn>s*VPQYM*DN8R10Iz2rF ziZES}ojqaC41inSjt0btf8pIUASe!|%kdaPtmgyrQ=xijIBGhb!VuUHJ*p`ID`h;5 zFT_JL`Drx3mH$dNp1knffjlkL&;%b*a|B_>bwzZ+xjY?bFwk>!#jXfNP6nDk`@k8or%o7h_Z)i`=s5+?^q_q|w{t%9;yN6+IV` z+7p(;h_6n(x*Y&!`p#&mot3K~cORoI@Q?GW8Kn=+nr0oKQ3BwCgOucAD8z9&K4!tq zlSB`{CTN;yu!^K{f2AAxgoiBs4oAX@2BJ{*U06l-Ho-i@V=5F+C#6M<6O|>As#%zE z(?dOhX7ZquEXSo#5v6$oHy9Q&5hZ?di3Y9cWJzesxqtca;V}6ynZn7-u%OsmERQqB zQuY8y#nQKhfaGSwDiQ4)iXXM^j$Y(pT4{dXHzwhcRZ95He;jZ&n@p)o^EpjrngKNJ z=LRkG-s?pn;gQ)Ramn^T66@{9;wyV^S-oDoXjJ7$o9)>$KW}(t&|YtvTo|rN zF2oH{hv01dZ9><0tU+r$)NnOrCk<4$DFVTKCZT0K6QB}LnoTcfG-WZO9&aQoN3pLE z+~@Nvpb^Yee-7dP&nAj=oI_9JWS&Qjd2*KK3!*l_E^$Y%2SNy&#KU< zK+I7_*9c}^=N#>L#D@v7G$cYHFSd$8`_!X#NHl*BEMC%2N4?0W6$(*gC6);&g~+c@ zhx5o99vG8Jx|mQO*QU9ZWooz__92~bKZIT3#&bZ=~i8Di8H5Ft~ zQx#k?N)&*IKyAlYAezR)Y6Km?kn<}g02hT{Hajlo(b1t$SiF21HGp#TdeHXeJbed{ zBLpDw;5}h==tF~;VEce6TrKJXd%aqnYkar~f2+|d?WX$aF_9WqEs^uS_63ffB&W$V zhmDJ1Gh&o4deLl&Nv?3$B@5sZPe6*2SCt=jti>QY5Lnr7FG;)!_XQsD?N%|@)%LXEvB*T8a!2P$^-{9 zfu7-tPbRa)6(aLgXyFKg7YS9Ah1*k*qhQU*%7(-`On|q;US#gTgOcrgL^t!=BL_1d zIDh)!^XQSJk`#gCv(n@qln2DFroz@#$-Blj-dDJ*jSu~_N1N?{Lv-a^7dh1XdPW{gTijJt|NSAyLq z632%Jbz|7O?Li<6KLAC?6y$`x_!i%$o8QJPvLe}^R!qTW>mLG8U+Yc;vf^@kAl?fBPp_1Qq|RR$p&($-2bjL~~T(YpddQWz+ru$TaB| zEW2E@*YjiJrk)@3WSGF}1AY-38yl7VBJeuxr_+<{(%;$k&dzq_&K86uIgtICzqd|j zqqA4DJ77DL{vfz62B@S z7@O5Sop>y@9)wkz_sRB)e->#$c>^QuuJ0NiVqd_|Nm{i7&Q3L5ag^KA?~8PtF0Qnx z7~igP)G@qqR{GG`-Y$-1y2Mca(REx=*DF$HBBp)oQGW>BQUa(+60GDOT~8MLDf4C# zz>yv;s3ki3NB`N=pMh=o?Z9ZnPArZ?gQ*}{?X|*4%ib%@a{q+Ne+IE}5$ed5b`@Cv z9CgK06lCD=q44s0AUIwH#r$k=96=itheFzE>h|Is`TC2*)Rf9yjl?C2n$S5GBT=*IeHi_9-a>^e-7=;p^#6=KQwi+C4$iPdZ4dp zST&01F&gPE*}zEWe|%|cdRYPPS;FHN&k11_vwn@$c>B1Wg#iMi-qYNnqQi=3S+5TE zpZsTE9L#Gi%F{z&Nx#LH>0~)EG~SY8>1lI<8(|lhulo|Wkk5=GT*{dFOrif0tHPtG z=A~xz^57Lr^6|mbKY;S=KYK<&(-;K3t!8$VjRDli$il&Ae~mUdrZ{JNfCrCYDmCKz z`q8k34-WqE^64v9SscB1cJONd`Qrl^b{hjEcDn29_o<$1bPlvRccFuY&(;>%8cM7* zRtyNcMr=d@UgiPbCymqqR&fq;;R$fWZ~NF6(5cBR`jLS1+aZWFN6!W=%TSHgT;HV> z14Yp}oXrAIe@m~)_*kyPfenlhSh#k)(t-qOT_*9A_B`y3m6v;5X}6;y9?cDEMWe|? zA}8}K9t~qss-OZEN`-7 zQZxxgg^9s=ceQy981aXKiZ1%$p2adn(1tYafAGSwFcfueVOH;vK}6&hYQ$5HgsTtV zP5m^bLQU?ncJNU~()el&6sE16FK^ehRQ5c8jcax%SH4QF4~TYLe0Hz~;V#nQ;oDZ;SXG^I|fKxKZ@EEcIW z&2|wME*-N!6U*Mxaq5&GQgWww%+%&2fj44EbXJf&_%y*M=pQ28UD=BRM$G1Cc@N2; z{7S6~b@YZgUM~hIXLy@AWepX-5hOvne@>!K5PbvNK>e9`B3)`}=V4ld*I-n|{3{-IVdlv_oQmL0&Qd&#^3u9%wB+N9sF^QMauf%re+wH+ zS8$u=)-hOWF`iGE-(=1_NA#Mb{55BzrR|5~GFnOsN5`~FfbJByK(3M z^-Q>kk{gp?Jyjn~_PICvOaxew3CkTz08HUrctRC`EWs=C-CarUNz)@aUu83xBskqP zpP;XmV5_D!kj))9uvobqJ*F0#e*xvKQ~?7-+)NKt*2CcJEHOhnek*rb#fd5=iulnK z2q2onytjfNhGL}`BFk3_^6oqZjyvXz00y!kSXsIgD{e4ZmLi3u%Shaf2ngwgA&l49 z+I5;~1}FFygzOa;7vqEPfU6s#@)>qrcPL7OTmw_`=#S2pF+gOI5KO%ue=UNet792f zI!KeyJ2z9SqSD}z>A*$O`js@MgHXzTkqKGMq^8<978o79(8#V(QQ!D*&?iK<0W`xz zjY9g$Na!nt=)jwHbO=pHg#7T&WR{Uc)Ic|BLIpT+g3DN=X8^>v31TjV^{i#HreU1J z3 ze!Kk4>;RzNNZka5;x2@CxLNsGTRdo|c|Xr4NinO8*=RY%)O-!Iz`Hk$%&w7O!lZvTQqx3<&C*8V@n2Wd!#UvW&W6qe-w_P|85l<8=R0e zA5T-;ZP5G)aRJz)|DDsx$AB%Lai2jE2A7!(SEW-}VPo)Y5)Wp1DoJObGDR5qml5#{ zDZxtR64C^aTcW<3GJ~zx^uPS3nr6VSOwTYDMX03aY5o@Z(36A|bn|RBW6f5~;!231 zYb8e=n(pyc3^?$Ve<%}7x1GwT@!AKFrfkwcaiRCM?nOC6^xRdju4heOzKLNjECrap(?V?*YC* zn6UY858cjtb?~Q!d!uB>G}RD9 z!!3w(qHxJ-gDl&N+UB+^^E|o{2@|linJzAkRk1^n`9Y&(>3U0bIvVp^nX*U0-1cpn zW*0CW+qx_mhPI;M4f`A1`hUuO!Y-{1{wG!!a9rMq!y0GV40FK&t0V$WF%~8hI#fq5 zjHp-888Ko+e}7Mujzy?sHmuQ%;87L7hO&h@M%(!3>HrH$LOo1!*JTDfNMa3 zSVzh7f2jy*gYV!2)TCh4Zp3cpH~|g;L%fToa=jLJk zfr=b?eg!|)xE_W(FWqwH@mmNvPv4!G$)9>_OKZPA%t6w1S$n-K2H+xH zAac_t{N6r0#`q5TIn||e11Hjhbo-N5Q1E-RD4eMqUrmNO;{AQyKWkEngR^mFaS}z# z+G@uNpy{9xAWkLhTJ9STdItwVP3dcQf1p^`auQ$^vJ}l>Ow1+#l=xnBTEoSb+%>Dy zHL!W^yrxH|E!$U!LgfMw(?7I+KkRbQtCcEXE0FYA0<#xOu1y$aXt&0l3b;>GXNUdh zu_=y(0IjBDDXm)F1-Z)p<1IDLOEhE^rzRGi17`3KqqF(qOphUHP*#1Z*1M}wf2D8D z@UqwoW1~pB=k%j?F^3^{wSL3(INF<=8NSoHxtv-LGhf&DE0spY)j!D1VjM1Y z9pd2%=BM2nTx`7hSes*Q1{PIFQ>{;!Oo;kktr~aUnh5zLSd>HW@$w_CdD%~!;^(HY z=L>awmbtw?jb>}B21bS;Dl#P&f31glCt*~)Xr|p1XKyrC>VOJ*vBns|5D*g`)aRB3 zsF|>qoD{QDZ8N4D)qgN~r;%jYma1~Os07?UDPv2DRK-fP$^1S2RQqt~l@=u97OI*i z9WcGmYcT3_Z0)eYj?gyMTk0*d)SA=k5b;~*0Gf8gZiWX-<6&ZPLFH~9f3DHw{#@KL zx7BXUE&lgwX{+0ERc%u9JAI6)Gce%865O?Xoayuh+<8#lDAG=ESLi}et5*$lYaV6n z)bPOcNM}O6JNr`KpKO-_{Mz(U4PS?GXQ~NzRZPqz(WKqk{%xlF=#7oKva^$u&$W5j zqBMb9<+RAib#1-DLN^s$?Z%MF&=U1f*2bo#SVQ1}d>Q=fJQ`SxceM2@#7lIB+V7OP zHH+JJugcmDA|G^?xm}Jah{qc&5VTxmHt;Q`S?mI7vAR}%cQ_zsf7RX?WbL#qGFY|< z+p1`ViIg?^pwtvF7C7h9>LdcTAnIa-Uty?X-=4G|Vc^{cG-=CQqfCFdT*H?AIo-m) zb3sC9IL|!#SM>qH}=jhNUt~VIlNKsYpUFK&KL#h{8~=Qd0BF! z*?Va=wNUV*QoGIe*mLRj_N~1)T0KUq?R?setG-d_KhITf+B$!u#n;L=-#FMy&_}C& zRs*hqcimoNf8q+1(o7?stv<{@;1^}CY9ZrSE@)S+^R*>OGA(yL*EG9Wd@@dTy{s*v znUus9tRb(9i-+ryHMs0TTEPB!HdlWf*VkU~Z+DYKI;N=BMLN($TVY{QbkGV!W07zN zWZL4i(N5NoW7A?gQSF1f1)VT8pl9)N99~8A)g?}0f2T`(vtyW5kCe>r`3muBRMmV? z{@OVfyRrLw*?p5(V|#43qhK^PYzC@S8_TJ?exO#!nay;rwvnx&-`CX2kfRW#kQ80N)UbGN0}%|!Zl z4AL8}`w;E4sLze@)C*Ex0!}_c?5In5AqMKl>8&7oRGn@M0W%>oo)px#CQzTV=!`Ts01L{;fz=VDHy7v8IDJ3Hroh_ zv+)%j-|I}T)_PGZ=sy584#zX12dX)9c;<=$FINMNBs6|8DNnWJ&+<^Xfb^Z@jb?##epX$xaEo)~v9A>M9_!(-munK`xV`#P84 z5$`HJGqD+Tu!AvcgQk2l>`?3vJ7Ak(bGAQh9&Uym^K;OIZ6SCZ&a7$BseePF*~GyYWvFTr1NZ1heDZ8L$9)8id(V|T zmMh<`UeDI%Y6chGJ2SJVf6t}xyQ1Fe>9oHv(u^f5^%Zg zQU2Puoi6T(*Jf)+ap8UWRy7AS=xwZyaBa4#i)rm)iDKb3nEuA%oPa9UH^U0>%^J&Pg#eQYWlobu<*+9o)WP36a7$2oU|mgVx_xM!j}Ph- zopoxu>AEf@-Gh>ffA0DYPC*|TLHoYKOJFSNu!7$Kd)=gC3G9n2>C|Z{Xf_m_qa6U{ zC^F9r0^r>E?di54p%gnxd zQ-{!0np&Ugljbtnvtx~AMwajO!qlW*ug}b0_Rq_+za!M;f6APAX^K$W!^@k{>_)4z zg*l7PoT&-V(_?*t^{reDh^B zmXg-;0*Y!8Gs)wZ{_O@%(d+S`UZ5ML^O8U$f$GCw_9)Fad*RMBqparYZ zAEy-UUX=&_x^K+eWzDd`-WE%#@9`!s_`U4$y51M>csa$DqIYxn&-;cAI+-vdb98y+ z@bIXvg%;w=`D?7|)rC2o;@Y%3al`ZmUTp~)B3DiFe*&DlLt`wt%8`|n>~%I=zM4O~oymJQ`@yar+1}Ph3fI%l6{Bw$0s~kEs`LL1N1m2gpme zlDDY_7Ho^Obn*RERT)#G4g=1GKGPbME`~F%wj#G0&+uNBbI@ItUL!$g;qoVXTd$2{j8dwxB z_pJC0fcIPdsO%yxCc*uQgH#Ga1=13|#RU_=Tpx;mdsPkEdWV=JJWq95aBwKtJo4_| zf88`vt%ZpBt6R2I4z%br#paOMl(lNmY=+S;xA|Go1J90dZ)2i}Ju>LahGxI{-dhN4 zzZ`ulqtrrDHm|l01+2YaIqq+UxFfj-+wF|-v2`3g<9MgZ?4HR0Q)D4vRp|T(C3UV$ zxNpWHwpyPlqg$MgeEiwNdq8U(qRda;f6L;mrWNq*&_ObDVdexsoFq6tHr0WOQ-0ue zJct|5(y1M9fs-ne+PZOZ(u{>-06MwL&B*%QoyXsUTRqOpDTcqHr+@55yXJttO3)rp zJ-cFiyEiziwc8|M?ZE_8@de;~UmMqtyhaNC*O@ukqZZWQyc`(*f8qmhS$}m#f6EU0 zO-H`ff`B!!RGPYn)hD$c&ajJ9@44ydtl3j{3L*5Z+XfK0-b!&Aw)NN0)K|pvYuTb{ z=J2n0^U!qGHU-hmx2EZ}^I#^K(QsylY^^DOy|xZQt6i2ots8&_UbP1fv3gPJujZZg zS9?T3(U8^4dO+M@W+{#+al-zg-ixRA zpH8bnUOOvs`M*l-Amtx~_XCt@A65{@#4G6!s_Lg(969&}X~ z`?NSE#U6T6)W<~3&Q1!PY&yhY_4U&adbPq1+LJ5r)IL14TIcy(&AW$ke-)>7d|1vg z+wcA7D(mhaB{9mWumbx7S1{)Nu~bzt$Fg@2>g1EZHM>|3K_~xdo*fp@TFKx5=OZvo zPmDTPQ{arL0adFa-bfxXW&U%pTT47c2+8kPr^OxX;sl=TOclqGt--y_fiR9uhjq@? zAv@g7DPeVsQ{r3CO{sYMf4D%jcCuD)l8FI@jDg?d@?l;rYKE{x2?i|g6~7!XTBN}; zJRU^2W{WJ|b!I&-r|~DP3C9BAtvNK~ku{dtHHMfVN_Awq;Ek7SW7SHrxey2A%uJ~qoItZiVs_=? zjtVvsw=0)=)U%PeUAge1x{bpP)3vUj4pgg9Bg6i2xHY`*3p?N7hMet0u!i4#VF5LK z?L|_`6#R$C(i}3|a@+Wa&+HJyjXAc5ei*_NuYUNmur43cFb>!WjD)*Y$OeQ z?|u&%FxhYqO5oM~e?7XC4}HS^d*6F9g8i6S{^v;mUOu^zhjYtA`B3aHEWY>CIC;S>0oO%j@am@<0lHiPDjz22 zk}lu-d9;Ax){pBcV|exRjl}(l5?2vn)I7(QEk3)5B<=|MSCC4)`sGGOudR$$Pd80# z;kjqa6K&63fBK-6Ns~r7edf~JY(4?5-IsTMEVImA07O8$zxu;F{n=LfF*{sblAF%F zv+@wJHRiz-n_<@WJWAWBt!sxZVkxRKz}OrJ1z@oT;VFVP=fb6?+E{*ejN-E}C#`*) zpQ?A5pmDUEuUbh8CY#6=bjufBYhPS7&tBCBs;IUxU-~6|jeq5XYPl%n6HS9WOsNzB zNtmQTCNe6cB#)&^Ig_cRk&X#rc^HNyXDp6%mL`c#Q^f)j<*gL7jW`W&7wBR(oU~v3 zeVPLLBnqVzT*iS)g$%-oMLJ61Q?A1Rkf({zf|ESTgCru1i#(=T9!3dGGaVAv+C=gh zVKS0rDo=9;|9?brp5&Z_9QvQdR4Sg!T*M5T%~c$dSdmZzp{V3c#7Zj4cn#*a8hQ3+ zn(r~74r}s_ah_0UEeS)R6R9*&oM)8gL{gq5goZNFB82YiSma^GlbjF{P%fwtEQ&6Q zZ#~G3WF6Bi4N{s=9VSsoa~*P_6&GDPTQKH3{P+%9B{IG)uV7b*xzkT#dy5>-J}y?*%}f zpvgOuDxQRCENKqfMlzO(M8p}1!yw2RPcu%rWLXf=RKV^kas=! zjbtA%On--3DCh#qBL=cBLA^p2aNv#tlak6T4nn2~O-T-BBauL18B@XHOo^zUeMyey zMUsT@B$g>p(wu}!q>4s)8~_ah9j06;kZiaWa2-hvk8&D_JfoMvKHm$0LSd7G8MI3B zG+5!e?U17pKLCw~EBDPw^I>zS#GKR$C4)qPEK)5~&GR^+A^;_UpOk^pWI-x)2CRwFI7zcqC4DR;U>A8V5*8&vmhwDJ zC7559$tV&L1x1S!O(dvbo3g^#o44W^4wgKF_(ic86c9p}L`aon zB2O|+IHzfvfa6OP2p!8gbb`Q(DFsu)WfWfuH+v8r%g}`6ToDa6FcX2M8eE`crcY?^ zIPgY*TL3;1c!`0q#yXBbMJeGR0C68fDa3i8ib1IJgffU&ND9&%K|n)d5@j+80)Gl& z43%JLvmlm4g^@sSjMM`~zEp<#UJRs)TRde#5wPuH2sVYM93oPpH3+c`gk}NQ6qY0` zS0Rhj1oRWUOP1#lrUB;AdT>cR?ZI`d!KG0cQk`TFwm}3+c*KJoVnz*(_THL8Gnn=im@1CRGknJYYvL3m`cGINN~e4mlSkj7cRRWPJi6M+5EK@1vT&WPOu7jSu`tmpPIY{#{O!SbtbhJOEUu*vSw=yBLkZ$2A-n;cbNCpBgfX~D@Rgxd8H^u6 z8DT)mA@)@~1}BvDu{c*)0u^E|nd2}LzSSV?B4sdolOZSsShQ4vM+Mt0QZNEwH(=NT zLtV*ob~Oyfs@ktj+480qEASH$ffx=3Dj_E@-~u@ZVFY^UhysnWJb%iFAT%H_n5GKe zf&m#sS9u=m>N7q9GlHV7V0s9fdeI z$U(G~$OL#EqWV}3aY-x!u;u~iJ5RyehTz}8?sJuZ+ohpMf*1r01~e*<@)RdGz$w7s z>HpaK6UMfUEKwBxD}U&8-wByeH22NRcioQC@tef)vz27twLK(Af)d)?njj@>694z_ zY_$Oe5R~O~&)ldxi3Ai*Rh>F@>eN|V5!_I_Ig9Pd``q}{#Lq9Hn-`mX^a%g;gmS{? ze$!LUugMWv8#Icsx7onJ01_ruGE_9|P`CI{4mF$1TPZF#FvyT_IV_ta%R14fP z_xNclOO>g6|Es_7JqInp)0enD(`CdF^HdO=aKUk2n6X~ER#CUJ!)}LhVX7=eFbkJU z(giQ3iru{F;KgV;9#U7PH>%sv~TOdb1G-Y!CV~W_hw>krpY^wVofmm zDV|Yu>&-6QZh6`vck*Upt@`9$MR3g|X1%J`FkR5>iVGCE@nrL88DB>`r5eX?zr=L+ z@NPvjz<=4n!f=nev^y)!0T(e%1QYWtH_6^c`%mj-{62y~IuxEBrt?w{6m#fDa7ds+ zp4aB)Y6H|1eTb8Ngp~}gR0=D~2PBkIiDJrGgh9ViIHw#%QZ(e{f1C#!dNaFi(ILBj-ogiCN6?fK&*UT%o0cK`s-U<;Df8H^yRJJEg4DWQ&0 zd{3(tSUd_JZf@4mZWK5h*}O&UV*Q6?xlxgi)>~#3Yvcr(cZNI3zEjx*jGdDQ=pF82 z9e-fO6KllYfqKX18CK3{yy1PstrV}=EF|*vzoH%Np|vEj0cuL3{eCH2N0EG}CWACO z*P+}h?bS50l4?n2gUrBm{fnm>n0zj!FK8rY{pB;RfT4i%oMdc-I2Tnmjy%Xo2M9=Z z2aCD!YE|6Rl8v(7BQu}M@+r(AS6V8IAAj-y9JBTd-5w9t;Oju0w(zSuk&I!Pg6T68 zH`Qfun~!;$tGC)*gf`A_5$!>K)HRDD3#A<64U7kbS+1CeIGNq5T#dAPh7SX=Kr{UsOmb)V;34Wju>F2jD`$s$je`Di(tySZ~&6JOZXz8U%*Yn|~hB z5XwW@NA=*Z${HFjxzY@lZK1{s5GCXslzw4&XYmTNaE9yKoA9T)Xk79y;wkVyruR6TMfdWKNVVK%P6ipy3qf;lmm69oB++keVV@TH3% zG1IbI)m?&B?Gy^qv#rZQ6bz%9yEiZsrV9;|c;J<-9w%ctBr~}%p9#AKR)EJDak-la zvsZGrm;oYn#uCT5iGn!@VVE0mdsv2h!`yg0B=^HMTQVQ8j@yQuXhF0DCX_zzk$L*h zRq_IfBS}%=8KaUJ>B~x72Y=4GSqsxj%XCh!z`hccg!Lr|CAmc189?OQ125GjS5+_3 zjTs}h#;jh|I@aY&4kUrhFgGaRNn?lvf2&^~qUeG^JlVb&u~5Teb9&;|-2s`m2<^!~ z4hVg^;p>;vuU%CrRHN0ni;B8-FvJx{G=Z$LUlH z(E_vXV|*EM7h1{TfVy58eP{TgdT#Bcs#g!x{!~2>j0JDWSSk{zXn#AVMI2MkJoI;( zo~e8 zqMT0q4y&9TsZ`bM3BF|px+Tm`4po(9)&B>j{c1va{bbT)ugZY;r;->zZ7owT7NiPE#Tkaznh)>`$uFc zAMdV$rRGQz_Q0^=&-6@+i;|&Yyk*|N4J_I)8n^HE6N+tbC=k zxxebmb8xYt3xB#95z5=vsF*4|-7)Z&PycpKpJA?h^rfXgKwd9%pgDOBty3wT7?@j+ zGUSp?1BTald702G(w|VxP*w|rfJ6thT%~28C>X|+q>ZIC8Wmr@SY;h9mz$d;h{6P` zl+2q#29~4=GM`|=Fdnc^cgu0#JvQOj7Gn972 zbxo;VmSM8zL01_6?PgVMBlLQ6Lmv34dys$@R3umNf)zD7^(*HY55k-9mbLCAd+W|v z^AiU*;qrZw0lUB2Z4Q@L#Bib+ur_qzM?y%Az<Fkae$0~ST7HktQ|*tmh-Ckd8o#_|(58@O)A)%szLwkGRY^~SM_`ubUo!H=84H|MXPy_<~a>i}5G1ie$p z3*`-*6vN^0-2{b$EmA3LY6YXxguU3R1_|8DlLemj4pgz3$~xD5(3|KzJPCZjQFb6+ zuE15Ajo?YpwY$S{r{JP9av&Yhpnn%3%8x+-+%C+b*{BBB@n%WJD-T#bTm@DQ7Z*!b z2_V~Rqmd4H0J4g$75W7iCB%C5m&?ddQq5W)&yqBtcN|5x7PK09E8@kGyC%*ivgg_5 z4hnl9kxsN!yNGw?hSS%o3A0V6m_`W$@S*y~o@mRnifR}@P?Q}T#7&|r1AmdkN!(Mg zBHG))b8Vlz!;fh}!o6iY;Y)`wO%WFpZ9L(73Km_%Io0hDH%nLJ9FBC=X}aekJ!_@T zN}F+cPfTdwo|iaX818$+RYK-gHop{GlV(A4nI`kXIvTw81(a- zOB*O*y)uFoA8~S8BYh<^QMwDG_`)})td+&n_n%Jgd>)nSJ^Lt4{>T~BzQSXN`~;r|%WvVCs#M49iELX`!Xo6eL&R#n0P52Nv$=z8 zhb$65zP#E4^SB9ja~2eCP=w`Tg!2vgR!OfZD~>V|S~6ly4qa(My^|g-u{fD^&e zt-~FSWN|#E<*IAXNuQg>IBGrg+Ni76?J*1IRO+xk9a*|k27mJ}NkJ%n+lE>6`$T6s z<+>?~NHSug?Q|C71wh?~Kqj0;rmTP#N08EV7n5RjD&2m>vWHZ|=1P!4;c!{pir?pQ zgOoi#?6idtBvAyUPqkAi5MIixC zFCa_xYO$YngqAWay$PaTh??GbAp-sl-ED6+7S|K~0DoU`RUKlGw}ltD?1>y%6;aU; zb+6NCxw#RcP5es%+W|UyN&kX}%{nlJinu)-Sc{{M6U$qRc~XEpNsXRI!|1bDkev{0Jk*H~DQMPO^1O&b zL>y*e8h=S>K@K9kjOdmY#o~YGj3vF-(EIi#(jxpkW}SuZF<$?j3qYZtw7LN}_b9G! zQHkns?Lg1Z4SPtyF-Lore5faexpQ?pdudp*bnHUplx&?kld8})nx$6pe<}ZEz&@HL zZqTUB@vDw>Fr2(O{`P_aAMiiztf9+8b}PS-uA;Bc-Y0tg+6 zx_@V)Lr;Q}(Ytz|aFQHe)Ks8>c6>?f(1Bl`zIyTe#otD_5Ag&dv>AOXYiYz!FPi^} zx4U7f+8Y#hlUxK)nz&7gh=AO&U~$a-!tBPx%g4bPW8Z{d;6!0}qgf8l>u444bLXPU zG)4NvxeA%D&GDi1FZ*tmBWR+e1Bs=C-%x6*p<5#gJDJlOM8Y!{s0|2#QzAS zn=8fK&~bKiz?~=xVHA3~-*B2Jl|drzUobUs0l-KFjEDf<3Ri9r;%uNq2*U8{nHx?* zVxnC|5RLD~;pFM=5+?U;yoB34{(geEoA2$dtnER@3qVHm!;wKKf!9(nd1POJQ-8t& zUS32#|A!?fKY9U-?}sPe3)h7ZnKC!%Lg6eY*!r6Ab{aW4J^Qkgb%Uw6>{}3N-*@<| zCeI-ykLrC*N+XHew8Sr?&S2!o;+-pi15 z83!%!qPWd|{!6%YiN{1uv{;<|* z&<#_%2GRCfO#IeO9wVvoVEkmlvVSq};|X$_33nEgqu333X&_Gxup+Ds-zbPkZS;!{wZ!dcb%!-+ zw-baz>OYj$rD~@T=_>pXuMR7?KCGr3HLA_46K5SJmR3OvSRsB#^<0TiQ50LDRWqpQ zkZ+futBlzRjY?l?*eQ&Be048Bp*zU_u!glmywXL)qWeA8X@A8qa#F*gh=&v@YQzwh z&}=HDIb->8wFTC@Q!Wq*`X=i>qc!<}0qzlhJ9Gt=txPM4)reuzNYQksRTO0}ujMq1 zYdgYK#8B%!sn2$Lg~P-Oj?~uJaLKh>1JTtOdK2GA#(=0()js4;D8v^J2vX+g9Tzl3 z-J}3p>&PF-&40du7tm%6&~>0l90Q>dtk7UW2*c4=>(1#(JDl#iO7YC`zH5CB(!r!r zsBAXKG5|9PDtf0_n-|&Q>?)2(8G+Pbujk0pPV##4dHZ*)i+;J$3*zjyNzM2M1(R!F zwZvp57DM9mknxI0B{U_n)z#-WAZ5C=3`(EPkd)~(gS*dTQ1bZs`V35t zVM+b`t_CJ+h|k43A~{;F*}ouVr$`%;_=AkCA~hv6yvT+sFu)Wbz!+j2Fl>-1Wrk5d zA3Zbwoy; zi~=bd%=pl|PU4Ej#Z}$o7Zp>^ll;A7yC7E5$6hV)_Xc8brmvJ|kmm%o{_^7I9?e}E zeRnr|Ss-#{j5jgL6Zc>svpwt6#$fxZM0*16F#DuZG_IOQ=&-XmWYo9X%g6Td$?=Nu zDS!7!ZI)Kw6>Gr!S!2BF!STbOiHKII*7*5IYwJ%>_|dR_fAj92@CV#tfD@6(XphQ- z51FTkGY-?NKYe!b{O9vb5|J#@-Zb9TQQDa8D~q>Zd>h6~KC><{w2K{9zR1<(XRRQ2 zR22UX2B}X~9haj~zgE_^JBo5dWV(b-zJH8Dl1|^ujLm^cBA(JYh=p4n)z;0YvOXwJ z*+hl&jHkC_x}8PNBc>(i5v#<^BTi_f|1^<8iMW?LkmZ4aD-R4*d_bp3HF#`@I2F8I zNgZ6Cv*n1*t_&}*1;FDx!N#i9ID=l_JB1J5JB6CeJHdSBxxEC|%hXzA-*^U*T7R9? z8(OAX7GbQ_^dOQt@VrPkiagDivPMB`bv(-NEMWWFBd_cO~Po0v0bPT#A;hThtgyeN#54Y^arVJpG;1V0H_ncCakTP)%-xoIjrOy8wSMf7&l>(t`6X+*ww^Ycx@~uGb zP#Ei{7;)t=sBwM?j1~0!Vt+*v7Bx%#qBU_!TW;-0%;1np+>qIsqD+7BF1MlVkmC(y z!yIWSIXjCRS-aV8nbr5_CJ@L=9>6Ml)e2+EI08Rcvzfuz8ymwaaf9l^<7=LcnBz1e z5A*sFgx^CyPTG-dN3vk|(2=e4B!81AqG3BsIaGj21{! zt9!iU6198Q9BX!LAL&yl-69>|nzt=Xq-xHVz%a}F4dG6j)o%33-D%%N(5WE(WbR_~ zRG5B>)~GKAM@@NYd!$J9kj7NINUF3eZ|LI67Ug`e8PTKgpWmsJC81E^?qCiWWG>d{l=CS*F(HaWky_XE)$ip4{phud8EPFlS$<+XJI6k!1F+Wl}9F zWy!sll97?IABC-)Vh1Rx^l@6P8P=66$X|W+!%wd-zWR!iZD6N@Shi4vR?2%@?Xczw zDptyWl`hcEcW;+hNg}rZjNUw)#YH6bP_H@+aCQ~0<78DQr!ms2s6nHj5(W&}LtUZ6 z({>r9O1~sj&3}9aH_kDx%H!be7eB2@wPy`RxpSTA3I`K4I%8DeN(a|eCgmzSTUG&0 zBeJh=61u3PGtApB-nlhP(mUL$Tf)U=s)1s?Be!Ho%~BEAqvyCghOcy%p^h38qEI1k zs9Q~plf*=J<|NomDON>QjECh;W*`*RgTI;pQ7S=0PJhC?2t$U+QE9`v0?E>djsOBF zVmEW~Mvo*S54EW1h_IQHzpe6)K+j#rThVfNT*8=v@N@v#)0fZdE?>!se#lf{NhAMM ztEj|}QELC3MJgPVw+@S{VIlxE1S>sm;xTbc0Ea#pTZuo1QoGZb9$H~BXuYMlYxB;BgTx6iRr2`0g)H@OuU}dg2`r0 zzm6T9(S(w->v#5>Dp$r@vypMO!SId>WrTN}jDOM2aPc3e(?t{|Rd&^etp@+qJWu=B zi$5u{E%GZ;e#mD8P-UIiS|s>hRw^_C5&B~t(Z_DodYpzBiu~hReYQq-c(J; zCdM)|ra%8Vc)sSW1Ftk+_OyGx$P7lJ3u5^^)Q2YXI4Olp~pbe4$2qe6hjG48E+ z4S$y;(=XL7fE}RDMq%>_XZQb-GS!NK=nA;wmqEDSQ_ijmCkzaAy%ur=BT~PKG0r87 zmy{w#RwQ(?Q;@pVnw(yqDveyS8>)gjzyqxwJzv@0?qP6P$NxA)c8Ik_fH0wG2Y}ZY zr;S!DOuMj@oV+%FK*>qO3kg!#aY;5la(`2}Res*OGzmR^^v#nBEXkr4ID2{&d?VCj zabW!UW|Sk+iCkteP6S&w)JWab6&qE>KAc`X$sI6o6?bW3Xg-JFtJ-8^Z>>wz=(ti7 z=D3{3fP3`c*9$bsY!>stE|Uk>sfEA^!i>SFo!=%zsn8 z)bP+IOQ|Ceh^x5mQ2s!KO+29E^=x@ihl)*H&fgrMQ%}POSn|aY@qD)#k@%|t|A6lYcg*w(>CuSgT7d~l~aHaf~%@qM9F+5b3F$PP(mfc~9 zAS}&~J0p2LApcGFjkSXIIn75HT#`&qp&pvU>5kOF%16%(k6++d|AqeTSbr?c6sKJC z1B)LM!CuE9+lIE=8XWnUP)27ki1Y*m4ax0##yMnH>gfIHKfK%s*o0w7dKaaO?cF=4 zLdsE5ntZdAa1A{09L577hUmes8@-*JG^O%v- zoSrSIjC0^bELHHK%2cRk%eZL5&^$n2_Sd8D)lzK45v&L|lvI#M-0y%O|j; z_P6^JXT?MZm491;A~#1QW`<4NU>+xO_Mw{O#U|c4p{I;1vrlL^x?|!ITvx*smKIK= zW?h3@cC=NJn58{DD0KvT0~zg@N~>aTdPkL+UUC(jHxu>JG`c_artZ|I=KPH6P2F!+ z&3TXNP5buT;z!c$!^zLQRl|9&k>X-&_5{&QpuJ zyNvmcBhJDhdHKH1dQ;RKsko{XJ{7NGN9g86@*ySX9~9)LpnuYp`JYQ&s7^FD4ZjjG zkJj$(a(`iGB+JOjshOd}?QiO@-`vYz)t05xK0E#U@!4T7T?vZZg*RjTGsm}P*leBX zouZ(_>WdUUMxl1Rg_~lIXGFW-Jk>qO(+kS9Scbl+r%tQ&3GD7U z)#*3NyW8aUQU+Ds#>tLJR!@bf>b3{vK|eyNDS!ADX!Vh#u)qW2B@W!~^$Ce|&J(8a zoFVj1C~un`!b?HmCl6zAg7=g)jMt3bPw2VVXqG3}BE%Q@h7FtLk$eoZ1^x7gjq>zV zqMr?E?BGg~*WC#_-Lp~!GZ}RH<$W3bppOiG(Cu0r@OSh=;{hIbLo;qzy4LGAQGz9U z(0?XTGq)hPn#e=thlR$f9U7$f(Q3Qdg}WF8zJDBIQXx-cie8*TJsx2v?3LA?z91({q3Hp%&AOj(#U-Mgh zbV}W=H#elFAO*_Ap27r0ZMvDG#)kaY(PA22UZOm`W>enVwdG><8eT@{h>Bm0U?x>& zbKK-?bEYIivR|8!Q##-B4764(Ak6rTlw5nxJcpmziU-mrBzsbMEV33=6|kl2A%ED= zETR93f(h4d-zED+HRdwYHLSh&GIOCbeoAU{p=qmP1Lv&T@1m%tBG~rY*h}4G?hjfu zx|L|#ts0nR2DC<0p~_{fo1y3A@j$Yz4D{vsi*KI4_}lpP(;v>qFTZ>G`W(n}Q2WHi zS29hR)&Hw8vq?QYjzqrM@He{J9)GX|Q&4Yt6W%5!bhN_$RVmVu57*YRTCO)-u?^Wo zWU0PrwjQrgA62Gm5-FrG<;01to_vrYtsFdpBsamWu#5Sai4Tz&J%;STUg{I|r(XmE&C`+TkzlXnmw_slh-x*y(Mm z#Dhw3Xb`Ya#VRBbvXjTTW`8^IIp5oL6>NeyV}h{FI~Sa!6fFegZ>F@`Yda^w{t6aC ziuMrGPJ)WEL=nr79ju;dmL<#x2Ox_( z2veNMRg#&4lG6TlLj`6rH>SU#<))=t5xt{XkzE9(j`}9yrw5%0{E~ZLpUF1adu_Om zLZ<@Fv6rz&7@Tf4%YRxP>bzzEWa)YE(&{~En+A=U;JnGy#JrHC7*jpVg0kaHr%ubS z@OZ2jm!p;F$Ops*Zv7^!*x9KIF&3U+1?dN;`wBW25s)@%;Lh5 zbb1;|F`>6#q#Z@dX;vp#)^d_|2~-^LtFK@HUwxHI$|3BKPJeb%-+!67HH=(|&@YD` zzZU@C;{3=dIg7mUwD9I`F|StBsDW`~Wz@gSb00r0B=7q}Vfs|L7c_?J4E98<**GZP ztgV_u$~W13$#!czhqb6}x~0%5V94=ouS+J^KAXs#x|WIToF_78m*3T)-kk(o-g7b; z$Z30InLR=%JAYv&dT?3YjN@E`j zu~YpgYy||_4?kJny3_D#;LVJR^q<-KhU4fT6*K4BkyA~$v^X50lLKMO!y%kRyGK>B zmFj&WHcYXVJE1mj%N$e5-UY?!BmD@PQ@hZI>SE2bV}HZcr}rnUft{87By4B)qeoAC z3P!bPl7m9EjUAljslAV($q4Otu=uE1i6~s*91Ekuz2cR23+$v7%UryT zxR_>Q?m`s?8*|_e=KoFpalneD<$^sffcB!2l2!QVBKPxi_&JedjU> z^3g+)V|pq?my}&j<;hU^H@Y=3rc87y0lgauxJAOCONWhvR`o_3ll z)QUZ*omMMl()bhu2KRagE5;|?#H5yRNehPW7MA53N99GIR?x#!w9!|Xi*I|@xJ0^G zKQIVayzw~6Bg;fl&8lD|yV>>?{|vkOC=Tp22&FWAD#bxY1Eqyn1=5_qTGV8daVAbg zw}1S`HPLjzHq=T=kR zkIMn6=_@C5TE9`=VX?U0M~;VQt6AQ6DuawMkffRdqcq3Evpp>D38s2+D|MXIU#HU< z{JvgJzl(5$iD= zbS+**6voF=-+QxDxwx2@J!2rqJ?9%N_j#rYfmJ3s-}28n)_FiOmAg&dhG zfsfNt)jDTl%2QeDrRrw5Lcyb^^QdsQXd+a(>aC1jsD_d1fF{h(q^Job!NGzerS_Q! zQm%bS_249R4<)0HjSdiTj;U_My?;Z?kRV=KwrIQE^e~MCOqWrL3hBKBPP*%naXN&lQE*K3I9INyhBAdr6 zfT6p+iF8yYAuq9N;ueyB<&8bpcNpIQtgS){lJuU$eQFnJIJ#N%@sht|3V)dE#L0G2 zIV1-ww2^MY4Dik5B%VEaSM}|zQk#l9Od=4QXz32KD3uS@O*)P0uOh@Y?l zjb!bC}1=~;#cU)lj>3~C*D=C-N77%eae|6BTJgsTDPBZegTxaMQu5wU&{WQ z(%o&=l+w>ybmqONWs$>!u#60o#hvM`(`A}0swTM&{K6_eBwSEql_La9mR zRSDf1l$`h9T6k2p% zm?Tv!mNkaS6(wiFu2F-3g_L?nnXmeSA@PeDmkNY0eldIK|blf zquaBdhXRThPguxAlGY@uvav|1VvWbEp^|*{Fm)O-94e#Qa_5)LRCc&8+lt=n0MQ*}F+_ock=chS|V|^4( zK(&xi^B{7QQ2IqKR zWoylxAb)7O(p#$YjO1C^nn}?w`aN_r?F&VU#pmgYi6~tlv@xKF78&EFZ?a-`$Q~&^a(0C&bn7Nn8c6V@XmzMw|1I z4hFsQ_KM;TSPd`@=i}sdHGUu6j$yZee0F)2(|>onX{SW^%vJ?nxd$%Na|{fBe#5OR z^!fO(U#btD(&rdglM%nYl;SC}H;cDd$dWN@lvO+rYvk$Ldhzv$tK2nvs#>?;)Ol{F zO38qFLJlTUPh*cE-1~%6a?=1&zSScUhW_;YHB7-(ZHlwBlecoa3}a3jGeP+(IZ!AS zr+5+2bh4E6U=H~}G16JV@bLF9oO_Grr6y_9@T;DJM{n_h3_dy7p zBPXiXt&GqXbbX-S>^7pLlvK+rOuQ!%r;>OMq{wwNQBET!PprU$MZFAnQ_3lgrdk5T z3GTdOvax0ccN0;Z8KB#m7X^@*^&(9IJ%3#DUAC@MTsrp~Els-Ds6=5-RqVyJ;ADfB ztYir#?LE~1Fl9AqGRUbZpJTSh3L=BcU@29vGY8}N0v#zYR&9i#WZ)=%%;W2Lu4-J? zIjz8t-~3ql_N+4;R7dEV661wFTygHEb;3f`ZO$z>%Q^qKdyK#IZvKiH28ch`HGc(P z-JVt(kR*YnDj?b7LHGk7B%@I@n_rESt8fRWAZzQ*Vu#SF{YD+jb?NJ^z zrr*MlLPRUFZaDgP@r)QaP|rBN9+TH-9%!=EVv!%NjhY;$so!c$c%u>hhk<>7yT)cW zSEf)^CC+PY^;Qqce!z#*RkYkjXn&5xKjE0Vj)4{6^?EeAfG6kXfdwHsz&Ds6BTZU% z8}v|C2$NQVOD+0HXz;TiUtGL;`s`x-^qX&9oxgtVCJX~v%lY$H*d%L=BJ8v@9t6>C2Jn{7^W+&{mL4W3HB{JrA=03-t zobDa2b*ytg{ye$d-!!O-uHFnzFYnUPx^^PObX3yaIAOu{>GLzm2UuQ<1p`|#W#nk9 z#7;^qruuw7iMW>OLUiyf9ciT~%Hj1tc=qqev(u1&AC8R~k}dMax)Jdc)ZV=)}tDuBO*EaZ6T^pHsa~x3H<^6$|n=mI)=HP_NxAO>ABu~@V z>hw==zun&E>fXwaCjq833%9VEQK1&H)ohn9uY6e+=k9+#mZ;U>i0k@%7v8g87dY9+wq&2_Z9*~RcE&pZ2s)UphihB-!^ z;4L`@uRhJ7fym;Bm?WWl2?sHn zJlK~wCmn0+1b?RF^pfpCTcGO;W0hW}|aL-eIQ?#VkwpG8mq^W9;Q9 z)ko9WmA{WoMoyp-;U48{in~c}O=?>c81b5zw&gBuYk$BwdJLwg-P6#Hf4y14>m^@( zrWAY0&IIV5geh=$XyD$VydPbwAn6H`(FCpGQf8d4O`&mH6z{fB^1`v7CdVo&&cBb= z_n&7{XafR)b zg_}W)J|Z~&dss^(s*{(}w}6&;rCwpP7 zBvV7G3oi5kx3=HxFHtHmqy%pr=d^EFVqi)*VSkao5f39;N?KL3ZzUcz&kd6~`aLX+ zpxY6r^EX6h6Fj4%pHeHVrofpt3$6ftd7u#ZH8QE>6r7Mzl4@*mKti-w#4`#$z&7Ge zM?ta&WUQFh0poiSgS%+UQMqWdL^PB7Iss{TH`=ehUk#6 z{7wcQohry9!qm+apJcNsC|!?fe(@xj$LN~6BsTuBQuvRvR55FDV&J zv`T7RaVeyPUT!~%OI`E3;Tp_o{ zrSVi{x*lE<}$p(NDnrl{hGJunF$untoXRQ z!zr3K6l8Bj1F_lPzX)IUdX4Cu^Z1bCuT+@`IDQW6ImVf=o9~TDcR>)WJ?w@dXdZw> ziscet&vx;4Pu|D6SMm+U?q*j}xU~zeA*G`u21prHa+~6aG^@J!kMneQSbwKFv9s{G zIc;#8=x%wyJkhJo<~_P2Zes$Q z_ORs~Rh7&HyyB?30iZSKh<_E*Zca1}jnN*-DO$!$ECV~nML(?f&Ic7}r38qRY^!NS zY}RmUgQm*mG=Hma9H1&Qt_`O0i`Ta#%@x>}n#|C6pI477exn$R3XcOrC5%6`*`-Z7 zG&_$dh5%?lm%pnm_jF6_$}_VgVse4-*V>*cQ1gsHrI*A~VgIotc3)VmFt2|tIQr_k{Duf0+v*X_{rrklT^5#Af`mah3vyzJv)Eoe5X zX~(5J762m>4v@UT`@MHv3qF4izDDOM0noe~fR+Z(dRNF(;9h9Ea;qOw2Ifp{jxnt5 zyPxp%yntyD+PuYI0KX%_;cApCs zjX%2?bVsTi{I&H?c@!F(h-G52qu4`A#F}idYxMafRVn=1e0So|X^nr1(5uD?om7A? zT!rgPvdNs?!jlCU^dt5d$h z#gTq;!cZE&d)6jrjHiSN@bx4$sUPC|65EaiE6ZsyBM_1|2j#)@_iIcy^^$4L% zHnwZxw;MnO`wzbSk8@-ZyXXwZWx1cLt|dca5|N`2_oZ`XVwQt{9HQN=?Qi%jB)3KM z0bWpnHMqZ^M;(9pMYD_FX0ZTqJYMT`GgYfDm2~`N5=;nJl~wx_CZwyz9cMr? z^wH=ip35`-JCE_etlfsWKA(QPvjdk4!r}`m93~9pb9E30(?h)6n^Mo>J!VQUVC7u6 zVFRn6?V{?~WplYpf-pr+zEXU7d(AT~|9p5;6k)+j@1L9kvLGxSpr3TsQbt`>VL^sH zMis|4uV8;wcW@tp@BMc9c-Xvg=0sOEx+iV!@{pU2*6&wyD!s*-)8=e+D|%3r%eqJ% z#(Q80U(D%@O`%CXrmzlQB$0xf>7Mt%^p^5s>pDy)1%~OcKKn@Wgg0=tDOFNV_7ct` zTtxfZ5eN5(FE9q_=tu$yf*PUoFqKlIw=oM4IPQNWo<|r9gs80t&-dx_dX#e!Q@z9N zb+-tl9{hq{_eiy>${-KCh9MDH_l1vnYzz3JEX06BU_)A{5cH$oG=>v3nmZ*->grxZ zz5f~<+kq9`J!YdNH(lbPUh$v^(47_|52!n;hdRRR9^wb>VLC$s?rVl?b6)QNC3&yU z(SCosyGF4ZleNE;uX06cA8cocV;?HVE-v#1aam#zc@uO8QG_VZ@$<=9QE*h4JIF}C zDoua!HLz8l<>z;iCw%?xG2;H=opcqP#&8eJ!hnbW9^L+|pG)130$I)1JeQyfm##A2 zz8|k_k^+LJ)L+2OKG;;|>r<#bSE}-NUCDoTc|wnd6%J%V(dgEWyD54wjr_ zi@pE1NNnL!U5WCt+MFi49O3=c{Qnhs*P`!|pnINm<(Dy}=ehe15%s{{w)chd|1ST@~}wj?NNGQ}KUl z0XWRY3@JTREeez*0M$#i&H;;+#oI3!IwcJbIKcA~XR}i^F*w>LP*Fx7-+p0-%m2s% z;Ee=%uEPC@UrgSttsNa-;~(`8`nTI!u(`Gx?5*EdiS@@~YW zi9ZCZ5T_xl%=1IB4`#l>f*&NBhKYaFgnAfEcw`eU{;-x9S_%$D1=a!K>GJZCOMwONuJR#J?c>$%5k z7)MNLvHd5Fp_QlWd5T!_4xDmas^V8v`2soz?@TKBPtV<5hOS-qP!x1pw3~mP*r!!V ztmqv@xh8g$J;2DDgLl8B?IuKsk1alvHifLM}A3(=rL6v#bu@eb8Xg zE9h4L)p{3v3_hj+TboihY^QtQXWMkrZLCeK8+Fr-tj(<(_3TC;9V-mwv~-sNG3hL# zW8)E!{gm5HQ^a+0*t;W45K~-IpeRz2pVZ`BO-kIDuA8|)j(>OtfLM#&6rniX2JX6`=&Jc@- z+HaOu+acinhcT;Aa^MY4$nfXDJCfGXE+hZ@$ckbb8k<5D$0f&Tdli4JqFo505jc`hsf65nL5Iv5FlIhI^rz*cng?>CpP)Kk@#yGVb)Su4_C z@Y5RQ@9^}R-TI@El;ymjM*vMpyt~bHJhyTPzmx~BRgH#^4|6Km=h;QQji<}abWFvJ zM;9N?iL4%Kn`4Yc_OO2>r#J_2*%8vvt-@P79S&v+LbnA{E^4V%BvMMGf>uk(sxv$6 zc3gT`SsKp;_o)B+`s33$#VcZNO_GfF>1d3tmPE|E0<96a4!9x!x0 zv7UYvOvsEj!NLbuk(Qh}kR9fcMB#3B#YLv;`kU06B=k9~8zp});zz2uHkO^(E-?uc z2(chN#QP;C6(O*Q7_1RT%2iG!!rvl_R^b}Socjdn0V~E)wYNIf3}ivyZZElBI4d;@ zz|nFc7TYU8YjPF7kIwk*oC~_Lt)@bhP|djkWsj(eW##nRKhwwo5y#oik6Z$NqJ+J4 ztJHRI1-;y(vqFCZt7S%!qqBjwM^+*LRR!DtQyE0E|^SiwLp)PYLN-v5^ZJea~H`Y0p)R|GFWifcUHo# zsBskYX=H!Rf4v3Pm&>0$pnvy?dI?pGr{ry+3li^5J=2thIClxP&|iVy(q<}^-%SKK z2kGhCg8IG~;|f$R!t=lu56g2~Z-44-9oSgBxE*uiA?A5GIlY_Z?^yy=SH&#=3-|Mr z;o5^O~>cqCyy9Se&O^cv-T zfHcUQeEZE4^6eumEM~Lk+l7dZIb=QToMsKq0xm>Czj;Ch20{Y5ZK)3E7|Y2(-#l^P zS-^z@AGA-@%)u=dZc0=Y9eT-G$HAa;8ah%?i-$ZsL21Ql>wH~cA=eyJ!&JVDc}AU2Ta}^V2((0ITU|U7e!8yM~!SEMlR}1!d%G|HziXVTf4Xr zyCgG6qlfU|o{j{fHDtI5(?v<%*-Y#}XYIGc!wKR{g_-1k^v@2|^8XheNY=msr4ywwNnPRWu~+D3l>^hqnJU3EMxpG)3#VT9eeXEAj58H@{Ff~N3-_|n?GaEijMP_bezAY zpIRZY#~9H+%BiGh9c-kHsR3)eW8FJTT*}T)bs4+O(YX`(r?3GPV=io=}aNwh?+3SbBN3wnQq>M^=B zk(V`A0{!7#w#8<#NXST$+hQ55FZWluEz*A6nFd&_HQeD*?18b_6^~Qi=Z;d|=Z+EI zZ+3IUaq87FUd4MmQ@eEHJi>6pgN<8C&<=+eRZrnlDD9;;)4VPSBagJ%KUtL zNUkbY%S`GN;N(yD!7@ztRN!c{zK(W$+)R0n!8I)ShR!NfHj#hLcC!e$x?Do1+|Gy0IZ@Gb0L@NUr zIK@>&3L>l!YRNIULEvUYQ4^TZ4=Yg-RsEEZbw3MBcPltT%P%%nL9Kf#riBg#^LS=T z^(mraPd76C$5@;WT>wxsV#@N-AaUDJcr6gU?$H`Ioiu+0nCf!`+f5R437`lanh2Gu zgeDf++J&-PE;Qazk4y!$rdIDP^Whf6GG5Xz4#MvIK)Ath{^S9{dNA88m*FC!cLH%SdgSn7$vw zinM>T@N9jZc_ZCclf$ZDbRTA{h1+ zV|tNF#7qlZmXK|maDvREG|fo<1ywojYNLOOR4ULDhBToHj6^#+w*~R*HxoZDChuU& zq)CkXRdiNkIRxzkB4N39nhkj{Hwu-@!tGmYr_pxALrC!8r@An`v=|e#W;LO)XHc(PKKxG z<-pQ-aUve>JZ*hma>wyPQx3pIrs*1~9Q)Kmz{L*FE5vEW@=PP71b#O$+S5aQOcC{y zi$3N9Q{ofS31?n`Lu!7QMREmVTc3X*iicuTqTY~2d@Jj9^5};r6$#5wnqyp~QSbw8 z5c+?MTldY@Z}){YTZXxm0oigqG%6aOp$YG zT2sdm*Uv;bPd9K!?mK=-gh$4*Ka;=`tCl3TtogL$F&qUmxf&5oMR121c9V{ zek%4cdg z%~5=#!skJ|^fIHtOPLTWp@ zR$3iIA5ad;bEWQ-2aMPMG~6TUf1CZ^-MLbYFVDmB!Gk{qFSK70(GF#CrRmT?M+n3S zsr{^;>msR{DIX2_$$fuIxOVB$6uC$y%7Q7%_@E+`6HtgHMQT(=q8?@cn-Xv*TLU*;;>d?#Vf#;+a8YfXanbhCe1Dh5$-%BH)>!Y;T0#EIUL z66EaNnMK{_>`LEalPga3^fbEJ+8JJfF86#)ZG!@-Epsa6$5BAVw`kQw@wu^zii#b5Gn zwONA-BG{wtHHpROroUv$7vtQ9c!d3-(u*EI(&8RS^5SH3M)M?+8Y#3lTe9M=?Fe}M z%N`&~W@|D~v6WHQo(7{tiL3BB2JwNnx$qq{vTkV`vgV$dPBgn(#~1=3jiDjgs*^)Z zZ9#wLM*B4@pXP@di3>?|m~YN_P~4?h#;3Ow3T@fSH-|k*mB40jo%v(|>aHx~_mSkT z=gffBz$8b>J0Q7B)*8`vQQO+0$2@h_Do$pouX;r=c(eI7tpm#H$g>^qC4(@l4^@7V z!cEmVA&fW!Ixjx-v~*bRX!Fv64a#4mIZS_%lC50u81RKK}uhE{J_e)Qat z+=Vo{<2Cn@6GGe_lvj^%2U6OJ`$3|k%n_J%hMdoG)jZ{SFZZ*8oii@GBHc#&ch3v$ zjO*Sqi5*wqQcS=IdT(`mV^wRamY<}Sqc)|$#^25_#;?D7`s)0f@$2(vukf$uFaCe_ z{rMOxPRS9CMYvq(mA79!{XZAy&&DrajYfqa-hNRJG1bK$i&It$GFiVS?7fyeNV!^d zAMZGlq!Zr(vd7!^o+K|B>?rT#qg8Z#sW&qA@MmbUUB@IqOTbDH?#Qyorf7FUa6gt} zNWcQ%+%g$pOtRS`HU}sQ8({NuYq%5VjmcH02 zlmAe!s2;OqAA9VfAC+UZrhs@Zf)ADFH=on!656oy6l)o4yFE+df>aYrksG@Gi#5i6ZFmEKVB2tdaOuC&=q`zoxgl<*llGO-UR2*zWI)sO;t>X*cW_#Rr%(} zA7J5L)`HiVp!qfCW>)yE!q+y+X5lj2RrOe`k+E0OM143B9bLNK4=R!5KE-Z9q_z}U z^J3E*iDcJIB6J)+*g(7tJCdO3YR@j~9!GF6DnhW;OECga-^A zFU$LVNI||%2{+V0t4x68+&)KbG|@iYvlZ1|$02|8X2Q+gZ9L|WChsb8WOCm1Xg0rc z8)7Df+|LU$Ql;3&zub9a*quuC>E(B+)Y2u`p0OelRB?BF{8)2cdVog7Y;Pko7#0N` z2U3#)P2L(qr20&_Y=M7Cyhw&hHB})aDT>Gr``&Hn0)?g6t7wU?N&M$HT3^Sz%^IDO zMxzUOa&8`EA&_%242K0f`p=lm(I3W?Ki;<6@8_yVb{NH)zLu>XU**}Pk6lf&wrQ9K z&|7N!ZqNp8iuH9pU0&_CvA1ID7~tgy{FOJ&MxzFIF8Eiw(eQs1zNZ+Z_u~*?WRX;9 znp*CjaI68gG@R@_jK7DPG)s21z=t`1>n69(pwZvD#jR&$iZ17E&AiL} zKYvR$n>9?#23vo!-Ok;TciE7iYkPe9>+D$B*(N*I|IXV(=A^d=taLuT+l_H|07aB* zjGF@}=k5i`PZc$e6e`ctX8p@-wEs4H?0?Gfkx!Nx8p>HbCsm80S5G0qtV%^;PJd*D z%mdbj!-qNTD1s;--RY$bjigUq*z-ocl(;*ugVgBLRP2BD&(uII9YnfgMyfZWDyw@d zZ@}%XyeTYUf3Pn`85ntFVa6i}8*cZ{gk?jaeg|Q}d#{4m<{FTvvpR*O`8D zl5L)lpRsTPr81@tPN?%(rnkHbHYa2`J%+a8o|>KZ?`=fbf8c=?Sar2GAr@57Wy!Q7 zn+oqi*9L!aH6nL^?X^engK2abuN}o9f`e(Olq$0&9M!N!5}SfLOUrXGOl*+A8&a-; zz$7RG9GaH7fU%@}u~c8$VvOF23-%R!AMMuBlHg;2eJba_@p$tSPUXK(4!BbLtdh<8 zX6u|)j9chk{{?z)Dji;C{e^Jsq<_Uh7RR6esYa_6r5B< z@Ob|r$H3cboR%!vhFBaQFf4zFDGR#>4WiyI4wn)zKNb@MCC^J{yLg);2n>h6yRjO^ zO5=Yf3iuqxY9crc-yDrpa4h(d zgGrRQ4n>uF6c;OS8QGuTu&TfE+5mQXIsXUl3sm?^F0fYu{^EmT4EWM56HqfR4&+2+ zlJZ5QjM;y15*>+Gr+@xWENJ9{XgSUasC0j){s9{~RV_y@p00R92+4}gCF`~%=00RI5^2f#l7{*wTY6N?{&Y#RG{QD-a zKzOs=`@PNfGOPmcFe~a&8VA}GPq~G4RyIs4lg-MZ3I%gkogleg&vXPUdWfMPn67#t zv5}@LFQhODCWOcODqe4P6Apjr(WDkP5o2seT?35NaGed2Hew=}9$}X4;s(l(W?q zR+Z5UIGeaMRNp5P+t2QQ&!g+$m#b)vJ~y0WoBPsv_h1Y!fFRiBiV1)659=DCc4B4r z;C=W^Q!YEt{>*(&OqLZp$67sj&Te0XaJ_1rKuJTYQ9|$CZnI-2w;h%KSgoRY9PT5m zHGxQATv;G?(F}u8FnyHC*QAz4QJrM;4KNOFaac+>I!k!Gun|J}2XQbm8P4UliIVk~ zd(KQHm2&WJ8mFW~Gh=^6h$>aV_=o2&etZ=?!9mIIs<@8ZFD7)}&dJm%H7CMg9o@ic zDGHO4B%HO0qLfv9FeMF#eh*S>gluZ z&&NNXzk2=r#~0%tp8h{SzB1n5?Z(5x);Leox}kk)o)Y~eh68`7rIhj7X?hf8n8bLh zvCbu%t;!$?9*>&OP zXm{GSw@z8y_R+uB zf}hP}u4Clon#|+&zUTSv3)J#?tDQPi~d%2cv(AasUr)SKH4lKV#Bl3|HDE z0AYLF;nnhF6%=6t{;f$NVc`w^vEZF?Xua6zBmfpjGlbE|SuJxUV=|XBNy`cN!>z}q z66jm5hyoutVH;0_31EFf>4i{O;yicm2V6?4f(P`M1pZ6PGa`AW6H33q^2}cQzENfs z34kE?P#Aw(O%)=+$W1QgBT)x{6F7`ROsfJSPinZP90f|q07obGyWk3klD;p-FpE{Z z47o63@Orb1L0T6P3vLP9Ep}S@_u%o9;OD9%RsZ?V!B2qeXJHa0Hg<3{vuF)N*_hwG2qzht zQhzg*;TL%Y6~WmWf61w(CD&Luqq}TsPn~}V5odq)mU>M&d>Ot<^&Y}(QYfrRHqm)BTT(tO zi9}K~|7D`k@aH$eP2U+@sA4CY`N}U<<*y$uH-Jo{Tf6}f*Gp%#!c#$JqPtLNARw># z;iG5de$F}rict#ZAb5`G*mN_!yrc|HLa~o93I>k4C-jd2aE+e4Se7xy$X*0;F1&x> z`8*Bc&}7q-wrYk8E?p?3mZeFb4OIy`}=JOvDUW zmC;-!5k(Ck0ZaZ=Zs0oy)*y0XA+7KhQ=r!GWhLl%6TraztqP%Bj{uL7n5&~o%BoN@ zrX>-~5X(MJ{=X>PO=$lMdqOtmbU}Z0)?`$5WWwWH_-09g`oOsB;l6@TtN07Psj5T| zIPH0iWq4o)6F7c$&*+PZb)2Z<)9GxPsk1k|}DMGTVZ%%%m1f+O#IA?aVGb3ch5H1RT{O>s*i+rR$Q#tJA^ay|8!fmt? z6K-nGU==$mZu5?OVpAQ~Lsdf&Er&TMQl<1l)lH4_aZ~-SoroJ$ACpcLE=WrGj@69d z=vT7|LKDwQfiy~!k{Xz^9fbUUxczq+szv#siQ-X@rtYJU7DyY)FOp``W@wmsd&I9j zU(@|TX2G|G95@TqP)U*m+%$h~rUKOpe^6G5=bLqlq6{i;Xp7M>>R~Og{+hn4nlC?Q z$959C2zi^>!!NzYOJGMpo^z8w~Im%g0V?&TQvORwf_{+o{o8k*x z0|U7Rj86n(C7^$4iB?7e5qaGa)BhS-)e)_3c&>VH&oMQos8D$?sf&3nH%U1cnUM__ zR8;W^p)aL?maK}Zq6VXQp1v>1%&qvq?9JAW6O>T8k$Ne{PWzUa3Clx}fy%XJwIk5IShD3oz2H7konY<=H@#h2PWOb&rRw331$SfiVDyMbGyOQ zS;;sgY~Zd@+&F(uOqVXtbXxT*mvG}eYPD_kIC8ZJq@@&<)G zXsc@PnC^5FEqGEHkqjox?acF13mLlg8(4v8w+@$;w_ivmDx>Vh7D5n8Z85fQF%|W6 z6qu_F*HMN0i@mOCVyW9;a7GFeX735-SiC@e`q3G_VXl8@JlH$gldyvtQphOycN)dd z+}bK*i$DK9QeuteeDd=s#RXm%0+nXJ+N~*-m+K5e^P4%GUj5{&2P>H^L^H5+O;roj z)U8j>P*g@wOlpTmCAHMe)(HuJ?%I1fC3UmY?3Er$rki{nb+gz1{d_zu9X07^PSH~5 z6(G#fKmUK4Rc6)P#WBejUc$6QIh10dt{Ph9w@<5{NoYxsb*duXq_r_uWcNnJY}BKa zlRKuJ>YUjh07Vti-82sN{XrP-NC?sB7$5xv*F@BTTCBom8oAeq3w2)5tT6H&?(|f& z@n)TsIwki%*R-2a8@RwIad{H%;XWPhuQv1Cxl(`FJ!%hRDp=thl-u)IXiB= zJX2X5J6{w2ABU7&#aq0@@v!Eb*}=&DT*R;J0{)p?X@ZyG4z?zoPWJ8UD>|6ZNTpyQ z&VL8b_V!3E&xB9jT43vxYdMv=s9X6`b*>ZT=!6+;O;J$keyP4OfUPG#@o}r3R9R0V z(71nFT_G?L8Jibcr?*d03ffV^Yq*cv+t9kLWLVs%T~>4jbzKn?^LWL>KYnqMBR~lPqhDRpN>BZxoE%))1!!PTH8g%D`n!5RrZUa= z2N&4EautdC2GONE#2+A*Xm(3!xPD~^7(!_cgHZOn%`N@)(YlsXVkYiX^-1mZYGfK~ ze^Y3WOZgpD(81qO-nEYUlMyR_ zsh3D|_866ir}qvjMCLl7IEieXy(9)=uMlJ|6WY9(s1o0MZ3q?9A=wQn8UcR>&S4T2l2#x?nt0-J2$8M2+=bY?4@@X2wDU6a& zm*&@KFn}e%gr}s%y^eOb;!uBpyBBT?hiQTd0oVKGEeBqtzymdK$E)ytq(fBLfRXC^ zOJ&c4PI=?ricwkDvZf@-sH(OHB?tOSHSqi8I5!xXP)JMnO1$pkWC9lw z*0E;qxCk)~vbp5h%tc`#t=h9xMpw%z5`B6m2RL6^-5!rjnGkL^yZ5%iVZ<(%NDv&t zprWSG?&gfFW*qM*?1g{XPOyP}akGo}G99exMwRZkYP3s^ydD^Wu|exzYKGTIV014w zJ3Awv%~We*f5<^^;K*@C&3Lx`F}?dOH93Pl<+XHqz`re*PlL63>48!733=4g<@8In zx~^{|(_|<{>NLAhT+Hnckd*3cr5wLF7dx4|mrLz-dkQ|J5Ve0))Kg$2>}T^HX;@T; z)K|6K0MRanx)x;cWYFD48)Q#k1eIxYyAh`>zQxnTX%ESC$OR`ma+}0{%t1EmFN&Ez zazKsjTJ^v3+`h(^sy%++P8wW=A=_`ZOM?;5pq0`@nWza!pA5%yLS@>W%9N zHNqkEZu}O6m0EwyX_wk!G)W0JGrn4unlK|~ppuZr$r?-%Jxn_-Y!erx(^|Y#(5Sz` zYB}M13}GYp0`4=MVwBsMbd=+a;6haa!ubP`--y3Huuk2YIv-VqbYNJ^xvLHS8>SeI zXO=?P<`!QC6Fi|%FZmYNuwjr3hO_&U%ReQae(aA zkL7xc59K;{VCWhYT`oxqrLX8RKZk=;xtUVWT0*uhO_dcg4YThl2y z&a+7rBcXAxDX(m?iK19*0$XDbiwB|r5Yf75f?|K4D5S;wnp3pP#_R3-@k*u8PAOVg zd(UTk-84)k;g+-SvEw{Zm%QsriBn1UW?Ng^uiLBq93&U2wLM<;s(~7FpL-iI}JT zfnk52TG%OMXw*Dh;>mq0VfA?vq-by$&{m?{t(!>_?fL4eiBXPMwlrC&4bJIia##fk zsva$>C!%spAaFDnuTz^uZ zM@x{lc9rS`RYM%EVndYo8YmEX6xqsBqAFX(l(&-eYuv~4qdOL+j-C#@Ad3xNX2^eb zO0IlpK^&Pc&!lJohnqwzDRc_7X=z;2^6w}ZMp zpyz9q&A}2&M7<(%x6<~)exh(bJadDKT@*Qhv`N{)wo#PQHIMrt2DP)u1CB6IX+&95%(8Zq`^NzqJ;E=;Y08POovDB_~T+jt|{h9WVIanwf9iJ&f&& z8g#4{3J9J}XjdI3Y$wKXCJKS*8}By)RA*FVqh57p315$NI7ZGI;bE=5=|e5u5O`mm2t6%*Aif?a57no zrEB6~g+f`2@e)iHWyGbd*b{#)_QE#Gh`gBBNXtveiw|q-b)M)%u_Rt$Ne5Fpq{XU7 zTrKJl&qmHYgz6uZ&kN3M@3@uJRU=r41?)fXDuL=>SRa5zil!Ncy5CKJS@7Yn@z2qA z;rqzlPoi#dz36d&$P05BlQ9x8t>+@#xb%?`a{lK_G0V+mfdrE^d2xR*zdrQ;8G_9# z#Z9t|RUf37(+lGrOkys?hYjUtAl|uLfJD3IfMUC~kO~HJi}5Ta9yt=1Umu_>g&A8K zo=v)zsfs%%cS{Q<-IkQ`$u|^uy-Wz6#WJ-7=89dSNcz$`7{4qjiD@re z-AV0Jq%-^EQ1=s-(@uX7&ty$zI{wcw8u7BPlfzCseB1H3q-6;&!+2c-Q8^|XqSCU( zYvQ46x#@*@+?+V9&&cJw=!sw^eCyHq`dUSmEJpC+4Lo>Papbdm6x66vJ79)`yLYQ- zPKzk26_13(wdO`6WJI>Q#Un4dLYE~HI!j^6gSOX8s$0((UGRS-O9~0X=ob~w7xnCC zXsw>leJ1Wt7ZznS#}q&w!6L?VH(w^M=uksVz6{jE6IF;RRi8vQTPP5M%#Z?3N4;Vb zi4M&)ZAj2ix*6A+g8N_hJ6@~_!WKQG=g#RhQ38Yt-`wT$_#(-8uc`%OcXGMBcj*I; zlnE32#2DiX#1Vf&f(RqZswlT;W`(9>kpav~WfpVF8UHw3b{DyJemyLBH(3LFnK%NU zYXn={XIHWA`48FW1lcEZownrT93C!ZItgK)gO@)rNh>FQ_q>UCprsP(De6DNRF;HT z^_KX_Au@hLESQiD*6NltPP65K@^C^EIC530QC$*}tPX#2%-Zl5;WAMjB$Ur5qzdk7 zfaF@@^s26D*C^uQ7NAgl0Lm7Ddhip-KdTUPuhv+ckYIfrZjv07ot5tn(U(9>QH&%x za=HPum{s;{GsVl;_l2%+#J_3#dHAJ7m^*!t-`QciM42UWdk<_JZg%ORsq2o-Ld4so zU|5I+dq{tb_#3xt`V#My;x>{Vmo1KF3BV@~I}kXU9)0gbnp%Tgh|&H^lxJf=k^tpu zWg_znBL(x?Q;#%Z^fdsn4G>8J219bXt;BWU0!S&soUFJNN#JN%3tac=Dvv2a1LDr2Zn=X&rxSAV#0-J3A-gpbJ-8L0k{M+uWcR z3Z3P!9TiJR1V2IObT)Yr-B>(JALqsKa{tc2iZ$~RMjpuWA_`=jtlx}2^R4EzrUT4mg(eM$?L!Ttd_ch&5 zdUAh>m7fq5P^s72iG(f)Jk_+0)5xW;1^<+yh*Zg5$w;HMw2O)ox$&rnwXfC{JoDkl zfH3R>CF@`L4Zrv;FyKgnCjr$D(xEVG#vCW5KBzf**n3ruYSZU&tzD5EiRTU{XCuw$ zW{3XcK&RKRpd)e;V!>H!h2DO_BQ$DTPTXdnl~k zMyW;YEECNBcF~HrrwZ;QhPXKFamI#0P-o#>l(!ZVi!8VEctJZ|q8`;EIDU}IG+Td@ zTx+V4%DPUTUAN{yhWm-Aq`$Q0;wr7-n`l`pT6A~-vjT}QL7VN~$xUjZ5)0KEL~0r{ z{VsrT;C=(2Z&q-qd39$OSBf<$3)xjDX-L9VWPJAc*=84CqB@*9Lpe_6ci*$`@ACFc zd7%_si0((O7v8P(BA(t!NKf{7Tq=K>bme}F#)~fi_b2z8E{|UTK8w!t?H9s9#N5Id zGxnC>NB?5Q-|qT0;OxvYDkWHT>VY+=R*?z+0JfBO)u-30rw?IahHaiEki0kP+pB%q(LkdRj59G*nWYEa1&z|DpDXvC}!*Iy)F(O^f{AK&GjKy zu98lNnhtUlt{!=pKlcS2fBYZ6ug7Vopu)eBSEdz7`&peZpW*d8F=|K;3d{JkiZ~I^ zA|pyW4!l;#18J-z8ZAswi!MXf%J)&6700uZAMc>49O3^ttapL9Y*^(d5f2G;bB#t{xl6Uth z%2CM}KO*n_)))XB-tG6i)b*M8aO3l?lqWb*k2&l;G!#^F>4vK;aAb=3rICqev9Toa z&0;aTLbWU$`XGBI99V8Hdt`#bBL_z98}d(Uis+i?)3G|Kr8WfK-hvlDUZ}gY*ic05 zG2;63y;8I7y!r$Cf2L)GVb}Hg9COQT1|9D2$~t!vZw#zcgqONm18)+X-Y1u;{K=m5Q!E|v=%OZ7 zvoc^@ja>>nB|2 zFqwX*eSe)Sf0sF(^jqb#5FN$XIw#pte`r(lXHGoioXle?aD)-ZIa!C`Ea##!)j*|{ z8DsU)XqRx|%*lT^-3RGgz!Hv0#91g|gR1U3(K392UmV z^-UJx3gaQs%YdtxDl>~N6)G*PRF->H>xdQ!FHG?w+Q%z)(Y%h6cuJDAB*%U;Ip1Ev zsCMB}rmV^VMe6xz-XjN+$5l_G}qlM@!NqVVGQA`Ps$W8fe2at35e>jk4>Fzs56y7uml0+b=rpOcqaFC(;t6`+6R;@b7#2O9+@Cb#?0+u-o@851t*sQs{KFQ zWmXgV(o!4XMfgAnnr;q21Vt*XV~aO082U$-7AG^>MF< zy2c8o#hTxOcq7`EgrjZ5#3WI_ypdcqQ-H_MX_>Wtn4JrE@8io~;Dj>X^??D6;gKZCC(wK#RW()2mn)@ufIaiU$Iz`$T2~l07U#DZ`^J;+A%ECojay zMhRk$V;uG@1WYO56nWZVwAq5<`^=e{lR(Csw%b9;nvd*!ToA9}^ad14aYjmN@{9po z_%xN615xIL_6|&oW=W7VM-==yJC>n(O@EbwUro>Qbyak`H!+sA!_HI6{UVyC#U!&Z z9Rffa>=psW79tJx*5#t{B#h zN(?CBPo()qmPY7r*rgQC-U>X`B|;B>7Lx)GfqhZ6p#{O;t$perTM zz))A=&Z3c2ir1I1R;eB{&UkJpwklpWMbT*BzF;)&AW7K65w16~uQ8-HN9yy8>@`mPa+98t;XZzaYzwP*Ow%M8$yvW0rttvT=FO3U*o3d8k!kq;b zi?q9Ff|KHIM^^&{8+1d&Z!-v)RN%eSh8qB2)Lc ze+niO4<>)d?W+)-I0PtWqGDSy#(7=&6MTWu4_5=?%ESdz29sk1w!cjGZ^-0w!&iK_=AlrQP z70~?_qYR??NFvJvN%N{Ggq<6c_wja%;j<`!Q(5s1yUMN!eG={)&VS2OyRwR<;t$j9 zI2w@{&jpc|7ML_{&7qn5YuhWq!i%MM6t~r&sYJcdv9X;J{v1p^p zg21A%Wm~tJ{}xDhw%=GsbwXqtueC7y@U-3$-rm+q9dyi8R7trQk~ z6z`pW0E;j?Yz_$=V)D7zWi3rbv1)3${MSO#W1F&%+}PQFxeRBZ({f@*N)n>+mtejr zW)kc9T`(lk{1+$i__9YQzQo+ce2$GwS9n!&fJ!dm>B@P}1>uT_C0<<0{ zV+QeAn21zhe}C)-L>yx%1UUHmanST1Bn(y4jK}NnlS}V~WLeI0k}F@>7ri$|BZf9+ zb=q|_OLAO%8iTt5h7~*te0V~!zXIT6kd+UMMLa_V@OTw|80R_@Hrs>Wuk;tz4~G}z zdBX$GalWzr2CS>A(N0GgZWT=aieh#&|2djX)Fs1G%6~COqG-emH_4X$9m@Qu+ZKZJm6qz?9<{FVz=Pu0Nt^_C z3#*2AYcUMrQ9!dts}1h)r{70wQ9t0He|7)-CfTb8Pb3N_90g{M2n8XiLYmX`%fHG? z;+5_zhJUTiP>ONQ6J!{sDaV-`V=cU|W8rupO}xB~r`!^$vl1$YR!)&ijI_Paaa*9Ox8^womiyHoHzxD&p6W$~@1Rtscsz9sNI zdzZ5=6}G>RF~JGdd4S=+{lZa0y#1nj(&~ASkAL|k9hcobf<%u*GW=ADBsolJoH>r@ zgMU*`cLfhCLvF?efd~Emsp5_XjZt}kzr5O@%|>}Y;1pyXFgivWLm!$Pv8UM@mJb6+ zb+TD3P(i-mY{qmP=k(BT-x)#Ea6V?G@R)?+oF0aq=08P{QsXQTrSzqiPxDDi{~ZS0 zoNuT#E^$sy3;STg_?^_v$0Yqo0!~8tj(-)Qj@g#Q8r{zp)d(7v?N!VL2@_MDl7GP+ zz1VDw-&^Y)-f?8E6_<^^gFkR*lK`igFMJOC7Mr}2mj*O|F`&CgL1Xyyf+|v~v}<4L zv`JmdLQR>uC>*UV5&zb-M6y#IDcSDzZdM@9!D_=mFCI!W7!D)Ra)gAJ{K-4Tp?{^^ zJ-5V*KfMkfJr*cf_FkUBz7a8&oS^9ou4oO>kx#96`>N%9RZ{fJ93d_)Kl?1* zhj$&k=akCO#4iy=K7d4o{)|b4x^PO2yu$k;yXczaN~(J4e?{shs1mbbho?=ni4*nA z@-E-s{o^}+d78{x%#n_+V_Fc%E~4^pVzvlN(^NS$iDgSsso=21rR-?7o_`TD-;9r* z8O;(iKR%_j-MUiF z3p?p`?m7v9J0=r;0{pz-Mt{)0)5XT=MzfkR8uJ;0Ih}PH7UF*2%K;8K=WbxdAks&p zkrAfS_l6(B4@Fl8bM?->Kge%I_Xi1tQ_1s`+La0=mbrfHH+!t9mh~NV?jJ#g^53e= zOx!8Uu<0*I@iD2|Hx{ZXtec4|=rn>6Q;Iz~@mZm3%BZ6^3j3HyUVr25CSg}@s)3wr zq)i5Lq*TN%U`+3f>2|piy-tCvvBWW*36{#^dJc#po(|k$PQQqyR5GNfX*}_&c&www zy^skp^2H1#&NRe93ZMq%zrUsQMo;)ew!0|2xcwaosc9^hba`{{ZQRv=Wx8r)`f3;V z)ogfgiT$EmA_BKAiGRES-Fu?-Olkh{tF(S!f2}M4)*Uie?Jr-L5K>*YUIjU6Pu@_A zEQ(6?7Dk({Bmu^RM6$~i1lnXklvTPyIeSm{YQ=vFwgk#3n5b?i#$li9iL+UOb_WMf zP)`6V-lf@#+{-cwM?A!niribYghkxc(&sWJ;TL-0?yqX8`+qBbSpNEI#G$N07T=}! zsob~HTQy&xCz8g0@g)m?JN;(mh*#wXT8^QdGGw<;VT2$Xz)6a+7Qd`Wi2V` zqm?J!yN~(!E`J4|hu}$vgBm;%y;NNcWx7wcA*Zpw+AQa`1wYS{X1 zd)Vn$*H%!Bhx9~Pgn<1Ca75%CO{Y;%*+_;%lpJsA)YIol{q%Ke{XQy~g6r33TTq2| zee{bjx4|?BTDu6cU^0T3jvg$>P1%KQp;_JxhzfhdZV6Y}qE7E54 zC8nWf@!9qa-7XL8t8QG$-&xfHyP8I} zSwBcoOo85otY?_uGMYp$mtniWwsQ1M?HKF4e6q5S#Jj8!Uz<)*Z1H_vd4!R+d=e$QF& z0m>FG?igx_+;AFSp5bkh$`0)#)Htau`y7uP1{1nxP3jcBAHyYnA54$|Hygx(>-9RE zD1YxnrBZ1(8Clhu6#_$!i42B{#WjPkf>yWppY2BQHR=!euhtO$YO6m6@CU$#e>Wz^ zchJwhoOCnv4%pyfptB(91T(<{z=^gcJ0x0p5&SQBiGJY?G$OyqT}qz~na2Ul{7pl5 z<1rcYoAjxt0i;}}@yox5`WeJSv31MG5if*d>#D#9j-G^-|NfF181xC z!fK{P18!iYkNGCzEi6+eb1=ojWH!lj+K7>MnRqktFW+ff*bhVWn3BqksZ=PA))DNDXm+^C6zg3zK^C&V!}kd*A3zWvNdoYJXS21ee3HME;7+R`Gm;pPN6!~!JEH3 z*De!BryHk~M~SUH@+j>cUkKGsv`oL|twSw`SD1QI#aHl*v{50d66_7z?=slcJiy;E zf1i<6pRc8Gn-u)Y-8EHh&u3Zxgt(5qkz)U~WI+;D#nt+8DlNaVnoo^HkfQf{V%9sc8pMc(?>(pEMUjFT=mg8>XoKG+^Tp0*0-CRal2J%b%tre zwfd(DJ!JX0j5uhGRxR&o{nJYjS`k5C!w|1?fet93Mo!j;OXsC9e>DiisfL^myho^ zNrIZVB_*eWadV=lTRDHoui#;DFbakuHdS~-Nln2ax(uW$m0YHbk*sZS6%APxNWt}< zXM!o-RO-3}ga`XhFRB$uN=+oeNp4{L7_z($bv1Ve#+aSF>DGcy>)iwdBakJO=Y%%p zV~rODw(^<#I(OhS7g^%aYEX4E%aU)>teDUraGqsI0{1 zu-~e*qH)4{X(}JgiN`MwadO2~V$e=BRvndhIa*;1nP zcV&u_%obBhV6KESI>z4XQoK}`&(*tRVEA-^Y3)iz=c1G`sFrIzNyV7(k;00U|AmND zs=?!q7RVsZ*m*DR`bSuXPBCyytFx`nnJ64%sJv^M1_ zN)lt_5|*Z{Sgajss>)W5TaD$ke(ZdK;5^AT3iOOZ+Qk9hPC6gcwV672C7q++e?lc-wjzJGAEuw8k_R*a}xl>{-&m z(`>aJ!47#Wh0dYZMYyX4O?YA~?RroxY{&;(-AD{u71Ot1eU&uNp7(j?81CR(NdO#lT=|5RDk@u`wvI*FUh*CI$v` z4;F@?*=%#ESf@uP&5SzA(-95MIS;4$uvhm?HqTxG9lN?)mN8O?qcTOX#p1Xm#zqT$ zwB%SXEU2fOFYJ#`uwUen(OtBMS;Iu0et*2zdE)qtziA*%;O(i`c~=YC?d)VLg;?e( znzUbcpKV54nXyisHMQt$pKg4pfuuZ9clooRIjKn=SD?{^GLOY`TUC@IP2H)HdhJVP z<*b=+O)bJV9Ow>FXZy*ze`}jk8N`>OY&xlsAkVVFo`Bb%qa7NQ_y&nOtOdp;P=C$h zkavEA<5}!sar1$HMt`hq&m$5`o=#>+=`Sv8%czt!}p- zJf$r}x+EmSU9dR(*MFr7E8~xd1%JBZKRw3pz1M@oU1-~#ZRV~(tQGx5i_lPWhxj$e zDZ7w9g+a+CxF62!w>@MSn9<8>t>d0@ck5emhED|*bSYCDu95bu-a7PIEE3mYL3pJ~ zaWA}eq?dU6nT`j)A-t?!=7{mT&|*{m=xlb<(I74{X0v7WYXRVJ$gXuwbP}UMzjb733e8*p z_c8nbzI-`7zEep}$W8v^@wDiFs;33k07>G@HBM{0iPw3>v76=7dl49((ueVEv)Sbs z*qfc!rvM#?lyc0|$yEjvmhrySy6cop$rS7w5>d27@~-QrYd%8s69Hpy4#fgQ0zL_Ca2n zb*tNfPSgQ1p2yeYJfDo7?UV7lcu5crj;FUUCANR1FGi#D)ilEJf@er)FY#F|5M`JM zd&xg`dsT5ecpii+@_+bO8O@cjxr*2D?`8mKiRWC-uoa*+8r=e@l*r<+TI=xP# z+wXK+-99{N3^PYz2Tq*e+_!wes|Cqbbp53UbFvpeYxCBF`yC6 zK;v&;jeq#@o1eb_>Gk-V=Rc2I#*eVs7q%2cX-n6 zbXtArpw((LT8%-Y*@yo@KTY^+*oJn)1~BbD^sPf(#LNXZ;@yEXtK0f5=Ba~0@BnJ8 z>0E?M+pj#cv41Kcvu9USCxN&0_`gUQDNeu;!Xh9bK)8f_Vzo-xNilkT=p~dWjlIg} z0oTCzTGjf)mmjRJ>cPc^lE7I-o&)TJECHwhP!~_9FBKHG*@+Tg>i~%!zf1~At{yy} zM-&lr6MZ??-Oe|`#6{?YqfR-H55>!1vfN{-0y+N4WPgE{2~1^n6A^?zRc?bP21IpI zGl6_q2ntwd1p7z#DxMpduYqcKaW)bVbpVov5be6b&D-=zp5US(-9%ntw+Hik$ezsRSKQL+MSXv z$Idx}o>gn9KpO@VMoe8*2TmKE6S0(Yyi;;OGZqHcnk|__d@F)3a_S1auYcB8;kNSI?Qb4l5d0c^s6huGKNp>F zOc-u+74d!h2Njj3B8{B?y$yG8)Z+SHq!_DW(S!iikTA||3t9P@UE=!YDkAF)vPOx? z`*v3su7Z?>P6Vw2+SY=jCh{7MWR$5na_#mWR;G2h9An-UIQ>$99`iE(iu+Sc zo530UZh^?%(IX96-F1ud?quY_TygMW<|7dg4ZF=INZPF_{5Eg*=ly0h>r5BZ!C)SBx_|w7 zC(HvLV;X&+%y>_hOA=tSIT#TA>*z8(hW-}eAB5+2zuD`yqHcFS?{{Xya50!qqv2xO z=?vS=Y1kTu!&YlJ9Cq4+4xqfz@ArqjS+f&Gt!dYTe*{cpORqrd*b=mO4O+(+p+&3E z%E45N*P#U@)eNH6QVr}YkhQgCxIfpTLv57MC|G!6hrr3rt=EZIHzS0OB>yai}p-4 zg(ahA7^L}75oY|HM^oXgC4bkt6j_o4UD+$A7m!ov=6bv@a$1cpNd{^FNa@GB+qm6V z-2UiD$k_n>l%iX@Iq00`LFKR}tpfE~%}|n>^q(GcPxrK`(rVS5-GxFYTvaUYr<|wc zR#Qkx0y|Ah$95d^I$Mf8B59y}k^@8^-A93V&VPqX>+$%F>TX-r?SH3j{;U$M^scY5 zdWVE-s%)n3gen_;>0Lai`i>p7Rn&)m>3jufk&;!RPZ8*Ymg zS3y>#i#$dHy!}EUI(-j9w4raUM-NGQ#~eW`+g#7lv)J6ppB{^tm7WoE5t);unI$c1 zrQy!U9Sd3r#+7JIni}o=pu*|WFqScAYWQw^Kl8&ul$xWbPnzg`3du+uUjE-0 ziD1|e!4Q5uL(dJZTW0s2toR(SB_=DGh0Aa!juE8=XU|=sl7FtWdM9bhYbwjkT_4s! z<~a)pOHkQrJrt+v!wAA;6kr%%!Lq}b;`CmLT{_h&zl;=s@| z*H|NVpO=}SQ$Bn@3v(PV@}k#IwOmVOjsx5*^J=G^nDS1;EJ!TSY@L!-!UCEUjkMK0 z)xfQQs;KP3+J9)B!Kp=a?J3y1X|j*ty2{g@59%i;8X8IS~caEsgyS^M~1r z#RKE#DL)SxJ5XGxos1T333-L4RXCR%uzb%BDWVKR!S?Yg;sHAWz+T3uF{$CPxq|Ab z7onEz38~rf;Vk1gbH<^r2Un4LzYA_QSPo&cg@#xdE4&GBIm%`iuHm$&EXd(|w5zQh z!#SV~Q-2V0irHzj+}vBuzY%0X5?=}%Og z3Vg#_A?velkyNHZB&yq#YbytkM|0A6TElyovwm^H3P9|`g#`B$bkTUM(eK0fZ@;71g_U0*Y%irp(Ff+`@N*6WqWb zVZF`ZJAjH2S8$l?zW5n>e;je5J@pqqz!);gBPTt++^$;5y& z=yymMqY+PzoU$&UC4gR_=qj#68Yzn3&BEDLWCwkVV+4tY=6Odwr+@ZT z%vBY+qSj3LsGo_H=nLmxBY6BI;EhHp6P~DsA_LKyWrp5`h_z>4q(TLrjq+ z&Pod9W0)ySj*ifZX_=8U04Ge&1{V@HuNVK<^bueA69cqX$(94~8m5O#i+_q*MqH-! z)q^jKTrZnP0hiyJ$*;%APslAE9&fixz6i=vSX0Cs65bzooWVrCb$g>hr3fG$JLRk% z5*1=1w~b8B$^PL_W>a>i6vD@|6$<1iGorwvdGVN2Ln}LjuTxXV(ul0JyE6IV1IElBQoA(&d6SFwq(%5a!#1=M{0#`wL_^jCZi{U=IOC0 zo{+_*!>mV@>I-Op>(`oeE{l>7{ZT6bIl!&i6JBC?u z4^HN11264@f~zkahk3V+;w(FMnF5~iqEZ=+;-u)pLa4HmXsJ;?Ab&pMO>1Q{VL~J& z5v1Wf%xm5Bv_>OF{ueF(7p>ecj`C)kEvui8HtK{juYlZ^k<_)Mie$R{E7dYtV%bUx zAi^=7QPyovAmxHm`Ou;dfO!)qDhU2x^mS@Duy~m-{^ZG)q`>nS=h1FVvZ#T6mVuLt zXnP@3@O-%T4e?2ksei4Izx?Sj=TO1N%tGm3y^P=4H5lM*JMVr#z!#)YX zU60sW57Up{WO0cF(ZKGs?=1Y9{$+6#u2Y?7P>Np0r++u*bh(+m52l=bmbXNf zS{9hRSJm`f-U2Z%m(iR9^vzCs;M=Ea;xdIINbh`9bDu0G%LCFp{43uS?DTJW1VcyI z`~$0~Qk(Yge%^r1A1T}w(%|2120#CBA`eJO6XEg(D+wL|Nw(SwBAd=X)UrA?ai$h+CiVRNI{*NC$ z3VNNC&kh{|EZ05`Tm>WCwDXdOW?`onia^%o4ret7W`F8Q?qGeQM0$^Pg;ZFjE`(Nx z!DIU`N-s)D*?e_8WHk$vTh?-l%81Q8uQ6SZPvxOL)8zBN-@GeIY4OR0AKzS{ggzR< zvgD-#DDP&VfQ8BUI-0@3><8IzmseF=Bb1`gYp?a6hL5}IpBKz{^{dGaO3MZ%-O{K;R#gD zWfyrH?{|1-#!!Mhcca0ubE@Iw+udgM2tYr2@qgqAaboFGk{IRKlN$X~^Qyo$=hEvr z5SyLyWW^8(&4;|IFU>~l1hTi%nB)^fv(avz>N=)D7EQj{=(g{aHbzleG4S5tROdni zyxC~5eL1%()}V8z6gw&CW0ZeUHI(bi*tk=^pyIvQY&E;(H;fPQNAc6@H14of;=&be zcYjZ)B+W3@8CDFp*F818kUkrW0r!We?nUAkA40qo8#D*wit5j z#ByQ|c8fuGd#8dfIz*eD{>eySc;v&cQaz%d8U>V6J)E4bx{dbThHfBpM^?{yUA0cE zCg+<~-ahZb^4^7$or_i>%wqUmI~AP#mUZt)_VWj{L=RS* z`SI*$Sdd}#>-j%w!H>K7NAb>3@2Ex%j1xsh_f@W0=b`cpC9!p!TpbpRC8|;J*?&I{ z@$5aGqz{!!;L$}buq*yQ0M&8p6IPyUEB&AM)CzL`uW=)PheEY|pKN<-wd z_dpR2ToOJiCXKp=Dz63NU`I9K9tUqaEvgFl&}||%RGy5kt)f#RV6%^&q5k;|mipL3 zr}QN;MmX@0emklTn=sDI>g1+0%Kg;r;Fm`B&18@^;%@Rnz%wH+0EcE*p8 zU)BVc-P~^PLxF0ULV$*OkG8vLM*jbpfj7K{nWE3Q?sW3G zkVyKS&yK@CzcDkcy#2zSJw|6wBg*229F5e|*1Sz3VzUlB=7ME-y4@}@M1S52%s@AI zG*F3I!rl0Gg{}}Cm;{T!jP_#A;57Q%EeuduHhfER&KrH?U#;CiIXvstQY%#p+Udob z;yQ8SrSLas`IWnqtqR_-L@i2Q-FxR<89^O@dh}B*IA32ssr(yjXRVM7j>htp_CJ4J%ZW83r#q0oUb2pk-!4YwO3^gpwQCyI9Sl~ zXBE}v4``awPTz$xf^fNk)u*V5n9`xmqYpI$?_Zj3;>vGvEdbhygRe`_Pq!8fj?qtC zKtPmX`o9?!0e*fTLi*f`PK7wdwZ{80whCp@^4HY`vGUu8-_pXylz$QQAthkMw!asN z6Ml*cYr(XLl2q4^3V9JmcKmwk;^uLN&%+A-Y0GMsk9T>gCH%zIiu0Ds+WB`}v)p}n z=VgnsM?1%+qb)t0%?_)>k_0ZUDI^6xcJ|^>>PJlHD7AkBVLeV6B4>RsbZpZyTA*=~ zGB&dNCFk=rL78Ze$A2J8nh%LRG-x$4EWk=-lCd7MnVIR!nxc+_OsKXpJBLEIn{_?- zmMXb&=NMK>?Q}qocwgVBlqDw5E)1wV1viO=)5IIL^5oF4?WcLS)dCv*hQx`|&si|F ziMLrtnM*aMe#_>)E6%nLtS=VfhRBc9jlMHcrjVkvU8m6Q_|r>2zj%+SS{l z*_!cRwHvXbYk$rctUCWy(Iot}%Vr6gDldq9hZ)e1UDtK+HGY$Of-1^L1zD?+rU*+s zFxTgaA8p|9 znJ(ZrxzeSzGZsleqmqOGEgdS*(@x7%I%%+-tllOFmVdERnNpAO5&Y=i9-Ce(1-!#A zOJ^2(eXGv!fBm)Yde?e=tJZpbYu37(x7O?1vTMD*z1Ou)CuJ?O*uQq?7PFu<5aefZ1NQTK)1oO3?nW@dkOe)w-ou8v}HE*+LzjTJ?D@pdQ zB*idjihmXPL1IOOb_mI>5h==lcqghfbRhp4{wxaB3*LC|?DA!fJK~EhDIqkzq{uPh zrz0E64|!0a>lg2oVzZSCD;3=LvDkR{+3^@Nvg|j9*;O>J2QN1Jcqa8L+KLtcyE(AmaY%jG*EZ7`y}_a40BiJ(D02gcCHwU8C!Kn&|PSD;=Qz7nR#r7_)>-sm_6M}Ndq zB=5P~X(2Do5?~L!@P^qvFnM?;Jc)_yJWMvu?xDOjMwt)8I_BuLqEOI6N!Rhomx-pb z%xBZO64#XuPD_u$L``nue&+C1oeN0Y{6{1GYsE!UH5EuA$oSLokWu_`<(0Gi7(gKd z|4aN);}J>$d88JoUnwfATFd|V?SB_fX-PP7^`6b6f)1&ig6V5#Gb-b7NfuL$$okta zazOhc);u9_j<>~VmM?IDYevjrSjZ3n&t_T7L`PXpv9fi6v1D%!XYNjZ-j|G;X&Z!rD^6?i zGChDx;Sg_#a5EghwXoYDGcJ+D0RHL2-yN({jU}pkc!{J^)=j!rwuUu^gf*;DlhLsl z#{gd<6wJ!YWvrVG_*W0_pgo3;y$-wdVbJMv8S4REQ1OP^7;diFWrH>Xi|-B=%Ircf#2I*s~3FH!-2JE zBFzSU2EX-N{13fsaD{I~58@1=G_k~YA3(MTQt}(?cq2ZrY_~m;CKdV~FqV2lnN_cC zDu4Hyg6cM5i9c1B34fsgWs@mS1`S>sT1+lmKClXvw`J5r^A8m$Z%R>eyD+)>XULP& zL&P5{PTu8pL{xNSF8ZG~uS-X$0O<`W1OMqNnrt(b&_9BYp4|y90wN4on7SlW(>>lXNImKw+&xIcNPpAAfu`M#P#@7e(I*p5 zL#?j-tH;~Nq6NZrt0CJ=2-N(mEA)!Q%j-sqS(N$Yh5DuQ`s_A-Hd4m8WNyi&6IG_-WD4iXd&us$ z_zv$K8MHcKP=7kc<~{~SR}@7j_c%zyZwg15WkUG#SMw--9T?*9mLJCXD3zK=1t6YEU7&!a3wJI=Xw zhvQ69jr#pQ*t#dwFUzHD!c5ChC3t$C_;nhi|9t0chJW$@tDL!RB;y~a#~-K1DW}JY zWc|lU^2bSXIMHpEREQ@Cxs^obZYgq;!|D z8Fz8wh<}aD*vGpFy=o~x)70~^9VMWi$M#3DJw7o-h4%0lOsA}C}lC=x0xie z<=5A35!Z}|ZJFKiyP`Plu@8jvt00MdU^EpyJc597gd|Q!K5;C^@yTj&#OX=3Ji+0~ zok{w`T4`^mBl9iDA&`%XJOq5+`Ieqiey)Oo)ql;K)4#@)?3@VxNfez+YCgx>+~?em zPfcfJ@J`6YG0&P5cj#A(XtkmNNt>u%+Q9-F4K8AHBU&!f`EXp=SdBV|G~4Z7`FubwRMbKr@=7(e`zH{h7cR4u*?$r? z|2S_!`=_L9%-}np0tc;T`J6^BT;Wwmz@Ly~lYP%t;RoJ_Ma6#y?Gwn4;T|QsL8o6H z6$~?yLh9ogR#KNj<*~*Q=p;^wHJv-Bttu#+w<}EFde^-ZgY~14O=JV{ZoBy zchMcYYc|`x^2js1c3jNko6UZ+{C_$FInHyF7Y|M;o1J2Tg`Bq4>Yk7#Ee$zd7s4Le znc{LYcio{TwEAnmnQfM5vv@Z<#PFEJmE-}sQYKWcO-9SW)Yy+F2NSUBJu-wT!vs+iQCF+i0)BkgE{(o%z^qX&9 zoxgrP{{H;M-!8tZ1>gMm!}#_2%klWxk1sA>J$-heTl@?%?+;J^WBl#&^Y6bI|NQj( zpUy3?`&~HOYhFDXJ(EYz@X7PJG~~gWT=-PThxHQ?rWwFsS#Am2Y8lUHXTeyhoq1FX zo?ma@|4<8F(xZQeMl}$aUVkFxs4=03GtKjx2nc{PrPNqJ*LzrD~+|bM7X2Tx$wSc$ognVnTGb9 z#p_wP3_)gJ#2=v9G)$s#LXXC)!xEiv(IXm}u)UuZx;{reS$ykb2U#cx9yv29`d1k zlvYkfBL8B$Bun6qgnu6i!JvaU@pGRe_){!HPH*kzSVD{((`VrtLzI9gqrdrnBe4Kh z2mq7f9IG>iYYD)T+*64Z`6gZjzsw^mYZdQ^;61UAXg{lS#t`ff!*4kzier*y5%i#{ zKO)ebE+>vLf6CcfFsbe!hFa2Yi$p9Wlvk>CXpYLwOdW}|r++si=gTB`GqJhG%@wOTMelgkkY<-Lea z-c?m*7Wj6j$mGW@o>8OG8Wy@zoiOTQu~LJR8Su#GE}GLqgF!a~e`I6nNiO=yrgob# z+&qvXdsL1H1AqQ5LzIyN%xgvwCy2_*ZSW+h>@Y~C8a$xHDDXvc6K;_RIbJRUR*Bn0 z;}wcH1gMW5JAg2tkozQpuDejU%n??uMvW9~HjWClWckW%6}IfH4mSzTZaqOkHipa& z&mLj$?!(Apakb!fqzCZPDd6Ly;%_j0&?;VI0N+)_v48Es?U{whSaKUg!E$p0uPbUE zRg6G9Y`6GKtw9xoHp1oN?H7t#iECOxlF#c_1_TGW4_a7rRzY_fJ#pKp-s%pkaxf;< ziF9t4w_hm0Ff(?!XzHC* z4CS)~tNKtNncbO0i3{5@{iXRA2hF+1n17@|Lx0X7C!G0oLAB{&(*wi%U=5%~ka^sQ z5(g7-2*n8{5lS}818Ff;kS@uKrdN!CrMP3BkB%Ew{5XnfS2FHbc3>EcCw<;70C6#%|gAatW9O_@iUSNcDE9&x0&JzO@lpP1+pc*AWlx$GXf+upPvRK+Ob$teTQ z?Kpw%cjRXFfgE}8AA;!A7=znPMYr|Tw0~xMB_XO}-&~x_SNifAxR=*L5ms#unSJh$ zS_O>^CWHEia-XMvemnIur`Le8zo_{FYX1gI4{xR8RZx**VRp5Fn{Mh*;0;l|+n7@` zNd5hvp9AP`b>GjY_GII(@aI!{^0j~a_A_*q*E+YeQ@ToRt=wj2Ym!>!#GbtGe1GGA zK>zt25K)lPS>rtZ~ya&SV1zn``qd*jvA^66=q}RR7^0O-3)4 zJBA!e@o&Du4JZgJq;%D%0|d!zfrAz5As|9kXmrKPGsYdP;yon>k)M36WZ?>>*-XyQ zgUm1X_>azsrm%~zLo_BSgYSM9MStVnX0x}x!&$(8JhRYE=FxV!xs7(tMvPaO1_C71 zqc=x)_+}=oD;15 z3x`|6HGdWH8F^bSH;OaV)1LkrHvZUtRL4i2NHhC5eH;|(*HhU#-lRLMYgK18Bi32( z-lg2!3+)D`sXKIiiJa7-2fRg5dLQ&-BCV9%4yMa+_I|qgKsV`ydsSh1J)vtJs_Hgt zbNi_WmDf>3J}Q{xYq`0prhhKWX^}3YDzA7{?Y2)u#ln2GO0#hBVlQ4yrwSsG)m7DF zh~W#EeFGuI=#n!&+P6fl2f?z(u6V4|oNeA?nkvb4c7qp~ZM50K<@zS1JjX$_p6zb8 z7@Z=XmYhI2f`73x>yS7@gbr^>LAQg$;To3&MoJ@4mpGN`#u;kGnSaopE^9E#O)%e( zjR2MDx>g1l1zesxM+f+v@Knv^mv|`TbtrChpomK-7NkymO zk9DB4Q^7bqDi_pUxo51UMl9@N#p$@9ixk)@-#>3q@4QBWpT{$*9n4ou)|y8$A!rD5 zo-qbxk>EbatAo>~m4A*`5pEBFv{=AH#ygPC?bOd&6hBvlYh7w1mg;&lq1f(YR*gu z2M#1gHYt^LrgYSY!F-rksf28}Br?eqJ{QZF>TXn6!G04M&8mapT+CV6b`>%f8%*8E zi`59OUysEwvv%abZ%4+T0&{q9#2lVt%#JF9TX@Z2bke47V~4-IpbWj+N*6>4d-J%3oCJK!Uup2pp0H#ZyYcEu! zDW7wcohT}JhAo7%?%B{V$3&dFGo_?9-lZP>dX4+f>Dbon>rQ1Vx$b?HhW7P6+O(N& z`ltN1XPL(NZGFd8`JTL=Q>38A6=42v&=jpBNZpHgE`LW6tOKw!kWatdb4FC)TdQz= zpxmi5vsfn0y=AD?UrZxM)*~hC1n78Dqpt0ou10=TQaEKLBzq+HhaVqMTVLdgA16w} zWZgQs;cG(3b9qaVB54Fe;n8V$z}geby20LEB8$HizDwYfh@EeY&wZpbOfQ zr_6EFUVoD;dQG(DSs=!En`pwi0xU~z^=^lF@*o#7BL%*KaSYtdiK z=JQ3^o<;3wuxQL?gJ{s2_ou@SJnwfJA-s$F{ly^aguQkY_6K3BJ?ykw^I15x*ySz4 zYjpa}UbjDwTGL*u*$d}UZ`N(}=B>eEI%~D2;eTK{h~~rYY|w9p^WmZ$wTFXFG;GX= z{Z>0vQMxwPM0<3?q#DC!vpXC1qG7Mqh8ZrRd9Mrq?e?3)POsH(wtLgTywMJ4{Z4P# zYz+I2{-PUoI?Z8Y)){m%lbUsg{eHXM7=+C>p`^cP%sYz!dO(H0M$~Ke+S5jB)(tz2 z!L+v+_PT$AZg1KPI{>!Pnm79Gd3WlW)c)i-HRkR4pgE1EjmB`$Z%5O96FP78XNyjM z)@!!r-F|lvEgFM1jBF086b+|6KyG8&3j0o4ESeKwqt~CeTJsi+e-Skoop9c1&8Ne8 zcM!IF;bPt#4q)A**03?0H({xJ@Grn*IPW!w?a+TSC(-7eFsbHr-kVLE?Wi%G4Q9Ql zF>3;W06ORW#V~4wooR0d3l+6sbnqKIY0WxOZ!rjARPQLnogHm1FKXAsVMgWh5`TrAq*usa9b!SouP7Ch^8+UDK_Z}T?IVTZD{DD*=)7i zongD#=`VWyLATrNOq;XjusfZ$`(dj)7%qQWt+3Y}_U7%z6jpKC>~t6N*>DyP7R{)Z zh07@Ix2My^Vh$jq`3$&T)NVwLc@zTf7QG&9fp)h)YxEZLPB>^aT7zzD*qIK2Tg=+i zXqZlJ@zMI*{@v1hXEA8AH5-Ndf^YWzPb@Wh_8WUw+8Nw&fRe@5z%cqa5P{=6bknhSFr)WsIR#&kv zv@K|5CwF9gB$+uRwg{WE-f%GJ4(5wyI2<Wm!d4}s)FDs^5HGe8$9x7kv^b})bY4l6bZzW^?tA0k}^X<>?vms#(Dbt0&MUBOw#6_>Nu z|Dx`xQ!dCuS3RZFmMR3B1$!N#cM$6rNJCFPx29Z(w^!{aTy^>QD!iRWT7t8-g6r;@ zx~^Ma+4FGDKmlntJ*;nb;TGp^IT69!t(*7$|ytABuz;3H^dMqYECZHrjl$--x_3n)M!*YogPIft<2g6}`&=guQRxy9aVE39Q z1O}^NFE^LteR!Dzu`?(ilb%9^B7E$CO8pdVsa~&pI@M%5$^m~q7@SV+DXRz0BA;OT z&CcmPgxjr}0$a)OZjb}N-9DWlmo4OD%jQ^OgNnxAYn2a(HKm!y%r0|6r~8fal5|fX$i2hk3qof>ac#Fq(jw} zL3dI z|MA86;?+4kJAeMS?=ETq0vZ4C8fJ6;;+ykV8P$KN1^eQcAIC3${AJwhq;R{6cJG%F z`C*SnnTy&OcZF_=EC8$ijnZskH2S`EvH8CF1OKVgMksm)I#9p9-fq^q0o=)>akN+f zJ;8cCgPpv`$nn>+%{H26az|KsBFKHHI5EVp%!p|+lBO*EWZZ^n?0~F4>I@R-9)mkB zy%m4$JQ?9M+3cp{crEY76!(Y7N@#MDz2OuPcESf=k_nIFtI7p&@#8l?j)Gl;(E_^E zZM-lW)Y*e(TW&=S(dwA|PGgKDBYn%yrYNInz#JflpA698El&Y~pddQpbmit6V<|BBM z5EGOFk!oKmD3%|rN+$v6M2B3~a<5<%OA44>5Y$B5K@_PUQnko@)%qeHL8eLK=nvtf7{mUdUyEUl5 zF|R%C)aIkei|=@t7l58BccKnB0#gg7hrP;Z@{dEjldx`@{Dy*4WJkhBHzAgf2P7=z zfZTszH`LkkFefV!_YeltErc@i&Zmn?Cyq~myewF)Uyr$yVSkRt| z*+=1ZBvgYdPum$m{e3g#G4lujhnVqqXCwI+oXh4tv@wAK;TBqA^pm1EKMrUiXiAv( zUCqfIK6hefC?(0K0DnFUN!T&iQ!4=+X0vK+%Q#q3<+nd;nN$OZZ(yfKinAXM`EVsV>c)$-L$Rrj`=W2&yCR*+GwrUqOvXXxlMfSK%8V-jdqX43N<@PG}xby|Z zJL&9faih~by;l{#Zm|gM`F4DzXYf;#QWvTDZIC)6v639<~c-EEX8@C73Ul(NveZKqECIKb@NZ2Si8@; z%$k3VhaOXC(wX9E%Zdk#e1&`C87pe>Vu>mSJPDeZnk-;%JgbRuGy{o+PB-;UlhRZM z6LN&Yd4-9X&5*rLjL^)EQNa4uM%9xDehnlat3iOMkQ|LfBluXSZY#}dos=oox|LL% z=MbDYkW_Zz4gOcNzBy{GqHPYxJL2Xnz}|mpFvZlKV|c7+Gf2@6P|N`p<(egYu3fOm zWruloltScZ=YMp+qa`XZmMEI2`O{`{SRakXi$^YeR_8w+S_n(tP>G(B%aI;h%>YrX z(2Qg>0+)GBTU6-X;-)u zE1Tl%jw>ndZUQc@y@11ZRA&6PyKu4hh;g z7_)3X*n^IZhvIQGn>{sny~?Jo&S+p`pw-A?00#JVKxjzOo(ERSfXS9dV@ZDyV=Fot z#B)lUOb%FU(d)71F$s9%2eR?i{S{h+To6<+C3O_7@cKfs5&A34!`(baLk_fHb-W8> zvrDQeQw9%})w3XqwIn*9PY+ui_`g+F*{1rH%~rT>pm>Y;~?`Gg`pSo=sDX4_u1lyXTT)BZ^o>|L#L#7IipFPlGfmA!G&*pwZJ-yFU)A)uE~Eg#Y4UrDPIjZ zb~4(HRG+Bq(0|xxtXc>DO08i^Sn-1N+5*EsBTaVEHErqn?K)h=von^x0_AwAG+&&m zh`JFC*N-X(81JD;j8^9LM3FgsH=*X7{+eAsB0wH0)^-tYbIM!Ht+7dbx!&w3zrM0M z;_ZkpXPgnK`h;O$}&&*TUshoW?tQ)y4f^!|TiRH$9}S8n(-v=cu3 zLJ5QRrgTKTlKT=dkF^Y_C%lGKD4~qSH{)wz`OvH)A1LKlHTcSMID42w0V$s_zWv14 zsRd{1sQ5U7;lj2I;EdVMi{!wQR+ka*lWeWe9AYcGW9W?VGxj34C+GJ0rtvVSyg+fR zffWMUx_YwHQcQp6ra-!SJ3H*qD6Ac!5S)Qg2474F3_TA17kq6=X%6@|)a;$67gwMI zrXye;!(7tI8ss``P3E1)ZL8w+2bbt@nM8I;(#)7LQ+7HOw54mjYbua&+im~!Sjkoy zOx?pAK6(!`23++8Sm#F@xMA0%E7Q($h?O>6D*84t$vJ=VIMr4iw}?io*g2OYwtCM- z@T=DqhFnVnCImVWsb~t|+>z^jyo=HwST1E$R|^27yDpT5TyV$6V^>hN=2=U1?hkw~ z4Ab~;yEKO_9+$qhmXt#_Y#uOIRJNze2snA=$_+Dj#WMZ+7tI&>;;t1YQXNkZ=xT!t zW%fQ+H|Ku})U}{f3%a$SR}1>JU{DK&HHt*0n#j1H`p-~fBHL++iv}-}T z7Q%scEoj%WlSsATgBEp;5>wCnV(PCD>G2R`V+2VMA}3m<=U;e#$t3O+!;;VuB~Lc1=s>p{C7 zwCh2;9<=L0yB^LS+V!Aa58CyhUEfYf)Q1oH@IfCw=)(tn_@IyYf)D!eK_5OC0N??% z8$i1Ov>QOX0kj)Hy8$8=+6|!H5ZVo)-4NOh+g2w-_yAKC4B>+zd@#hNptZooXi$Y} zT#kPRu1BMz3RX98NgB8&4P2B4e!)FHwZQ_bH+cu_}xVX(Wkqv%|>)XTyZsH0zafzF_#!X!0Ca!W5 zm$`}S-0Tpg;TO2nOH*vw6xZ+J*@@AK)6hFmPZ{o5yaowA+ z@cg~aqa^df{KdTPe%BdvDPqKO3bxDgBazUp?bsq_LF*pFq5 z_5ff$;~foH@cwn+z29+| zc{LDMjcvQU+=st_M!xyjkAc=8>i37k{;)Y+G^*_?pW%<2z;j>BltYV@alILsRDDdtTZ_S^kgv%i=w zqG`L|oi*pfUN@R8!a;Y|k2-&g20Wkk=gnT(Y2=RGri-kcc|0`P<#DHQF%U7F&0=w| zPPgZvl#hba?lYDnOV!Kl^nCn0sW+T<8|`*))?5H1TFj?|u+g3myWMcmj5>qvq8q|i z>@FJ9L8I60_1klJ+~`N$LBBs}wmnk*4x{<~yE?DJ*8E-d5zywz#-+P&eRk8Gpg95$xFGI|jR{f%yKF>A~kVGr&Gy(Qj-f=(xO+<* zk-lGu=e4o2j7ERT&eC}zGax&lzJ~ad0BHV|| z{9Ib?VfmbN(QXF|kqfHRFP{zN2DWoPq;9u-Mx1!P*c5-H3OgZp5)jE0s30F$|AhQ~ z^JsdwEC4kq4+^EDf>8}l$g`x0VZ7MvfJpOFL!FSFOcO;h$Y!s6J~%}j#SmMA@=2N$ zkrYGhoRHPaB9>yH-4k*IX`(3x**jsQY2qmcIcSt$o}<8q?ecg;U>g|YG8$uU*lk`e z#8#_Qez|`Q&>Ua`I~UeJBUciP5OdAsq)UPW1zoq7(RH*;_%KnSME}ogbe+D8b|di* zxm<3h;WBvr{QL747vur`{rS)5-;aXBKn&;7;@hVePruJJXqpD+uU`H5D$}548vOF~ z)r-vgwt4^j#kW6Z-gnIVpU+?Y^~cxenI>J+MOoN_jfbQN|2wZ0zuyJ;F z7QBQ7Bh(?Ltl+-NdJ{0+23U@?ij6JDHO(6x*9H*&M*#?Ak6t{{0#urdVxwB{=A9Pj z1fph*Me|x#CfX zY5sqifq0DQ$U&_P*+~a9q94R5$~(Frp414E>qx1Ddo$A1hOY%QbQ(h*q2Bu#Qaq(# z3@M7ezah9>t6&5v8o$30xO}l-1lcWde}l*{--2-B=PL_XDH~?GuvadH(6L*A>+2o{2Z{t0Cw&681 zo<{+PBPR9W`Cf9X>?Dr|`?n|1jcq$dAmX)hSmVp!*B~o?nOWJ0q0Co=nv8}b3nCX` zW+@EX_?eA6xi_Z}NPeEyVse+6(Y{EnBo*V0mmHoiPS1FOUt!V&l?DO>77mzZ1$BQk zyIb*sR^{5hj)4Hdn>-lPk;V_3j#_BdlulRpsEz}NDkZWW=96Z zGt`}7l7}-+MZ#m_@CZs@vDqRFR7a9a_9A!zvSmPUb@m6=kx|VDT;uS)q*s99?J2_& zC*z=eGus%QtXJVy$`K0TNd^eon6Q5*q+3;D0IRno;{HvZP)Yn>5$Bp&MXSy3mOQOx zEl4sRui|8e`?l&+XPK3|7b0P#snG6xvdJn|hMiAUtYB#b!hbwV#`9>llyI1we9Oa5 z`5P93CP(HmrH8~2NFcMEyUegz9Em-AsYN{x`eqz#wqSFvL^gL9dCVvzCJhKNumc?7`Eg?DBVDBDg`!5sD zdYYNp-e6&l6NWITjQFfq8%poeE*CE;&`Ysyt81E zOh&}PbEZu>Ul_Wca2n@M7q3{lkmO>)KMtEcMS9Ftx-Z!TO4U$|#TtKBqz}cU$-wZC z+Uo&xKbQwN#alpyvGSquYg#7WIOrhm%@f>#aKI@%+m@G%7H@3s~WA^a4{9#sABT zWLa)B(LD|@z=Qv=!fb!zg>E7~%uj+wI`Y9ggfXEB;HtN-RkseJL*=&$^3a-8b;4+) z%V>w@&FXKyLX~3POF$f=^l2bxNj5q?js0P}%rSE z44J(B!ruqm=k%Z=T|~s<&gEAt-OD< zES}H>L{?8P2GN>f(4TZ3t6?y=a8KwkJ#LfoQYSd2JXgoZNXgCAO!@5LWWuTr;(Z>n z2%Zzt8hmRwEU4pj1)xptj0;)=-=wVhtdKnPj6Ui3wugUu^srXvv^6~L=)dv7{d7II zs1Uf!YbDmc{h}s?@{S(sjKzylU_Q=2*|T@H?6F=845^Ide81yS|5;Dh)Jdv)bWc?A zh91k)u^F=AW?CFs#7iI`kRir?0m6G8oBDuSzVUUKFYEYPJDlDgEB<)F+rrNn#wsjY z9j<0gKURN_A301^e>pm`BZm*F`gT!j+iG;DPvuWJY{KBpd`Ze>qB!e7&6ViEHv)48h}l^~#~<{C0|=EQS}urRDji?zoee|*!YFZe ztQy%ZF>ZRS|9t5G4s%XNdo_~A82;;NiKB_;V_ss@Ns|&9!654&>NMc$v2S%=3HXp* z@bG`SpwRVXGeJ^)S{Zb*i2(2 zy&{jC(#5IO^eu(cFDDA)dD<)Uun^}sg%p2VM1m?9i6GSJJ58C z-kPvEZ{K&sV3|$M^o%R|p@!qQwa51{d$^(6+m`TC#*@+-J2?GGf)6$qw#9a6Dv-u$O%F3WxQrn!I-l1YlF+l_K5jZUhLhCx6;30xU4}Ef%H^oat8{Z^TyhvecV}x&B+M**D^vAikvYJ*bX|d#EK~w@6Tv37r!EB`4 zJfcLHn}r}+vEpWCJAIwkwB>19uh(@C6+m3We^X}&N!9XcM`QN*3Iijl^c?hN(vAcy4@F#{$d~^CjOFhu|Uk2 zFHh0W8agwMz5Y~6f)JkAw}ViXIAZkIICnl=t=53|S%hT@$Z3SCs@w+i z7z6c}w{i(n_X}p63Wn};dbA9SM&~|(&iVpIUfc`jDTl8TI!{=;bQfxxHz(rT3 zSE$NObRAN8uHfmj=dXOgbcZ%j8(-_;aU0s~$YtY-8b~vYvM4M|>>7CA?^=ViD(V zkfY0i*{%maZReUb%i*SY=NdD%rAMOhgyr7S%q5`{I(Iws&SQnfeedh^@U)l;L(1FZ zY>%hwUHva+aCrs}ugs4^#R)7W2eh3&%zF{=eS|+{C4b+y9?J&)C<%Y(u~*zb0;G^L zTE`v!c-PUrNK4W&6r%un>4~^E193ffoBSo0RMRch-6b_KVd7~f@c6OI1+<7n6r{Jo zo5s6(m+V2B+Uq9|B1eO*M&anOGsE$n?3n?jepU8S z^oK<^Vg(r0O{sqc{q-B$wN@=}&3Feh!xO1}X{`&F0 z;JsdLmNv>lx7rH+Ox;H%x-RPQyD)i50*c$Iu}HW*PdA(8{dD{-2*^}-%jp;A@Al{& z$xM}DupiDjMxohzQhtQxRz)G{7dXTICOpOCJfj9efmDCWKA=2k?3dZ-32Ug5kVN)b z#=$?EO?v}OhRW?e*5vrmZ6U(xW8Ku4^EB>twhV5Jp_aAa?H4ckQ*^T2tu_tNN&>$B4cEq(G(mS8Yt^r4Wc=3|ai)Qy436JtV?r4GFIm zq|vBp2d96AU)A*!4=yWqa}a+qlL@6UQBN}>)C)`-x>;mJsKmH0B!2&eWMk{Y&?;c{ zjz$fYAY~fqn$$ToLK7=NAEtwRIx%fdT&be45YGy-WJIm_12|bNCobRqg{9Ve)Fhcv zJF}fxe1o5&&hijfQJ+87y>W+TPvmYQ-{_C-sfvFAaAe5Nx_IKX`kxxFl_|)8iGFgj zvkc3}68Y*pyYmGHl%)vJ{%giC=4;kfO)C zhU78012&w~LATTS=f-L2+)_D#T9)icDz$Kp;-gby^*9xt&o0_-=(lk?%bGn6g7thKL?7a0Pd*D+_-h0G#dynJO9f-0 z+F*7__L~(~2ioeA>T<$hFD65m#0-VHu)UNtslp+&zuI6~FN`3=s>i`RLaicqMUM4Y zKb&&YMLVh}7CZ~r_;44kHrH4!=!$$0u_S*P%^c^cQ-1|G4xSLY`|{gA_j>&yf#T|D ziUJXT1n5jbx?JlfOnP(eFC; zJNj;nA-uNGM_=(49mBOI67d>EfkyE7i7Y@3Ztw7iG?ZHqJNEepnk^@zI$Nv*e{Fv- zx8jn@n5V~^tt*2+#XLckTe5+rdr4t76jISq??Lqoe^JE0Ym1Jdf94$>?onxUo(=~pBSh`P`3C6$Vh)90wlPc zb$q@6_Wz|W{{|~n(=I_mCkd4tpbE26Pfn=DnkFTw*sQiYUOM^K?TrSNqSdrY+FFf< zuG^H`Mke?FXYWlL+cuI#(eL+HAf9;>GNEX0+UVsS#a0sEc)O7@nR9Gk5+XqfW0GJ9 zQp-4gzx~zHE6@!BqMT*MI%j`ki3F;T7MI$CYVo8FSDIUpvF1yFg%)uzw;M|NbYHqoXvbWgR z$%6V{P+Ckf5s6s%q3Gpf%n5f;q)Ei9>|FSqx8CJhrX^@BX=a?GoLql1zf*zA=BK)& z(m>t=4SSb+zbI$4YR@|PVwJviwDfF$wS3bsS_tz~F%uUX&G)PW_L)7+Hvcp>C)dSJ zJd(RS_F7vP`=G6cBQ%Xi*eu&~ZQL(^NqR`C(`oWL0Rke7KD%7JfAJXfd(fKjLtkyq z&SAwts2;94g8$;%ZnuBR-%%O*(`XW+o`VCtCItNu-K3B4)oW26gU6Dk#r2^}2ma09?d^Y6D5y&V;C}}t_kOR{ zt~!4kJg5YlhUm4+Z@qhnP1LowzhAXRjy*&%`2BW;188ruNmw4>yL;ss1_P(MH@@=A zdj=+c7n_hK>&;dnAv;4^%RhT2`hCrBzSqre3}ccZeV-nGd-T)u)4{jjy#8VEV(|UZ z$@dNQ;j_QfhyQ=bee&P>lNTrY#XQ)T4ydpG?)dQ3{Or|>!O8LK!Qk~z-#mZzWbniB zf1l(Akk6bvd->h-W8+ct$&cdS>}|?X)m@rDkZ%Eoj%Q~PwqtyPXOvhdHD<&IVPOycyu6l1~pFY)>Vrd2>0rQuKX$C-l zf^WY}gUdL&614`x5!Gw>5=&X9m_np!(W){soG;!FX0)BdMleh+tv^@RU$fNwlj?3w z&h$qVHoCeHdC_l%nS~7B1>Dq7HBh9}Fug$|6Du-YJ&}LMCuXqr%P18Y_h|V>0vwAf zR~TlxgOA_WdrmoASP_{vMC1AyKDR`Q< zGCV6;Vp6o;8$0lWsGSzoXX-LOH+C@p(yHJ)V|Vjk8vCrj)U@utkQg*CSa8i59F%`U z{+I}G2)oSP*TjhH?(1a`oS~SP$2YkT|62(=`IG(I!oN!x+mEjtPoMf8wzjBPH6Xm7 ze>omERS=iu%J4BbX)?#aY&FQeuiukqV6;Oj79{pE-gu0`nm8JsCzv9dG~c@KA!EaQ zkE}L6VeE|W5o0$pkG#wL?bXbb)U=v?WsGFVx&AJ6sFY3f$f|0{AM4DmcE~{pJh`Em zV)^g4l_al<9SSn||1C9+)B1l-OS5nMja)7+yf4R_n zB%-I^3^}|qH=p6V2Fp6fUVtq0?1vtJ4e2l~xIY1+RySNTcY<@?cH4G?X1|FwwG+E(9s(QJQqoy@xJKfL)=?+!If>_pD zTp`7W|Hyq(`U)w&{YUP31A^Gv|SVgG^2 zW}a~WxnK-D6%Xy|DvFqcFP4!o^njKwQS+5R<4~I^q$f?ow4VOQ{r?^Ye-=|k-uq>S z^ES~Z70z$a_p>(AY2j@RR}Wbe>9vSUQvR3mEJlBHotRyM*>MLu*5 z`DjH@Szr&dH#}SVZ&FWRe>$|&mk#CB9l{ASa2@D;6e6lcThH~COO<}*Ql;Iq#Ys3# zTKV~|?qIs7j@h1;p6tq;>uJGMQCZx2u9{)r!`?xs-5u>8>>pTTYkJ`s zH~cfHNH=cR)s|G#f4VKv^!p;28E(t<<~Uhnain@N?PLdA6?|t=PWDTSa9UovAyRQ* z%#HUNXDJL&gp)l0kofiVLT{GTnc_*EUr;+kfo+DT{RDGWhvyl*GM_ zwJPUh<5jubw*CHFMspv8D|0G;@*UfxftWXl5{NghF2*Z?)P7tBpVgh=7d7MdKWC>eqaUj+z2+oQ4I?HtJ=A z2@kgoCX`*4e?TZu62de=Rs+}eg(vcCzkEMsBW%Y%3|j~yu1A@Umhr+9Ber|6|NDl? zh{*%YMd>gZ!)BTFUYwl1`tj(y@-n6#|NUrAg2bsNG?VF zBg~1=F+PM8dm%=rP2V0p{NZuU{8+j=@mTbOAGE*zf9;$qL+~Vj=m&a!r2-}NiFjiU zN8=c5+w==<#40~p-)vs~phB9g+T($kNxu(>kg+i?BsJ8oe7j6$v~IJgf}Pk~{ZQmN zIX;K)U?mlhNS)5^!Q^c3aIZ7!br1H>!oA(Y@!{_7-fpMeZgs|;&i-!iFzg=ejk|}F z)>)@Be{LTfw#K`Mqt4mxgPfEAuqGlbH)U2H!liV4HtI|c&vskkez$Yb9q&%gI+O11 z*{Icy!sy_zySvxkJ!tQTAQ(IC!?3lxf7Uq*55nEBJIPo%GF+P1=*Lz~VuA=ImqTus zPbEuca22LTE&H>ZU?^cUaci2ZbeNySfH0u9elSKe)&jb#|V49jU()BiKWiwjo3ddA8nf-f_tcM9OTdps{TE+3l<*tRA14>jxgHJO%UEMx$8HI#}C zF~@Z9gWq_(_TJ{bxFzUr=Qm!K3puu21>7~AgXeg!$avR3deTcp)5z>K$9>Pf7Kh5s#uh&*510# z$-{iN9Ufy?yv@C#S4f8W`Pj^YjcsB>^|2k;A5aCoqlOo%t|qi(x*2k?tl z(CzGQb<)!HB3cS>nJaFwczM0;M0Sb63)jBe+6uc^PxHmQ;uUU5;%bPZb@W;lYyo5d z1zlkvDn5Hab}Q@*fs79}Kq%!#rXIzn%8= zT~$TDS!j6?d=)%Ae|7W;zcaG3t3T&)BCGw*qFKL>1&^a~%~xA9S2!f!{R5!BiQnbh zJxEahlpX4Fi*^+yQ4LI8SPH%l{z=nU6L|B_aQ zUo2_L@Uub1YTJmqHfu z;ZDaTQowzmWYD9aE&HY!(d`ZVPPOR>1*O#M4}8ODV_t3)P&pS>gGN7|qkmZ5=%WqLi_}hU z8<+(c?d%`iifY5TF95ey!7pY59IP&)xzE|xyA`eafAHDeyWOT2;<9_#x)oQs_RX@_ zuFy2e062-KtH=j)uR@%S33D2*R=(}oZB;0qoUi(=hS^l~d$-f88n}G?OKynh7Z3FA zZdH%6DvN2tFDNp-->Mqq^lCZI4KSK{SkLZZh0t--J5mwl5Ik9s1uSE~)h zT!2|j5~>Q-D<}7>1aN3z-aXpiJ*-Up8|CBv{$924h_pa9?jLq5ueew)9(1Z7ARqn? z_V%g;S)?1};bE&)t>SuGAPWz>73=e-#d7d)f4@~NCpO(61KX`uxAJm}TU-FZ>WA1P z+yK~Nxs8(mkK@AkO{?0YlJN5SKM>bVt9#FYhUy2W4a?5? zIR848)RS|>B~x2odYvB-8N@tOpQSbUV9Y}lwUl!ZNVkkzxwcWcX`BG407c^>S_a`V zS&Qyh=kaAUcg&CQu9jVHqL?Hh=joi$evono);^M-WBU;KGVf`HTQTfJ#uvv|d>zk)UIeOm+bp#>-?SJM>NXF)Bkl#ElzL@z|y4f1nne zuft_HUqvtgJ}<|bPPv~a&LxtyhY>Utm1WQ?^_*l7!_%P)Puj-f!B}~WSbL&YXCR>& zyu#&O#drkG-Q#Sc91E)=M;ba9Fy9M|)VfCSf}x#an5aaS7y*zqTT!}Q=CNXSqE?^) zm1iu^82iKsa1piZI`IOky3I@F&nNIrhKlT`h>h6Pft56VY6J#VOf)?(e<}P#{}lrG zr^i(Y!%{9LHDjIi`X)-TRgGeDDT5-!P62XCu^PTmWe}#0(NA9F{Zs{MHlFT;4c!5L zhPp7X3n$E67%^@7Z^y%C+JeuR*y{Y&=-Nb3l5dkz8Efp}-vv0L%I+Eb080{xpl|!6 z&N=lwxl*Z>7Zay1Rs%T;Rs8SBl#G@OGTbWSC#sfDhPkz$(2_VHGW1zCo4e>scie?Fgd#idveE}B$z zWIUqx(&{P^#E|B2LB~YcAQTJ(H8AlrK(%;;dri=>q}&J8rQicT`^@W7b$PIHcztKo z0pAk{?*sVbBYr=6^V?ux*m!N@@L9^-`f&beX=xy3O^KpEq*C~cWi*aQ;YvK0(p_J( zzzw>cwPS1_G>KjTf6wwZyo%p;FZGN~=2midygOOA|981L-?G&cI}u2xuANcbl04Mb zCu1j0v!ar%AaJtQ*u%}Xx)kf3Y%X|Zo?^L&Ji8hn-+q3ErZ76q3M0W6yo4^kE_HF+ zj8n^A=X8J?ej6$}s_2${9x!Kcn9 za1zN8eHC$|l+iS#dN(Es1`n-^tYMVSdatvHLsP$rx6y3jAw%g8xN|{jq6UXINw2hA zm9y*j&zBKkcDb1)Z=9TlIgQeEfAe)lKOgj+Bi{gnKzzUHl%Et`a4OG?-}?2};1)Bq-rYRYOk79Vsq$;J$=iD;wCU)z zAUDX{dnGAE7vRrB$W5;*@f1yO6GpH~Y-tXF5C3}oYj7QW9k@#&D-e%H1Ae$$ThQcb7#^>$BY3ytn>hMAn zE2;=i;vomAQ}>fxc~BdcScF!x?^VSuzx3fy@B2T)~|eB9nmD9OAi7K;^~D!wU( zG+y+Qw`a^pw|_M|YKbcd+OG0FdeJ)PzM4I-pL9JaW|Mgmy=~4XJ8lBS;mERvztkIf zJJp8QvTw09%+q7nHOyTWqo5PzeFz(A#C><)E z1vuz-1|VMMqwTYKXR$Zdez$xq`y#pWRXaW`zs&TPr6)|k)9IF95?T_0q?W#P%)@qt zEC-;W=`e1*06cTje(nm|792 zUWLSA;Ic)a_A78CK9FHL04XI14 zuu&D#K^+5ZK5^}KyMl0XbH&Z;Xm`7};OF)r8%}z=U8NMfXN;?5GC${Ei$*#yvs1k} zX`irIGF1z@U(^apMIPBq!t7g9qfbDQTOT|KUcPGtXYsk<9(^5$WED>oR|$HtIi-t# ztn5yc9jPC@3})+eg?<>+Q!zen4$o?Lj4Xu|3UP>?3Nv3NlSvw_L|tM0!Yn%VGJ6NX zH{$s?g4=lz+c67zX*t)uc;RKR1CV#rNVK=6Vl5{5^`n5-|AyXtrz*15gRjJV4G3ZZ zUp)#syL;J-m4vAyA)X}jOF(cC0-^$c93`MCO#y{I@%Yg+nnm*!b|ob3H>5-+j9r?< z^KeRUsivJ?otc-=?TFp)cHZST+n7(ha!kSAs!L;+-;vi zcg-z>NsSViQ%Va>gZ5st*=+^2Zd-)tAx5Gxh497a^JJ;&wb8&dApZC3K%(G(4Gi#g z0RMsgw|Dc>*hpO7C48p0(KQ>KZcl$L)=&SK1NQu5eN?zN0K@DA;@tDkgVK+G&BMdT zg3M&HKs>Ka+NxLUq|=uWvUC8)XVPv?SG7sUy7o`nV#>K7kx8bCqG~*QwTxjk<7Bim zN@g?8ke$mAkqLzXMF46Rp2s79-5s}SlyLvy<*T1x4qm=`Ir#DTWVAExQi_ z84MU>{wG|`ca~8ak1@w<9=rtJ`eho-NwV`xO$GKzTa_n2c%VP+YUsVz{(h^~IqbDt zy-urlc+ffQc6U4N?*9HhYU_us{Za4TrH_V(c8cDK`iZSA&pcMZt9 z8gd&HvMv_$+1o$twD;TH!(I>WXWhfjL1%yOumccU-Mw~icW<|SxVzu&z!!Vn_AbEO zgQ>K72c33ruLJV$u+@7Y@cm!o=(5l8%NP^GLHU5-!NvMK8laOMbQ{F~O#>su=Cn1) zNy5PD6fSQ5l&6dl(KpF|8pE>)umln_4+4%92I(xEPC3&6h$>!!08ov|#1K1}gNY1l zww|uy#WWT+1q1*xV$5T`!V$s=25{n-uw}C-OxJLpIpYB(qRLJP7a%ml(M7Hc8a`_7 zI98{;0xpXvF*NJZ0dc^)mL>;f^eN~sE7vLucu2Qe~#9-8We!AP}hb--@C z=S!6YL|SmM$}`~7D32ci_vvA&KWcXjsyZUO?c8gkxLXo%LkbcYG-foIS_hz zhJ@bA8h-A3CM(UB>agoLYs<8VYF1r@=5q2ZkPF!;0#xBS1;w_VnorNaTxr}QEQMS% z@|K$_86xZ?oJ1>sK)whGM%~Ve_%&vLJ}h8w@VIkq^Wx&6zP1*G!Tj<6RnD zH}QmAb6W69yx2fcB1J&v?<37BXwe*NET%w9NKu$hDH4w-;b;}q(um?%f*~^5VKAD8 zc%IK9;O+IMrjZ&Md>X(yZ_fAzPzOR;&r?`FW~>hwV|Al{&wV_hRPbN2Y7{;R?`lY< z7|h)Dy)IVR2MI!>wJzzv=~em8Bdn&>48ZoayKT>{=ogZnyk1yzySC7w#M{)%t1oZ)?9xW^@Gm;9R=eU(|*&Sw%BRcKQ=hbI9QMthN1Upa7L)2eJ18c zr*ITNIKaP8x&W;9q(ck1-;r-WK>Una@V>*^^x-)2}^gGf9}b7z%wVuG^Lm#JPv?=L{!sX5W7F zA2dCGyhxEN7C1^X;N2?02n~PR+_?M>em*4bRZfrH>`RHj9KU=SXEv-3wLcafyGf!RBW++?OTu5?n!%wcby zMl+tjte&Byp~7@6Y`$-XP59vLJ@{k{&w{dVDC=+UNx>$7ehY#y?OPwgc@CaO=WwM5 zi0RGj4ESd4?Y-wG@Ujr&Fz)sLtuZ%&i%Sh-(H9xWJ4#?{4*&cF#UxOv=Sg!h`sp2i z=i`qs_E0|3vc|R^{~n9=*eiss`YNE^g#WdR0wF&VARtobFDa4P$jQoz5EKV?Z|A2GcKZJF^!P#onfsh{?$-_U0b#e z{DpHv!%6b0{r>n1`e?~JNreN#!1lre+}$TLD5KKEG37)l>AYK41y zz0PD3ogK8ghn>T{gT40t-fpQaL!!B{&?I0t^X(#JyxEzm?u`aDQH@rCWWpF8k?(~LEc`{y4*ZP#>#r|i! zt)rfaifap$hb#zeMWxFo!UX5(BF6ecAf%YzOvzs=TuUi`h*I@F2D3-0VNQWHiAn$} z_gFsL@4qg@*TyE{4q5>_HsMy5HkhyjM8FDkh%rpHc($CBF%1HgDP-)kGy};bqJy!G1bNsj{E`6ZQDF# zq%=GVY!io&y8LZE4ck0p^n^@R2Em;9q!C<~U5^=^lV4F@$&~sHnTxdPR+yVIEVS%G zb&z_QDXSnHd%pHyt!=R?5$3zgu|0+--ODDka}DU&^7>g9Q3-DJ0O)8od-TGh5)vq}$P1e7++Cs{FGD zT?XTS4t5W6(>p7gUeTt*n+*ZF#6HOw&sxUDh49da(ZTIDQv7q@T3OZkZ|UV$r{{hG z6sui)zt?qt-{S9E?r%xgYn42YG6L1LP>hG!6_ee~kA+{i#Z)|BgF3ih$NxFMZ8dZT zdl|--k8ZWj$}t=Z<(o#KfXOoSY(H3%=CiYZWXnM#Sb&gS*43-b6Zh(l0A&^&{x(Q_HciX zmhl9OZAUlc{2Rw`Ra~M6r?#F`R3e$r>aHbx@yGydo$-@!#+^M6`;2me-DRvBJm?00 zU?1k0&W%LkO)(PT!LN*W9tAh1a;N7;05zfpH$GGmK>IxdXm)IC{ezpbbeoHv&TBR; zBh0e2s-k2u>eScW)?Tj{?RTPfw;i@Rhppbh*>`ul97@@U0io#BBvNsv;clXYs zQK#GPw0irkgUNoYyVu<-v6{koZR;$5_Sh&#-zu|^Y_ja|FQ97LGpKZj0Zh?sR1FGZ z(uCA<&7|c8(K6U7nSovF@K2y&-FbG}{#6vgXgRI`?y4~^FAA5ADYJQQZ5t-OtIc4Q zkiT1nh|X$>|T`Dm|AUVnJfcqfv>roJ}i-*;w?m3W7?|AQGkCJ+nugh zZzk=tyKUCzBAmybgv=^kKt)?1g67E_?U{`g3;O~Q6i=E21}lCaPMN7JmdW`toCP6> zr1g9i&mvtwn=5Qb%Oz}u=o>(Pkwy18;PI4S=S~RLQ_9&8#q4nnhCm`z0~>zj76wBj zXcQ-lJ(+)cTvLq>L`C*&O~aEFru06K-y2QDh0qjk?@WgSS05cg_DHoW17h$&SEe*_ zM$9Lu~q%84-z z*$M0PSxrB!4OfmM(c1P*a4&B_6Sed99FAW3#6JTb_Ve~73zyGK%K#j}?s?L3cgv^f z<$&(>JO{Z`KL0EW6a%4rokDLvRm!>XHNGsLkCz3@ovD0zs<)r6+0WgVM_8dHn*n|i zMehfk!sG$msnE*L0342gFT?pLDu&&ykX&iNp2YLm*B7li}lx69lEP~(U)_m(u# zf}}msq)jZyWW9oc;go>qaFPJ#?eWKqN@l%gSz!}`!jgm~JF`VswJg}8{%81XLyg$V zRr3~Laji9~MXY*OS+TPCW8eRbe5XXfgEnPvpnM3AdxCW8q- zA2Psc&UN%M!M8=w_Ig=pd%YrPd%Xf^$j36^oITkDye}TfOPv!MaRS=-A4I074O(vU z5AR$VlxjELwD1uF#io1chiv#TzxF16=iA5N>mW9vee`bY4^_66&kJfy&IMzC2{?T* z=)x%#+pp=>`I(D7H(ll$@#99c#Y)`x7yD4N|W{f3|5k#-n;S;b5OW z2%bn@!Bjw>WJAT}{yy2bzs8zs#-!@*EiS^2A!f{tGdP-?clgLm@D2B1w&?MWmmNk^ zrfSHO;AIK$BmBo{qm+hlD1@uuW2FG)X_BxD6m!-)S_^70XOE^87D4&46dK z^_;rA1ZUCeDvCI>nVb*U|L|nAj28g(G7e$XaD=Ia_??Pj443C?O1-X|IQ>iTY94$` zh?3g@xO%2=bz20K@&j5X9yt0+4VJ)dKxVVDK$&tgNO>E2M6s z5tkdWqvhkt&pwW9w?zn~w&GNu;${UVRkthHJeP`x74^B^-x_bs3z%-egQKuIe zt{QTnouZc06B|y0hunaiP&7|=9Xv_Nl>TaeB=^qZl!k8DJ5Fuucu+Lnh(KbK60mWI zdfRVw`wKQFO-3;le0U-QxA?oSg5k?yutSD95E19tcuO?}TEOXKZGtGM!EwfD_rpUP zV>&}Ti>#53Ik1TT91e$KpK|6gwVS4Oj334y{VbLod0-5IKj=e~0BSjP9WP(~{>yiN zCOiofwHU#017^4n#p91*pq~XR#(Q4zQCV0g{D*2Uw(9~ zCIi>Hl(5z%XH6rDssHe}?pmaZWy2|lsS&(pK51&PW}%u4Kw~NNk1Xn9XSkbhe9SIY z{zK&Omp4Mw0mfU)>QQKqL=90`Srw6g7>-e<3T5OhM+(;Cx5o7YBXj>d)PAV8LKqCy zM2BMLnbXgH31P87;ccJJ*QlXIFo-ylJHap=_UT9(?_l{?V%6MH`CLrE#cg0bYXDJZ zKxhR4se$7F15krA(0bp?UY9cA*|iA&DgV}79ZeE5hA~dx;sN4;=gE2Ith10 z7}aUExmpc~8&$lg>HyOg{~tboh6ZngV~%Vac{ZMSD@b`xq0z#SfX?ch1wMz@8S$_g zB%}PK6elhV(S&ERqzvA*SXV*L!j9qbGFi}<(=f%Pn`oxmd9LZO%c<~<60_ILIW=1X z={5Uf+03PeV>WQWMlh)V8tA|4){Hf0C4VB{GI>nok%4*L3~HQOxtNAoBV;;M28XJE z;JF?K@1vWmWI3)YwQNWiOIaR7jVVehJh&24DTfE^VEIYbv`=OYKKe49G5OG)_*N#L zr{?|qPk&_e!C!3S4pw2~VQn;t2wh6`5ty>C(z3W+GdQ6{U1fpLkI86r(*&W7GdwC= zXaE+c%u;eLf;v4hCd63dQUbt|Y37ZMCIaepDyW0Q{L)%}HEL4M)T zb`4WeEvx%W9%gw}U3xEDQDKB1g*g@Z5<|->djXc0B$oyxfBA>U8&RNBH^^~%@E~~c zuHcUU!gaG(m-$C>m4++!z<;sFA6Qkt51Zfb<2hlwK<;L+@$PRR#lHQUlva5EuS8D{ zOTaC+#cK^PCSGU{;7~cC(8G;CbMU2=Po4Hup7u{-6d1B@H*{MBB;fI8+kmKqX3YH< zWrvuw5Fs>oe~S21kXQkCAg>mq^1V`~-pqvXj-N5n`^^*6_=Lp}Wn+_7LK!1mmWLcWbxp#yIGFRnQ))nvRtLfPbKiaD#bvA$cgUr$ zH*c6@_3nksL>b@imIfqZldc;8uGm!Tv1^z^{Pva&fB9BbBg7xZ#E|E3cWq=aHmHi3 z!Q@3BEqtNSnJAwp)f7PC1q@l2OL~Y~HAp5he1{qRpzYyN?x#EMr<+Y(oTmnOY{@FM zf@VarHv>uQ8XwE}`~p)1=RgSYmGI0ZBM{p?2H743VRzQOR_MU8rPgGJd? zwQ9Ub;h~x)$zta$MBRY>+?-sp<|@;{&lhyvNkLJJRWE1qZg#`>(KJ4v#}l|;Vygf+ zU=u7h6zipavjl37&qXCwvW~)d?1bl5+I*kG7$o2lVhAJvom#VurqLx10J_W3lV_KW znFcTcIhVef1{VR>m)4mEG!~D;AiaUpd7UQ%lZOXU^Sl`h!$xq{mmr!36@Sl$T&rj} z8fJ*#wmUv3-e}2}%*`uAa3h0ZCt3V;Bgtm1i~`Gl%`DSl;A7UBJ)K z{NyfF5&?G1VD^IL0#o^tm45}2zi8#3(4or4c2_aSSG;w((UHA{W#@T&i@a&p5kV6m zo`s#7s{@KMk9?C@C9801#^!0etg3ypI3qIQEUm8&?CutP;E&07Xhw%E3rOaz`ieRqgS7Jpk2TIX4TkdYX$ z&el-(uRy&DRQW|78#TH!w4HGl_)R|2f^QCWmT0Cg!h~*Ka0{HLaFT8B=R3zu*TLmm z#agwq(Sw)*Jv|T(6Py=p1eWLDAWf}H$!4dmF)z2SRPsi0;=YeK4jTQr;a-xLc|q;3 zoA6T4p5g4?dT!7qZGRZ@Z8BuYKa6M#*nRn_`zGnV;14j^g0K1ft#e~pLE^3-@q87X z!-X0B^3E+4xArswwlL;k4%2dq%V4&F5vX&~1B5(#7%)q~nLTjPTR2(COhl2y6X$TI zDFrV+>lyyq%s&fw$}K_{8S{~$SWtchS=T_dAYg*gfoQDXzJI-^Mf}@){%e6TsYo?h zF=v{wMP+{kxzY_o=wc?wkB*~}V*(r24OhzIwP%d?#QlYDP{OGRq@2FJS1()$uOfSX zY2Fo%bi;L|AG*~(J`In(EK-uT2sjkYE!d$tztQw9C_v)qpXhDSEikBp8_%Sfo7o0F z;BkV3bmO1!I-(neIU$4YwJ2d)=xG!#z^z-8$GWUx3Al z$8KlyZhv)KovJkG9HrE5b*qy`4u>?{M&xyS?QPkhwXn?t?(J^L1^0R-cI%*3RggGG zDYaX@>ZFmwAq}??dA;`b9M@df<^g-%s%#_6qdFy|R&V!U%flsxDYst-t*uWNkGC0r zhx^+qH1^Uqj=0@pyg(EJ1#`e0q+v*!}sS~!h+qsj0%I?(O{{D9Np}350xOdpuPJYD| zbi@62Z(I2lm(vaRyA=wr6pd7NxAu4Uw!~u@-Ee=uy`7YdE9i#%huy7lSWY)QXt%f3 zHhxNT%6@qIxP(Qj)jilwx3LB* zXPIj4RX*ccteT^i!06%OwrYrDnVZLLcYk`@sUyd;vuHey#!uGE%jjejPQzu1J#FuG zw$uJS!Lt8(t@i$Q4h%I=ImcbAN`HR=4~dHrH@nhWdzDRuzQIbn?^*{HnAI7R^58NW zDa=s}gwK;}dD6shziAm-N~l9jrMIX-Yb_DJH;~=XWcATitQNsi)7(fXAcGNVAcJI) z_WOCIq|zI#wNgmX`7}8Tr@=R`UOgY29RK+2==rn%Iet2LeyoD_vBVKz$63?{v zN<7rbS7x|QiAixA<&BR$D*@_Rne{y@v%Y7A>*Mwbj$oX8(FSH|^9dGXJyPCx7fBDpvoAkDjx#K5*_&j)#3dC!g}1+-4U(pOH${G2CZ_ z3Jq;OB<(%-{^X?G=VS6okIAj};qyVcqk|$ltrndW-K@#pp`5Ds`J{Z(lX9zl_UR|-D>CNR@?FU+}xRo zjLwbAQihR^W`7*}7;(zX+c^~i;+IeR`kBVtxocM+p5{v#enqWxKA$xINz3)R35*|v z@+N+lUrBxuA2)BZJ2NV~&1Mi?(MB83xwiWADZbSy)~mdyemU& zpLy40zLSr(PIKG^(sFirZRpTwKiyGC#kt3TWC3{v^cPJf&+Eld69so6IIHzmJ*_3Y*8 zEeM&iBAlq#5Vw%uOu*NIes8km`w0p4x|mLHs*`C|RBcP7*A|W5{4q%MI!B>58wj*Q z57!)GKi@>|<|eW}7=%k)`NKEZs8yZR+jSaBsq?DT!A1X79>U>!edxDOl->Eymxdg} zqnU>3fPdQFZr1PRhTOj&yi8V6AOFh@6}d`#oCasnh~ZUnn`r`9j%hSkxC?n1>=^rmKR`;)xtFD+1~q@@k$hHs z4`&!)7?^0zmqVN%rP8LW@iacG+so$VimhEl(R+F2G4LT>C>ACP?L}~ni-U&*Jo63y zWVWlhSOYy(yvJqkUWT#hV`jg;ZmSNYcC&a*5jh&qT>ok>fDi}~U-@tUcDJ?68gs0W zdeP0WXCrgIG+jq2;*DC`!3ckgWpcg@XWS67p;#pDWH64?5POoQqToGsNJ?p$)@#(L zD0qfUcK)7OEjELE55r1$&w_D+O(fvm2&pFw*7I0&*glJpL(2&<#NeAX5>2R?H}>Ph zMoA&|UxIs z;GEe=wLiRYKB**{Z|P?uv0R#GeAW>+=!il{l`{eVTS->St`3+J1}tje!m`w%9X|n= z6s86?e{Fa4(e-2=9?vfu!Rg}~4@BGD2qtjxpTB{x-qmo*NZ6-L-ly+O-i&m>lYSKZ z*PC}@X{LrC=5JDnc%J?x6<}}{j^5XB6$WzDqZ&`oWN$v>1k*le1xSd!1JB~sGF;w> zK0zqgY#jKi;M4}Qe()k0ucuKXFtFn2WQ1Mge@|Q37521E|LqJlZm2p5H?VzVAY352 z5&Rne8cg2aJN*!Ue0#6S-2(^M#tIi`wgtjbSYFUj{A*kPY7WYulo*yDEH(CN3kakQ z|1$@o(_!>PGL~yL33}6bX9Ih9+H$rtJauHRlnqKS^19I0=9 zfAw`DS5M@IHS|p5yjyGi+P&7i$|zRr`oh%?-nn8!8Mwb5S_67laFh^6~>KVu!-C@wbINN?_v@9*SO(Ob#9m3rv@4% zz<%C|H3afk8%pNfZtfdh*3$a1EP7pp&T~vNtMp0)XJ_n(ml~)BVt;jO`$d+vlpW*G z*f<^kxgE8YG9urydAdUYZ5n~5K3|8^fU6l|2h1C4 zfJwc(qsb&5#dwuVkZY>mk#w`KIpI$mNA+{Fz-OxI^S(lUq_L~IeOS0s#v z%G}b<@mDM}X&YABWnU~Sc@6#!{b?IHXGzBSC$prq$~xK9UOJ10=617;3(Iv!`7|cj zN}TJ@V3Dn2kaZ&3uc_BaM?rUX;#)N-_gJW zxM<$(R_|6cVFyyXqT$p?ty~bW0LMYjr0w$k<}#eF zqrOP@&E0AcI!9?UWXvw3H?kKs{yO-Y>#lo8CQoaAbaL8d$L6Wh6Rw107x2BF3;15| zE`U>_OCCCYd>7#9BwJUL{8*B(et73iF8#ro@9%fgUZnntEjj9s_0WJUVOXnaDU}3k*J#$FkmN{>_6}aUsu{hHRsdR>2I| z4NZ(v8+klYm2_AcUFJ}>=kBxh^t-$SWtGJnQ%u zs~NTr@WF1?_C^A*XpQcJdssmUu;Ef4R3F%Ot5dZ{j)Y6yaJ_Kb?W%py6dv{p;T~3P zSR~;VVHa?J%jw32V7q&_#BN-Sh2HLMr(3*hyOrB9OMkeS1Gs=o4b8k@tGB8a zU{Tl?0zSOuzM*V+`K}1`VdZ9{3Um?NPP@V#&w`8TIWHd-u58Zjv7To(K+bd9&qqYA?U;1TjH2NH-aZc(7Ua}TT+IE-Uyx+4$!IG4=q1H zBRDP`qknsN+mmjM(FndR9Ai=M{NYp3kN>9tp@OFi7M>;ya@Q=etF;$ zUcWz$($r&m+pW+_T?34MS%*Gj-d+W6tRbFLe1G=R19QKE2o?8$WI6U&1zU$zRVkRJ zsj-h{3lHf1-mO8CI^~CaSh)+mf=mja7xI3ma*Jk-j=e(2y$Ytr4CF#I@9%f3%1sG4 zE(Uy9;WT6b7vtif)444!;^O@~=84}0Ya&rrC5$rWha?bdGlwulxww|B;P-QNN>tK9|AJC*e! z3%by}3kK*ORJ}B02N244!5Fuvm%RR6FwB1YZiW#mc)>^qm9KE#k%SiRAFR`=d?ha$ zOeo?7<8@nixj3zh7Yw=Ey|bOms^bNt?tkB!N0!mZ{R4Mfm3x7g9at#k1!H$AknSwJ z_M7+0TV-dlr>}Rr*Q%g&!J-Bjl$G}TX*iEpHv=mFHz)w#sh}Wv!F!R=>ve85`%$u7 zMx)jAW^fVC$8aebtmkx-7;xeo2Bxf%rRS>B?(J2$m>a`Rqw9EtiTjI-c!VO8u74a9 zL$_hTgWC-l{W8Ejf1ky*eQ>MIA>*1agrdD$MPS-c% z1--oDYEsc`QH0+8R)ye<4A=tv?gRI_E!YhR-mhXo%YZJ#@Ij}7wLAm3C_Lq`Q^B~O zfm?jy4tskBmlnU}BT3TL_&xyh#D9Aj!LPGu6~efybj4PNqx8w@gnobUcAk4qSPm}Z z@B!x!+z*~4vjye|tgaGvCUYSW;#$BeF|iYI>g^o8 zvGgn2eLkpYXW?*d1j*_G!A4EZbHL~MKJK`0Qffx z1R_m_H00>WpcYXn#&mlZ(5DDHax|;Q#}ME2U_OJwbblAX$FHk_&-lQLU}Id-twHN% zBQDUQh{5eZ>;6AZjO=Xzx)9e}U^*@W9B%`-5E=0{$cPKKFy3Yhold9o(!9gEue^H9H5iJ#U%@K2v%o-SRVO1W%n4LR)o-IpJfar`4-GtwwO{n;m~z zxywxupDaDc-P_Kw5qw)PRkW0so-ICHdcu2KPPh?#S3GaDyH}YyK3{tF`*$<@M)3W{ zMW8*u;yUn^(n~qG)1@?mXJuA|9)s$O!naDV>+n;os}cO~lFLKy#I06{FP2_pyY&fI z*}z1EvWrEh$Zgk)@0MS3`_nJE5j=mdv~u*yY_WKJz5Mz;@;Vz`RWKjnPQ~WjfZdKeyEcXhFh@O#Xi>jxP_J3Opb z$6|+>2ru|BfH91ZMVJPh$1k-=pvk-N0))K1{nbhmz%Q&C?jW> z$ca=D&gsZB;N8`FIY&5fEyj3$qd<1^&5(e#GP#3LJvC7VQIHugi22+1}J5tzcAF~c=JM|;$r-g5|qn5f# z!M!bBrf?5S<~uZ=>J*YpU^~!u!zE$I5ny2!&!vY@7zJePsp@}ob&*UXeyQo-Xv6pI z+Undbrs(2Q&hKko+&13T@W=8>qmvj{aYtU_Q*)>O$lFxBN90B3mT(&LPM0)4uXEv)Uvoy4)8 z5ViO7G9*v5fK2Hs4i})VO^<>(_E6;Jf#&WA!w0OApL-Ov&Dl=g-m?n)if98h?}dn<(l-W}X-Tp=XK_5D$WnAK%_H0w^;9 z5oKm$&%{k+Y9=2gT0e-FTDAtBf8!QwA-D6!HD!W6N-ax8eUx5VLFmU8Dz(RiZ51Vm7TzKr5GGxV9CMeGVUf&L{pz7Eleml_`qheQ4abK26? zm^_#dj0bd8PjYR-)N5F!y^jBT;C-Z%d4z@$;R5hIT+C~iZ7K|V+3Ab!rKg4Wb6ECe zJ9rGwoBMIu_FXS7J5@F$IG&f^5H=C~QT8LA%l&Bk_5&U%+>dyEcl*)t?nm3+59~am zGCbvjxx~u#oUSGh^w;Tnf!$|5V3#hq1~CY`J6IoNfPE~NXSfDH0WX)RxCSeKM~~$B zd6l=kJM0$zNr_Q6%&o)!bZ0E+Jg^(e5dj4 zf%{d|Oz724rB{Ur{i2tExds;+3;hO6yzYI)h1<}8A9DszUIRxtz zZp~G{#!|UpYW9mHs-44?do4elQp-x=;zyB#D|G%AF9|)07R7jG#_^gzHf*Qhx zBTxVa=HLdCI}zERJ60uhf0eBN09|5$hkXlm!u$U1Gzu@c5=w>l-OqYO{>MCcj1gu8 ztXot##YKQR6_`pEPRBc;LVj@f$_)1+^XMCB@Hmi`C$@lyzsf5EP8eP4h+0;E5g@u7 zrcq6|aGI*_-w%!{K#t9GscSa>m0Qt&-2yHDm0Oetijy8T&Ze7#f1?p>E%#|WnM6yp z_?KC7;Y^FR(1*0DYi+UlRf0II`2L~&db?F+1^BXl6Twtje#?0KF!!>Hc0cA?!nN;h z*%R*ja6V2i!uJs+#uc>n?N+GCngN=|(*(3U5aYf=r+e)ZH7#%39Tm09Wr%<3-(cwZ zI9!hJU&yHrmeF~ff3B7{1Njv7P1WCHzH~u7O`1o)FIdO>=mrbCj>Z=QczX$}PovQ? zT49Ob*|ZC|QmjaI{$Ph-&YHd2|UgOQQ&%2*xq{ zWBLg2CKzFRe@0Hs=UKoU7R&e&OA(~&{bj40mfPx-% zIVb=Tdqpl;T2p}996b%Bu*0Mf49UzoH1f4;)=r@}(6L*X#r>Bzi1~L`y#VVVO0j0( zKTQn0jKaAnmH-Q(iM@~KwBvfe2}j{*6fIUkEoz=Oe_=g1f1uZ!;3}L`BKs2L9AFho z1w;rMR-s4M`w4f+=}ldPi|ca+S3_)Ud(hDDoYH=b;zf*NX>}2&#+1VK>LOVJ64EB1 zW=SFJk`7_(qId?30aqHTwc;7N#Qni%^f1vi?07UEMTCkoTs#7ThY=)KJ-{_#i+MdC zu>kdVe?PEJV`de_1Pi)wv;dazKKM!l90<}G&{IIuuK;h1g;_FQPkFi^F2-0V0Jy9k z5~&K-$>kilhyYVR2LaIZ}j(MG2-AI9Q39kK-gWAj29R?YeCBY;!^v zP!}2aFk93(+6H5QXs9JwlgTN@*;okUi1Ld9e-7PEhj`qh<**S5<~|NCVmCM&yRJLJkSI^#bjqb7$Iz+at||Iy=|M=J~Mgkw+hpH_v&Y@VSsm-V&e ze>FQ?{IOK78Hk_Fik4K6=+6fnXJadC;=}Z2F2Bb+AE`7HU<04``;N(o7g)Z3uSFkl zk{})f6Nx7=uuwetm_KC@t0~-Sto7`iM{_DM0TKhgOlCI!XaES!ouo=3%3ai(z|SJ! z6jhE1agFn7at7S|<*S#2XD?5We>{3}fBNk2$Aj;WUOqkf{^*BeWUK+VvzKvS3|J*} zDMbK;6xPWAp>dNDT3Q54mDJSmP7NK(P!mA`0$m}+w%8t>EjWu-S5Y*_Do=z$5?-O9 z0N~##DljRTqetuIQX!9|J{6!3M;F1cW^sOm)hpG?ikwJ2{!llAW<%Gp-e^LXfTx!ZB(+2%8Zv8ql?;Cay^yhE=Z%&0k?AH$O-4;Rl;z z8kaEC&hNg|^!uq68V%?~7loH$ja;`DV=@eZ z-SJ2Gh5cy$(=nAFya4``HS5ByWO=i|`Qx=eO52?SAe-Y8__rZvIxrs+gB+`m zOo-<1hB?6=(qmj8!2lOM_~PlS7k`73m~U=^Nc z7AcJrr^&aOwhdOl2Rsdf%W#Q1^CDaT{;ohu!M&K-$cr_~8iheKNLK8!F#C!-@(F+V z@CiC0uUC(4>+gNo9nHjyQ;!D(7~uj0MhPkNW3(e_#Y~${v0NEFVvo6u7MG&I1~LxN z-fR5CL7W2P4{d}$%$MT921Np&!`kp!&U*=U*feanQNXX2fL=1Tf+t)0jrmL!v-V~N|G912yn~^5Mc23o<7}QbCe?giy-NtgLdMMOwLcT~`z{^RZ6oBm7xD}~V9EQtJjHuv|ZQ z9sEj{TEzxz0^cN;$i)U80ZNzW#Rez=T9**U1~36gmqEq`R)4o*=xAI-V7bwRQ1%UK zznG1_s%1HW@N;5fW)43M(6NEIX5ngdVOh?zN(^3EZF>kCM{%$r#T$t0uQVmm8sOG5 zUjuzjZb-%Cs}}}-;h!<+y<#78g4I~MbQTC_2}ohI1t~K)wtB!7a(o9(M4O)EWQ=Hv zbA9<|y7S;zN`KR`@-r8LS;@uj^j>K8>0%3~$jt33C?_~DXc0KUuA&FPqsB5&(%=nzUIZ6T&4i||w{Q6BPZ_PXGA~9#(aUMlu_MRwJPDHmLlMju+kuddQF^%!zoO6fHLWY<>Im5Sj zD_pCnwY1``wsMM{I$R#H-lcyd z1FjHr6{Ck{exp4`NCXyq4U{+$XW4_q|)Q8IMSzg3$bFc?brxzYl4od?-1jBmCIMcw~{8asHR`LjH4?dZX9A| zbAes~6)yaja>xcke{O$t^-5}9vj&bdfV*dkN{lQ6YWd*2)RU5RA?vuT72R0uySxe2 zz#f1#2+>)*mgbApD=OY_)f!_h4HIDYb$U+J$F%@>oQ)Q+U`Gs}zZhZ;R=kR4h#2!; zMXqRL4raMpHJ1!I6C6rcsu{=tbl1e0m59xRqjk3pNAvjB z-62$+-NVDuVOn`|^MteQ?)54G)l){BGw`p$61#A@q3^a1{;*MBWCki5UOx&K>3WL3 z`6v9_5nld<91%yj-~Wl3jc_%JZ;e=jWBIH3w$ttJcKJV5yjKzKMrXd{*EczT`xCYj zp@H%HFuiD)e;>T0OG1nn*(VejBDC)BsfG}>U^7BR2ExW~5QiGp<5a)f_yQmcP()J7 zW67)%?KevG9$=(+l)_ehc%Gd9C_ny@KWzl?;R#VeHXI@gC0)Szh8?k?@TZwqrMa@- zeKN18KlBG3ibQ5z!Y}44~wOXGLxa{WBoD+clhHtPu#bHo(wDD{n*`&)_V?h|6iR zQn#K3uorCtCso6%&McAzHG@Qdtc+Ci@ao|^ag7eid5b>8Eax>NBn_eY+!VdQlmCACWbovtA5UKWxYY^`IG!acZn{I3 zSY9f1yj1((5mp>ec!u{%w4lOCnv#EfN8ix}f1{AL4nB^0m3SO}JU;#L+40|xp2Khd z=cnV7)4|b?KOX(Jy;`Q_a!W1%>OsL%<#;a$49+^@Y2(TKGa?noj81$t4+Jcf6?vtBeQzO95MOPde^oZ&{&fVnXJr)x|PdpI_j+Z-$mU1NtD} zQn-?SBfM?hkI?CVe}UQw5FOdmjB|lz5+3w|CT5kn9KvIZNZob>=E)rur)opsoHnG_ zKUtqmar07ck736LTwTBwouf7)K9Qlwe;pDF7J=P3C_VxQKShSOX4^C@&Y%zE4(P3y zlTty+@7YZ+uG(U$abC-%L?P=RNtv9g;&^Z_HI}|x zk5Q5mW#>Rdy9$xomsS9mt|KGHq#Oq>0^*xirQXX)cKH(RKyH=lqE9Ao;=t&&e^WXp zhT!!353wOmEsL^-m%}!AGITkVlBJW26P0d-j zsQo(nH5g$B2Mwv-T+gq78x4{re^&|;aIhJR0mja={}vPO(5{&|3^?U;Sm)eKlu()= zUcsGSR>HpNQ?1}e&0f4wTnVFrM}|2FgVZm^Q^U3$8Hmbx5hyd0(7>@J1~NnxAqHGo zHd3FNqaT>Jqlb>`%3~=J<&XJ7zaOp~%krp98FCj|dfJp7TWh}#;s$>7e{0rakaJCo zyPnWEL!L{zK0CXNM(6-;;uee0I8nki4{>1lxP^c-oWo+ajT{Sf6zpuGW{ZNV_UmGm zo4x!g(1>e`6&XOVMl78MJ~oT@USRm+*skD%h>z(9i}wYQJ-A|}(bwLH;oJ3hbyt}h z{Q2lux9c;W`NglMp^I%jf3{60N7g?rgflr3N5V7-OGZmR+)N}wjsWeiz1-J+OrN-H zm;#Z3{w(LFDt)sy=3Ox7oHX@)H_wPl{Bes*;{k_IG$ZGYwcg+G=hLb89EAied z8F|+&!*Y=t;;^<>&_Mj|7&7{9W^&?`ZNuEO{nx>AxMIu z6uvB4NoEAYH^eWPE(0mu>q9$_4qilAikSxC60NhKALoq^>~1ERbasOR5N}neGM@>5 zow`}cyA-8rexek0uH}j6=d=wx|!E!@!m0{u@}`dM><6gsOb{ z3>!@Q+G^H({o}L0ADtd&o-+}ve`n5q_G@s4mmJ!NY#5rxx%_RzOCJqpV_8>==(Z*? zSQkRmVd~%8*3z%N9N6*lMR@%@nm;Zmf79u<%G>2Vz|VaNf8U+M*8Uv;$A}Be$&AMC zVY&zH@~QHkVN%~3dfmf=I{?0E4ZDY(^11PzVenvjlKguWye}T;(`fDnzTevKYzurA zUJv{O?6$jGZvi{hJw*fB?eaAcJOiLF7~27=h)vH>dwW|S33Di}?dBfqu-Dz1bj`8O z_z@h_Q}3$Pe?8cGr#4}*-PzyYdRdEP;VTEW+u52H!ntqmz1H5=2m;aMgMPSQ-gE1R z9(%y=-T`=dYxWgPJM3QsUCP?0^=x;EuQ|je}J5a*d80^`|fe!QV@^6fxF%E zi!t~gcReEQ1egg$0S+)4ae)3gY!M^cPN%Sc>1u#1G@1ArXQ#c_F3;1d%;PM&Nnmge zcJd8=uv?yZe1oH&c9ksOr({ZiixNHPIUb!(tF!%jE!B_*_YK!MD9=_Z49C0cRa`oq z-EMhdf8rPyW58H@Br8)o;KpWn%Ya++)FWkJwH1_l->@b%T`l9)EvUNNtH5c?%mY4H zm8I(L-u_m5u5qvS9FZoVu?o9OQ19EWiEH!H*T-D z)ma8@soxjz=>zJcFo-8OiE%s%*=jgQ0R`zKfA-10PVew=D?V<`0ZrNV6gCaN+o_-# zl|uns``JVz9`~QJ-QDeYDGd()A;vvGTkSNu){FOT`|keU_G?zd3U7DeeWtV5?rwFw zK(~b9 ze;YlQ4UA>KySF_8;6IYU=HnQL#nynydF&%=P}8@PooZCg&I;wlL90T+#iH@l$t|Si zgYNED;tB6*w;<+&gZ8#`%rL)Lkv(k zDI)5_!-K6jn7rHS-v(ZDK)1DfxYa`Se_-h>!IHD^v2Un@-8&kpDn)nOo!zatQ^C;H zsJh$UJ-nmMy&YwD+lP0x3yQi*F|%%`yWKsu{9VxmwzP}5CNNE|N)LZn!JoEac>TL+Ho#^t zp27E9yW8;<_uxd)Dkq(|iBDqeceguHlwCp|G3)??w`Jcz``amdJW%wD4AvmJj=e|d zptIc-(HL&SK)nh+%))`<`KF=v54Te+lnZ6E&!&6W1MO~wm&?-zAb)$Et*kf3n6N}b z?Pg)tYgKVmZC)u3J-QkB4q&fcB{IP=96P^D`}TY7{p}8hYrH~ycG}xZ1;(@htX6j0%fHK0{qVD%6#l!(K7MN?_RIHooc=j|ELV( z9DMff9{g;@DL2i4S$_%EE$~g?U^`>o#tD!LISLoy$Sa(ByS?qq(V0oGA|qT|g#l5$ zy;gfG?wuK#c}&TnJBN39_{}HEjlZS!E;ByqjZAK%WQyfq3Iz4u!NFDsFI$zL>RNMa zE+38U_wIPeaDvwqZ~Rkl|L|Zd2CD`XL>13wTsF)z-a*$iNDPbL@}(Qn)%d=#LHC#S z)CM*e^JQ{HwLk?L0=OW=(~v3~hr!u8p00M6Le&N`8J}SZ3zdw^#kgRBF{4mSBBkQP zSUV2peS?>c)dnU3MVGYI1|>F!TLut*xLh_C2BVr$XINDYOVFj!m`6Cn)+mv=qHj4V zFGWO!DdH%z*)L(AMNT?b@twjDXO|Dw1}p-;4wpUF1{x&nDT*Vz2FQXqyBN+d3UAA) zP!2#WpZ>`Ih%$uY5h@dewFh^Xd)5Xs7$;=oq3#XQRU;s&A&+u0kz|L8ldBxniI>LK z1~VEIQ`}Q5zf40ntgmr+*7J-Zn_OTp106m&UzZct27LiSmyy>76#;CQr`HA@e_y7e z@@1BuiI;Ws-ya>r0W!}*qgfI8kz3eiV-Zj7Y=pb=qwxW@#v-K#BD!9ZWsZq_MS-;O8 zT7}dMLH@yD%KW6}%*>QqzEXgge@qr}dlA8?6n?}x3RgzJ#QkZV)@wV6Tux$7#Bb%rc}f@i3mk;oX-1O|aKp@({P; zC5x-trFG~~z=3*_qg8x^`e(r2U5dOj#~H*czk1?QFvXpqoqbktP=@%$enM>0rI$qtyyoH_IO?goJLpAmU!m8W~)|SOO#nmQ-Tk zuCnNNNP7+0kVHdYaQi22y20Vm+-z`zx*)xj0eUZ~tgL{P0fXwIpw+WzLe&;VA{mj3 z1@nT8ULM>znJdtL5&VSNf3U0I2Ch)l_+}ZW@4widaMSe+!-R=u2Gq%@3>^bq!0!&$ zd&FIxqInAE$~>R2k|`E)HBT=7o#`EeFqpa)p{!P9k%yDw<(YUKbX@1hI${Q;IS-rY zPm_N-cigB5$VI$#J)D~d&*5tc{%d}-?AbIRmpG+nk=i%(;5)~0fBJbDuk5oVE~9@e zF8*g`-dTp+%aO%pGsPDhj<2{%&efpY7{-&?aSBKa2mc!?Em@*!uu29>RQ)#mA5#*d z@&X{u3ji?zmmIho!c`*R55xI?BZhA!Fhu-vUX3RI4@0tOrAAkn9=F;`foQoaUk3i=wv?#kjUgDn>i?OZ;eOt<{D84TdIh{vk0)T z9}*eeny^U-mxkj8VpviS4}eH06STu)r%e~57(~CIjYm}mf7-OdFE1m)AnpO|C7)^T z_%tq9)KSV9|Vpb~XyBG;g6S@N8+v#b_5x z05P2-T8eOSs)Uij-3&}@UKC);y{wqp;Gj8j8K0k1bH-aNZnym6Hpm21-KZcP9C`=J zEqv6~hU4{`mp$7CBM?_^V-Ri1S(H~*V2`Dde@mBe+Xf^Gy@xMLw#B0C?Y)=0LdR588E? zMcf8VJkY-Ai)d;(dbl-l;qAO38&G%)`J;x4k~xHC2hVGj+THeOv#( z`-&ilZFk>EY&N*veV5JL1~>s{mj>MiM*pgVCL=)5)IK$5w`|Mlx))MXJ|3uGja=U$Z+tb0!>OOTD;kH$9=t zwM+MnTz?+2c1DL0&>bp_e4|tJMhVr&Gf}^Q%d#<0&RH|hoMrCIA&#?PKlzrrPHCv# zyv1=h)=+Fd0P4=hmFADUB{}ti9QD&TF^8;^+r&hMSGXHC-seaa(K%ZjXAzJ%P3D$o zbsS;eS&DjTpu6odrdO6}_#g*#8J&mAF@=X+MSpx%q1a3cpaR$w3n^Xtcv~goCmEsX z5gBJ;fTU~9MY6<;uC|s*``YR%X`<&V~ z@P7$5gBapbF#U`89N1se216_XCZ-~0R7*pmD5k7@fq%RbhN6)%#bjWoK%|Zl_L;iE z9)C5LgsU;e6Hnsn^#XlA7&$ma^xbfSOIg!8J0lV10fZ^yryd8bjie?X-3i+7G6dzM zBK&bh31!~REgcU+x*Un4fVgu2R##?h3xe0=73J2=&sCT+g>C1yj&IlvC%_Cj>y5Pz zcawe2A+|?n;>dMi6Ywwum`T{$McHxZDu4PCc8Ir5I4a=KH=UqfeiN+8i6^NCgE`mJ z6$NZ^@N=@jK(REyC}Rf@DVoN#@dnobR6oc+4wQjUK9;;M_#ocYMDT$2&N11e6k`>o zp+X!M*i>O0zzF!ugc^TbiVd4Z%X8EEadL9xSb{~2Fq?Nw!AL6)gJPD6KY7jwZ-2VF zLU^f}@EE2m$2&O=n>)_m(ne>_^TasHnHAsqY%*4APAP|STdhN$ z@R(Wxs?dEqhW9QmdWQN@E(+SIOMm*+HLnRGXLoSKidtDSDC%rAit)V3nBcq48d3Sh z?R?z^ANp_RG1m<#5p5&nWhBh`U@g-;=`+}f2mOY3=r+`}Me*vtt0%C!1CS!ut`e{J z1slORzRTS{2!`8UKp=cxCUlT+jP{7)vylm?V{T?{*wb=5g>s%p_+H&tyni9Aie){< zJJQ>GnzFZTt||m*Z`&~I|^rlcn0;aaDF4nUPIdK#n_$> z$>YD-PUSP>HiA93C6}&=)9C4beWE>`<#SmUdgav}S=8$gntB6kfD)7sP z=z0NbqO=mf&+(X3Iok}_=bX2?EhUn{HYPpNfj~9lYi_H{VAI{^;0et&?I_3 zutmBEJkhl6Pqi(rL>i9gd>b^42eIbLfT&kK=j9G>Zg^at5y$JEG{N`Gv+5;dv+W_X z-0bSj&H1E9+b3chAhHq>j0!gv5#soVKlyR(*I0z@{R(^j^__8mT{!-5v1#883y2GN z0O8}`ml44B{0&)nfp@BZM0P-JzW=nBvEl|8KMy1Q<$NC&%Kuv3BFZ~HlfSJj-dgnD zMj_tfWc*3w-j?UZ5|iecu|?(|M`o&t`%aD_H9z(7`HdymT?nl0mk8qqECH*RHRA>^ zf9KoZQ!5Qo!5> zNwSoQUb;jLW-bo(ZW@VsWX23QM@{Fo+1Zrrh^29GVDd$v=@Vudk0L#J4b?<$Gk7+q zsiHB&e$2WR~D zUj3bip_^Xn-;u2sml!MRx%qZ}#g*a^(rF)_ZM>a}Nn#Y;FT%S(!ImDssMEQCu@cIA z{)pdqc?U`~sR4Q#{1Yu$*LWSPLd2a5~{5A!>=OGMq{IM<`Bk=q?EZ=GlTW-znk|RYy_`dab zH>}^DzNcyO9Z#C9sJpqTyQ_7yH$T=fm3aSSJ$P)lGCDFHmOu6WHRYyl74Is84yzW2Bn%cdUag)~_?t!yJj{>H0!c3v;Pke8 zp;AB66i!o$RoBaDeP}$`;K8PW8iC^<=OxC9=As~JGmbM)aKdK#1;1DR%#_Cz+B|GT zeQG4(i2UEXL{U`?<%mT!iWS6M`YO)|C~S-H$0Pw5oI5jN)%ev{&A)12WS;~9?RnIG5_1oz)EYZqu#RZRuDS#r;?buPhf`JguDEu~sI)@)-u%nPa23((|q!kLc55e8E)~^*A@swL`vU=@l5^ zC&9iE;|XgI=u+zfAhA%YB;{|7?M?mQDutEc z^%k^=vb$zn^BvPQqEuf?E4xDOmSK=M6>NF~DTxrFOBpS+k@i&e&xROJ{8<@WO35zL zcy6!lY{pD66hr1aB9z&WYjSTp%UrHP8; z&eR~e)OO>6a>=c7JJHaStXD8}HseXZ=U039O8aE8rB2H(u}M^AU^#j+k+;x z>v~QlW<^=1SpDkG#&S9I*5qTzW;dqmTg?c~x@> zoF9U(P_Zpj)WR9{kC5Sw8kc8z^aY{A@$q9>Jf@iJwltwNU;a zX<5{m_%mv`Y!CizHC@XP3j%obKAxZ7nX(JC+i78#tXJQa)hDW|yy86*z2c*dk`)ka zye-Oq5Y^o#;u5C-&!^dYJHJ6uTz_Dw-QSE8f+oxeJw9)~hylp?9=e^U7gKmv9HM5F%E6BNW z;H~7-2HvV;OiXSdIzJDvGdC~t&d^x7H^6Owv0Id|a(ncaNK(i?z9Cs5`*@jTO?M7W zK^Ft}HcykQlAAmzRh{4BxeqdTsLk?Dy=`W$EXR>YHBf}N%T;v9VA^q!UpXbBs3ikU zv0N`ndw1oo#_~LFC}my&Nu(8wU#7{qo5bwE?Ldu}@<&U^^Q+7B-sj0CKi=^a3h@Rv<7F ze07b>yL`L>+!+coz_vkyIVVr*hdGje=Mj;uVFJVJ{H<{r&;M<)=|a^Pc~ouM0uNW& z2-nyGYbVsLjtaN^se((50-_s&N%6@YdU7k1V_^|gdp}%d7IQN^(j9(`nt@jBQ0l9A zK2MfdkTa!fp=p!@gpHZ>Y(*QaGuQ;m*jq(YQP0b{`f9}-eI*<-K&zE;^c8P^bmCN% zM|AHv`WamN?IL_UQ3LD&^$BGpjS`#~5_YDc9&TqP$KFdpgALMK5v%TCFE>wZZaY8Bh5 zAIYDN&6UTpm;S(KN0z=)F3C?{9T8_@|oq~77EN9-h%9o8e7Ug~gMA1b-3-Is;Ka+0awzFlx- z)?Ya!3xV|Qhx?XpUr)+^QDwU%S++~kW%~|zfw9uTG@iwd&^GEL#H2;tFQ}k6USCHS zNeb82G|9AAm(4GjsHoIgC0Z(_Z5Go~$-7f|TKYr;Q)Yv2O)$461iC2T{ng`@|Kn1` zC!~hLBIH*KTJrKx47rni4y)mRD`zaL&i1?@ZcFHy zul^V!)GRD{XB)>B0BjH8qgp5@RB*oKpcu@kJ58 z5~R~)CC$9SB)(oRm|JqC*mzZmPnPzBl;o4Xc=6BblZ%2V3`=U^PAYoN1jIDcfbGWi zjG%tYmnv;`DSlCZaMY`s?Tw4EJCXg)=%Cmp@*B~C=eb-B)zZevoRMLJ*;YKyK`^53 zvkFbP8=GHd_o`b+m=Ny3a+|jel*0}``-ei0Y1%;i*wzii)yca%#FlZ$%Aw5US)U$n zlXcwfmQg@IEBTH z?#vRNS3@Jbn$KgbF{@S46)dI*Z$`{@sa77<%gf5C$ti`CRkXwnz-qeeMK3!+W+46v zB6|>{NR^#`bJj#0MhODiU^Xr&^Hz=$X!Qf~LT$&G%jxlXCuI&}ydMkfA*pUMvYEJG zwr5eWp7V}H<7%6=sYi|r?HiFPG=z8t=nBt#{?hI6n1v<@i*czITA=>wmMi}K0sQ|x zTE>$b>?q8ELz0DwRdR!1CgVcf|B<{X;ve|`d;g1nes9n}_x8H?`oV|)#n0VSNsZG) zFar4Y&Hs{cKKw5|?7ew7i{RUPPr^mIo<>KwVGmCq_xs`MUc-ElLdD?8c5nYceg3gg z5h@_l19q?1zCBpvksi2*-QC;6g?(^??d zHkx0520pUbZFkD=A99|4-^k(e!0a9F-ySA4+4BHC+^;%Wk%Z!ON@F%bjt!3h&Rb?ZNzh_^(wo+F697_aGC~``9jhXR%EFiREv^m-8k6az9;;?vMCb zr}shcXwLPz@3GSy2QsvEkhG&IYVG1J5J$$hFwQCgg}&ea5RS*oCOPEfBpE8BsX@^JqpG*fXNtl>Ly6x%dyCCISZ*L_}NYH`X9$% zVz2G_&L!eAo`OCKs5lE@N;Tf%K+d$@4E|1?_{fF7h?aCw7=z4*_jt&0gwek$a`*<` zol{Hm=6RF!5_o*PUZUSWjc4mA$x<{Lgt)GGe;RVfUv%r??qcun)iRDQ^=m+HbHD=+ zcOK0}cxy8_noc>5pQlHpGR9ewgAkCu3POoPm>pi=Flb19n+76&FC2~FA!^9pd^^Wh zq~+VDxzrYiO#sHJD9Avx?8x$vVx_%p{T6 zu;@mfYlNciTj_cNlZfdOhKPaBR##ZPOY$1=GWiW_V6fG2QS?D;ViNcN2oG0aiAj;SXV~B=v zGzsAV@McLK0JCTr-XY18;PR1#e`6Y?nO`z}Y_1#srp4Er>-p6Z%kD4XhKHqZV0sRG zoZy1-2yl58aqAS_3QOUDEIl}|C<4mDrPK2ke(}yTICf z^?d+DJp-*CFM$XKL+?0rc`&VYCUe1-@%nQWF2}6Rz#Oj73Xe8;WUlK4E5u=N9xg~Fm4z~L17;PdX7F=F zSDy5Jynv^f56>BqQk$~O))&bYoav>(x3K0uZO<1umbDYKi^H>VvSYY2$8)||Eu(W% zegO^3X}AD21jud(e^h=m1hs9kNH7Bzrh%`ij7wl*+C&ECwjhI}_G58O|> zp2{JFVFF^jATzubf4mlaz^2&1d2%JmKeuN!7P1)r9>u5)1BFMZO)p}7yU0oKvj{FL z7*mC=Kak3)H7rrMfDhC-i-gn`a}ex>l>?IGb=vGA0jM{Te}UYsOh=q&cc@U9*;D!? zQZ_%sTT9y~AqGcXd61iJ2;+zA;p)=M%Bp=U}lC!P$!kLOtTnLfpd zBhw6OWXQRUf5Tvis`U^_dB}WrNSFDqzM3biufCGpB^vkjsPT%9)+j`Kml6RiAdq2F ze(YtO#wdPf37JO1IiZWr3@HVr1*bGrK0KaZJ{IzG($77Yt4ds}dv6GZ$_?q8KDldF zHJWF6I8_j)*SLmJQ8Ykqneucx)ik=jX6}8*E?a=}f2Lty`!RE8JO&8_8x|9ZVY2^P za35lKxXKJwib2J08{El0$W(IoYr)NBDOA%r_jXPtX3#q?mSY%A*-U&9P0=PPvH+v` zWxP!0IBLIt3ZES74<2X;K&R2N-#4`xrOKR7le2IdoIHPZDhvUzz3oo7rJk@nzPYV2 zJSVlBf4+w9bC@GQ%uFsHb3#5{G8#O>SDGWL8#kE7=NGW`BPx4oy?_rbmhmM%Mf%e9 zs`jh+kMw#1J&Q9Fn#<9?&Nvme|=?Ne~C@?ZG?6ve%^x3r;2b+$l5Im z3$e~zK^TU)huLVO-|=u--r&z!d~R42eFMT zEwzgn!0>q&tL@@`!67^-`0lXu{uV^p*?c=c6~}`ZX_udu<3WtIb4}7DQb&~|&mszf zfBSB^h{HQ0d$=2aruyHH>T?8j%Wr=pj#)l_>feZ{egl%qXYFkimGs@7o9K<*k!=;s zQ0#|nG2)Ib{ss*^j&3(540)=hkueI-re;2Y`C1=~sM36WGq*RNmh7_D!hFK=?;z)_ zwNb|}{|-um8g~1wZ*y)6g8=X5s0_lge}_fCa`uNfU!D_23#xX;2BG)7(poD*JM)~` zK`7F5@)fSluRETv&xAPGtOWt2k}3o|sWJ`<>Ta9QQrf|0xdGEHd54B4jW`=Q}P!P#^gW^gP-yEx~qmflG zG67eCb5?Bf108rQMi9llfW+CsDQCcD9Gq2?-r(1MN;xL^%}^Ki$LaU`ubFW^k$;P0 zqnDKq-`TOcu8ophRuP09RqEcwe}3?4fv4!9xzfjGAZOuNsmc6EpZJ(Ke~(nNaT1Q; zZ$#hsxEp=pP#UNW8opyUw-kZG>8b*{DR@K9O9f|8n65@7QiV{w1)6Je;)5J1Y>4J| z27L-|@B3&ukESY}bA{om3DHjafIMdKK`O|e#^j}$A;{?cor9V~VIve-z;P^0DzP0h zAaIX9H1sK3uSkT&X@KQ`f6#l1G5+{_Gx!-pQWi)uVjtP}ES$!?3<|9XJ2g^{rM~_QPD0f)JxHWzycT|hwuPv2}f61WSP;MZ8y>Y+2t=^cG%W$>wXg#g=ey6mSl?BTSo2BPK6LW87 zS-aESEuS!$9mBj+dEj?j6>>eZ@JAPLl^w)BH5aB{UJK2_zQk0l#Fqx#Ywwmn45b9hhTZ0e-$>$KYyE>6z9nU5~8dJ-_4_k#GaySCovq#9K)M%-RbrA%jenVDS0K^O&1`oceur2nZ)zh3wgJDcza65$-_yX zMA2Xo-gx)nf1tI+mIM1+VyyEjKAXZYfFutkcMdwO+Yf_fd0;u~g|8UE?iR-c@f2Mz zV$LcYtl}AHI^oPWR(Jp4_5_u`Af58aa(385~+uPlOw$Qk~o<)Oc z8(XtXI|DJKXRL!>h0+GO138OV18Mr6Cg+7xY`3#}aC-`)p_btlADWG0^;*5#lNybs zlg;$in&-QKpxBQqWm4Ss`;fdayT{p{YJ<)ES?MqWkXa-3YvH|*$sueF6x zEgG-=n{C7Z(Tc7@W(Aw{oC)$VPe;hcb4q#}1v&VZZDl7R$I&2x_Dt`Oa zZla8Tdb58>SfG@j=0iMRtg$$az1C;+X~XF#flsCCng2=@L_qJrN8zO*t6u*D{zK=k zL7!;qAU~>n_7M&w7r8lJU5MZ1lO~_kb9?gY<>`+{PfiCG&yqWPGWI!l#fI|9}1H z`Lm}-r_Wx!9Q=3;FP)rbVLk5*PG1e4w+Amya^t*wb$UGb{^;a;c=_n51A;xEdi*#C zNXZHhAp0rr2(N#9_V*(g1iu=boE|;-VetI;<#(swXCTSv9Jo7$B|rQ2`1IL}V*@x2 zjTji59D}s_QSZUg)2BZkpTN!-Ab$r>p1uD5_{Y=Zf1Kj*87jH39PoMO&AzjoyaNe` za;`1q9Gv>jY4W`N!V-I!M?8oo6W}L6T2DyDl0}uq{XUiQ8q1le`gWu_HG(EC+qM6%Zey18U@phAdm#FH*K5TnoJA=%AM?mV8SII> z{V2%aO0H_nX0tv7unsiPvgA53^dhF9kAGqlpOC8pf`ky{#cue=JTC1t&36@#Z+6y; z05E!n>px4EodgFi5!0Imk}W{O;?yD{!P*c&&SjU}1P2}hoe!7%1P2@hmoVPdmmCEL z8GoU$3S&j%cnR!rdSesi(fATi4n|O5R1gziG8%>G@1@bNV(ybnt$t~(ndLoJpb6&~ zV6)tr;_P^`$+Q_fqaEWxCo$kk9_3)1aO6e|t6oeatO)QJ%PJBNjMH=-Vd&9!@#_2a z8P_XGN6Q#CjtG-3CJNlEGnXXk16Rg#m*WNpFa|zv?>v6qml+2KECGa< zMh6EX2jRe4gz@%Xmv09L6)wew5bFbF^2j0stt>$e&wDE3^I#*FH$fD^6H!uPD3zP$%<%zqaI449pw1-489 z>k=Wi!nTsis%Vs#l|h_PjiTiWnOPo-^^9OwT8~r0%WeB<3a2&1nnexI#c3&DpNdM+ zlv1`HscKh#3s6Qf+loq7I8yELEbXSq==ttPl7`tdZx>sjga{7DTn3ymj4f5L`1uVN zx{@1KG*_cC7#GvRYkz!5_DQCs;+=!(1NBa)JMZV9<_g&ur*n{pOU10UQ z+j*8?k#JrRs@X7ajX>B0bvcoszPSNt;wgY5s@)+AhQmX;4B88J*j|uw4X}TTBL#0- zoCDq$8$wb%0Nz|;9YTC4(PLg(8kUwlF3eSa^v2Cvyz5$!5jVy1vR z`BE70z+a|Ug809b{ITHBh@ya`o>5)U)F|IJk5(|$`)2TJK4nO{EH?`uFS=%of2rT$AV2S~u zLLs_=kARA_On=tr7sP4ljN=isavBuc8&tuL4%I)7>-bP|mV$B>iCA`cUlyE6Gpy<4 z2B`iz_}@T}swtT9#5Z^t*dG^7ICWLA1L|o`S54zXKN!|?!p8hI%j zf($ss+<)OH0=>t0$;Olyd9&s`H_`e_PZtIFoK;|LqC30E=;)x1lkz%4Ye50U*cEok z4uBQDP3_Z0N`qOJewhbGRf{snQ2Gx9ID#V29qFvMsGh=aKLOV z6dgj};St}6E%=oM_pd)O)OV6jnP;Wq03#|=uW>A;JpzKCuqHKujilg+ zX@7Sh(=i3DK^p}*)3dM+i_^OM(9q!#r^q7}6P#2>Q;)W5s|-2^Erc9ZY3QObq**xC+5FS5px zYm=VpEJBZ+NHk*>oY3UgS!DU9=W=`7pdBvol5R(H-VUF&dj&Z^_TxhLu44=p;AJ_; z1D}6`9N*M_#`N4hEz9rtxX4Q^XC%2$G#}@Aka~m-VJyhmBzQ$mBDT_D$IDbVr;=*3 zwglG5A|MSwc{?o1^U-uYrWOLSRx|OJd~yt|+Y0o^6A4A)I5*9TRd`(BZ#MTU?*>kb zPKpTlc)U3vK$AEouJT1P)rHpGRtUPnQ^kL5{2ny~t?o*f9mO?iK=MuUP+cbRSPcrA z#ppsRebl{4KC9Y45p!+|4<^cUj>BGLJ&7stQE)YPr{ReFV1>ATob_ z(Z5+J=yQ^m5@Ovj@yGuS{>0h%o=kj#UIjndBpt=IPAplSfm24wXl359)r?6vO|#t! z)cP}@TWUrYtXs(tYjW_Grh2MYhn4wbPVlFMQX29W?SM} zC%g8eJM;ENA@3e^lguuBtE?0jams%=FkX@D8Py}A+)tO2JnnZ(u}+!h?_icDtV-J1M>2-IfV7ZybvluVHSdatuvB@s%AzqMA62Klh zRm6vv3PNPL6`wv2cIpOmB98 zAYlXEa%XH7vp)kZ^B@DE>vT=pJ)B6FtU*2=zZ-1A+S{)?mr{n1y!&{ZE|80^qO zGqDC4s{)tMVdJ<>JGC<^yMljqxWz)fpogUZ9uErYO+~cMx$*HEZrVDwi#LI&jA6-c zri}F&C$a351DmLw<6$u5;WQ<2D$ElhPymGICblrP>v z^$Ig@%SIwXgqX41P5qQnZzi5NU_9CwBAV5YZ0=~Vr62;$#P>9nsmXs1U*CeM$>;|W z@ZfX26>v6S_^~iNB6E`!RglE%8~7U*BIC1wtxmB0YdpEJ<|F6(rP*dz23AvpQ?v-8 zftBMiq$OLKg@tX6VoO8zN0O(GiCaZPlxF}Yamj;!M_3i~Z55qVv~7-?D@fxaUT=9C z4`opN%d@B1xl7+zN!fo!x>u8c#bayxo7QlmJdxP+7>%ofL+JnxIkt$aQT)Na)(aB= z2C2+lv;01qF4#Iw1hq`kbcew&qs5e(2(H4>`;@40vYt|3IB8;5ZHmP!YNtU_ibv(C zhVD~}TqLT=P(Pt+MxrROn<8W^*rpOlf(%yIng~=BS>fih{vdzdr!v+|21MZb^x+&e z#AP#hDvQR-cT;4NBoy?BsEI_H0_;NsgyI14GFhpJfcb=M zB*bMDxybP!Fgkxl3)(EgZ%I$NeJe{>;`!=irGgO)sp=eK_(Y7NI^L46m};VLix)CV zDxP!p7A@`!orws0iZqgn#*y&|$x)7CKyO(536vao6(0vJ1>Zam4a^FNa5^O|HG}WD zab!ark_$pEM^7XR3}Zy+bVPvQ<8d_QtrwT&NNQ|ycF%u1dN|Gk2~`pUM^JMxK2u!n z=}{dXORGpIBV7zBgj>+bC=#4T26vMvG7;=16*Jyc(~B`w397MURtrf-Nlck8mk~=K z^feDMB2scFdY)W~7;F`X9K2eN<9WD@F`miq`Xj9tjmpw}D+2~}7teAxz4+XcgR*t> z(p)ZSv~kWZ2N-(p5uZiNz{9Nu^+w!B3VuUg+*>*(wZK z1zVTpLzx^#$&z|IxD+GKS;=`PXc>p5Kch&Tjrk_3N@AW~*l{j6<4zFG(~Bj=iHK`) z(`p>42bKV68}gxM=#xGR-;)uM3D)DCsl?;uP z(q41|fk{)ubhI0hyp=Pf)KBT!dbe4zns>?BLg~S0MZpYUddLrz%b*8GuR|m5x`F@SZCpUP29&gO-DK< zjFT|bz%sZiC9_d5Y&P%H69f1ny+5oI@qyCFWx7`hUr{hPZ7kw!5>YOfHAfl7rAmKm zyYC!-(d2C%B3(jTh(2o%J&D*SG2uNF@V78-K1 z<$#G;-rfspLMQkJGtYj+P`!m5wB8K95k0kOBvPua`wLFW=s%26%qQ_Qq2R{I!jTG- zcH2x0vnYkC-OyPIgJHI!^N?NArWk+a1PpNmU{=$ZFQPJ+Sl~G=gSraiuuPUh5K6%lZPcU5rkcYg05{0i2BO;H)}HPRBcDP z0EQtG*4%CcDuy02?`6Rx(+`aeP~ng2BBnwU=Q?s92!49ABP&qTF_O`c|2Ti92w+=T z9cC+xz#BtRvBfpl-#j@}4(w0Rd@NHmw@lD{%qA8}&{U&VNYZpkCA(H`jUs}%XLY`? zx3`8i@IY$(A|g)M|7Vo;=BJH1PPKYH*JlVyUworHz3*zWRe}7(Nv9YHPQj@K z7p~BuuQ6UJVpz(2I$-BG9oT;eP6MGxl^|W8t){FyuT{34Vowmd!7F+%P2|PNDKpm$t3)E!8b!c@cZG-P>cpNA$n%Nc#Q0+}uW#K8$ zPIKHP@d^;ea2mMS(vCD&jD=4vG*r{|ob#dB90qp_Jp3F1%rzS@tA>BA>hnkiTyqEe z&@vsWso`ast~PXffgN+`Y+lOaJvHUR5f0>A}4YxB&m6gWHnDKaKtHO)G!+eWFv|jhm%l>QB1f{ z6sGGN*=0wh5K+^6XJvmjNtvcM2`#j<5F_uCwIOuX_KUg)2I-OhtVM2C*jmggQ+C_p zS*li%gJ=0lRn;_8d64CBYKF| z^^VYNkIu-P9Q+&417jBUc_j$YItCW?V`CZDxey*~6^_R@2AY2+icbDj+-pFGGbwE~LEb=E0Tznym+3ES*p4spiBzabFy(PHjbvuYj1%RMZ%kzV1s-Sa zn=uv@D&R&6&%2#UlgQ_Gh}4nhd#kC2Nnt~|g;Bbmt_&HWfn<90h$=fqJs>#hGgHB1 zR%VV0yNDZ?=^lTA>l(J$(=R%D7`sRJ{3OrTKA25l(w8lEwhQx;o~Rr-q%@_ri3 z#L9{zi3OBZ3!gYO!e?k-@U&{fg!W7LkE;=OO=bCTDWrdF)BQcMH>C-To2K93^d0L< z!|v)9&T zgei}cHN3Ht;@LDdQFxe(M4zRw6iGn!Np|~P5)va`^cXUr_K{0}e~^=_cDcx!DHq){ zXynJbI{|;}8B>X6Jq|4)I}s!D&n>M@YjS9m>kySmsL+hJZi(S4chz{oAYAfPfl}nQ z%jMpBa`f`$tJ5mQR-AQKk}1y4dR7m6C$&~emszpJ`xf<9N*lP%0xL2`FTb;8ZFFDx zst<@*MtiG>XBLhojMK_$!-Z5+NlL)yU9sguBhr78;wMqoV#s5s7hIsN0`}=95$VF} ztsMGS*RWe7Ot6_dXUP&i5@z_7PLlr;?=fTwN+@p>6LFX8IZ+xwH4Nvo2ri3>5fy9p zt78(N;jMEtKq4NX7{I$E!7?0{lxrdvT4a^a2ZC$+yg?OtD}DaOO^zp>wlu%Vvj^B6 zM6G|WK42o-tKLhzOJY;EC&LeI#zYXF@XltQcTv&7!_PKE!XV}BaK}SC=1E$tB33ad zKn9hWbIdFy*0)vgwmbH(|1reIS3xn5oW`V6*6x3Z6#t1^}=y{)tkRwVy~2 z%LY;Fb&6x5uBKSfa=oDAyb?zxt?to$QP(!f*co)B0bF& z6CSHu1LdZZMoR@C@a$k1GNXYD5E|Yc{(R`Xqa24>e8KCf^gU7@IWB6<;Q-SpoJfD2 z)^Lj)Ek_sVL_{YVg;-2TImV~roz+EVhpmAm^p$>E3}WQ5+3>%KE@Hu+(-C?Y1jdJs zlH|j@S(rs5Tnj9)z-*WALGc8h3nZUj#0yb_C&Z%{)c(Kjdn&)-D9&kAVvr6WGrA-p zJ|~s?kCwo0M;7i)e{rg&Kd|jv|F| z3_@8_u)oq73w5FNf`ozy(Kc>EZdJop3s9TMqt>|e=TSyMsg&#k`+`0m2LT%TLFSm% z_@-q_9ZIe&QWsocOaSa7sXMfXlW3KXS+UEsG1?uMiAo_WGSpNgos=pfS4B#LFcD^X z*^iH>FNLT6KC?U{K9zEO-5YGSsx@3JpxUmlzHW8W}9mW!XlAFHQ>H%!f!K-_=N#QZoDimgYD zt-nRCGj}E4_+Vj1G_TS4s8pgez2*9aKUM3+>>RzN7Hoe`=Y1^88ITsez&5{cXRKG>b9}E#UVHfw{7_1jCGeS)GVkgX z2^;_V^KFvlC5JBi#%*)!?Qu$v;mTNj8ga@)l-dp}>1V=>6%tXdd>^M_YmQmwDyauk zFd|tE)NpHwY+lhAV}bucU$9L5p>m@sUs+XFcM@DCQ&<#*z2bj61wQ4BaW6ze$DA|Z z11g|P#suRvDlv_#4bM^1bcMgRctCk1WmHh&ZvGCr`Ki4s5+|FQoFqsyi6B$ex>qt&2X@fYumTBWsucV5DS9r$?M;Df70=riW7p6{v z_uod$#@+e~VqGqLeaF54l~$xm1s_@;5hV&8pySrw(DAWSf9p-);B-r>)!*eVAf~1U zHxM+WWv>ik=8gty=Hx+n#+rNC8 zmSBq55m(jTV@i$f^P(G6=!D!!jX~m) zM<({c5$H_Uqfvx`w9DummNpeR1R%D_S3;&-xqRyl#(*HaxA%$ZPZ4htMs+-BbzsXZ8JGope(=K6EhayU3C zoTiD)<}|(HCL_st4p3Wl6^R#l!G@azwMtc2e&B{b;85~>9_lhuv3FRN9vw{O*ql4k zLfOb?@jRZbXMrJ%sq8*elGF?g?kwoUw2`tp2xKylGQ)&n5di}8D1da!#kF`eKLCI5 za}=DdXA9xQ;F+ziV1xVYO%ajx!Em#wZU|E(|Kc*Hq!p^*kDF-?2!e8F17>Pm_7o2p z`fxEJ9C-!Bi4PsR(NG5~2-g7@!9lHOMmfQI{z+ zXQ$;*nv6#4MNARd=i$OQbPAo;oKb(cqz%=-OLaF`MpFdBSFw3kYh`wjE~fFy&{uuR zbMW<}pq1uu*X7d3(<7qs{eA_u7M3fcY!ONyJeq#vRMAvoC6wrT>@hV0^ zVp;Rpsavkh{sp4&8uL1qBr0uIwmKwt4(DFrURh2>HLNvZI8D+uWXk`LIy339zf_Co z9B)vB*k?NsgfNi792{Be8Y)#uEuyUoVaXho*M`ekpNY`rOrsVDmYz*=<{Xi7<3KY? zF)s9ypC2_J1?id0sPGKyH^P5jA=G6{D>OFJAJ2sj5@QVN*FZuU*x+SMjgz=39A7<@ zNThC6tiUEB)qixuB`lWiYDPY1tvi-*C-`X|UmFvH12V$!@wz5+9GO;_s*;W_ycsgs zP%6Y$4@8vWAQP6TtT*LV1K4O4WTp=VTCOz3yH}ewOfGI`RO9>cN-KX4hB9W7HqHJj z$p{}d9LZf4K~poCBWs-?qimu$KvqDgop>$gwv7IX%#^@K6lCcSB8@OAa1^Eb@LJ}? z9P1Hko(dl2HO5OANchZQ^xT zl^;Z8TEu zESG8~2Oj~>mx?9_E+!)nDs*s?mAOcs%S_>8KMXFUoqfJmZ?5N8%WyGBmNm2Na=-tt zm)<4^GzOvcRAc@wml!7pI~?{>He>wSPRgppZ6#_|T&XE<4WV8rc=^U0T&9z!6^*8aCr;3FjGZAL8BWi{jOgSc*k3AG?^NW{_Ca8X` z8)Gz`^)61AQYr^0fA;d}@jqM{*FK>rTLXhq8(nc!izL~gmRzQ#grfwahm+8ZO$2Dw zge1lS_A+6e;GE z0?F$#FVfuqnGmL?M`cj1$nQGFBQH)hnJ(bU_pcGrlM;^>%IN5GSTW5BCYmf{VLpR> zQr!a~4!cWM5>)ZsgtDEHJP@S3IPgppO-aIq6P$=nGIm91v{}F?7R7Os3|^qKWS#7Azx4#;6E#GjiEjDhEAh!^QJNA!$nol)@ia z22pZ+5eH6DCVY1nHW?Mk9GcA`Bs?k|ChrL9L!~U4)gUAgnTSL|TZDE^`}Mk_ZM7$V z)1#{8%((HrsIQ2Nbt<2-O;JOh7Lm|GR1Oyy>~=cp>x6ic(5a%Z{?^ z6)^8&Q6w3=DT|DyR2D|YyN%%0Pp99#diL@=zc5nGK7IgP=%(^gNZD$fYdi8bFUJK3 zizj6je{w@1)A~K>;cRX~WuERg#9MC=Y|b_*grIp(;UG1oWeeuV`CU>m##o1G$ejT~ zIUj@Sc)$^tD>INKbz7YRuVR8|0BW%yss)8GE2J;uS@Amdp~yAE$cBN{GV$;OSpFc3 z(owX;E@}>pI&%jE@ybD%<)@gXFf@)%O&a^Ke`YupOB2#fOp%oFtfEfOu|ymKAPp1}htx7UB_SZwEX#Wg`}(u8*-}JNO4zHG|^~KaYXId?$Xx ze>cUi#9`(!Hwhou)4)xS*wF_NWjxBXLJz z%|g3o67bA6%h!jD+)E-mNE#2s(ZZ=Ww?S0qT|plpm^S{O=j57oYp`MQ7#NJ?{lHQT zC(_${SPqKW%rctA22Dy$)^q5DpU#lsf3DM%IZ%geH?Bx_Ki5~@g7DBEE07u@bm z)N*8t`bauVMc|-h$(TJpT5;p11=^nHD^)LgnwYr{WYtAD;{kpna~H6f=fG3nTK(7=UvuHjPM2*F+ww7V_G!z$gT%}3u@*U!W;}+if*uIT&p)V)jxWqu~yHfe*){F zGD)kP@q zUYx;4d2<+kdU~@E1(~j*FUOh>lRQ78CNx)e2$C_ZVZSi$iArWsS20uhTT!t;Qvh;U z2?GCetV&Lj7D<&Kb0c!CB)KS;e{v(uiP|@(EQfY2RkB&dRHGGsU5f6qxe*z-c>y&V zS|H+AvVmTK1kQeiDzR7q|g*( zysR{zP5AwQ*PpSqvz??zmU{)9>p14E3Z)RG+)+yWg-o}85)x-e>8|m86t&+ zVBECdwB0(YJOJ`)H{YolijLwyTphrKE8J<(FVYp$G~P3QeS7cK8LEqH%XcA$l7yBC zUXbK#Z|~V02!AS+f?^ku{W|`D{L$h^NS~wm_(Z_4 zmNo*=2ZXiHG$OM*vJpJ*)R{YGd=ZImJ{{Dax8W)P5EZx418XO?+3XNY*xVP#!L(J} zr-g|rRb+SZ9weps|z2|nOk*QvGF;iIxblV%ly(OFif2SKQlQi8C!3I=J zhQc8xlx|Im`Z7L0=M)`SluSzDGSdJa5SVH9h(TTF{%$N{fhyX`&JGVnvt&Gn>(yCu z4I5&j`FXqH&d`HYn6^z>G!rrD@X+&9*w- z8jY5PfXPgnvMG#i%)(eh6Ew+`OopM+FhtJQLbF(siQ;B{-$^+|i>GRni(Hl86+LC7 z18Wd1lF`LLRLYg&!?2^u%WO0FF6O*{7Hmr{N1zhVjGnBie@geC2L!&MTl`UZ3JOP~ zpb=G>lb*98OAwv3pZY!xsEi1KguU3Tx{OBbc@&Cj$SaX;FDFpNh6k)7USQcJwBRYS zkaj^G0VY|Bu@x2^(G(J)ybzlsJ_>5xj%aL7rgy$~L{mzTlckR3vlsLTb~i9KMOyr( z;SDHfO*73!f5aIL#FPe1j+WWa{>r>4skQfUwuv?>Lxyo2}4JX8uzeWyBzFGf;FF0 zO(CFee=Ro8QN{|qnS z}(*d7;ronGi{+e}=4fwm9+$AVYANxRMN%B@i|!QoQYX z+XBFMTYUe7Z@HZQs=A0th%)E12AqXM&FUFAbJ6(2Ee6xbW*z|#~8VKN-+5JI| zF9~qyX^%}>{&9dG|Ndvw@qO_w)#a5#fLs{05 zf6~{Kt+o(t2n&Sq=bS2}nsQg;aAPMk5Wb)@VZ?KO5{^rvqXcV{qw}(F4~XZ1I+nfg zI?6NVo|xxLyK)s-6qkc|?05yfg+q*??YS=n26L|<97fTp*SYdb1irl5_3tx)3j;ejFP*TI;7%e231u8{Xu%5Wy5u4b z;C-5@>be;(9d7w%P&*MledK8OjfpBztRG-aAkDqgnV79@)(^tnQ0k+K> zjFSPW2}Y=e;Kx*488~)wKI9%0e`z+%4+DM1R&Io#xl|Pew4m_LVnNrj%xG+AR{-|) z%oVbbRSh_IV~XmXIi705LQx}X2|9y~2i83^*<&i3&JxY)*Zj>)MbQwI13HdJq)c7e z0Ax_6-J`Rgw_WL&AyNq_LddjO3FPG=Q-}c8L2j}VML{rp2T4UE!^va^f1cWbZJ16> z2-Em%87^ZPGo}k)8k(ETXsAL}qSj^{RdQi{GK#AchJQtCD(E^dN#FlBw$j#>>3RC3SQfjMH zqw*s4xO{yEJj^LNYk{#aXNsCrfmL&}x-J^Q zBw|CUg1nB`QI`Osr%YH6rVfDWyPS*qkbz7|lhmO`Uzj4!qy=ngJU>U<8xqWV3A8g- z{ho}}Pz;@s`Z3@--VwFQG5tVZedCp=R{}#|1ryj8n!3@4&>%u|qXh%9QR_06MglQc zv4orR5!QxbTQ)l5e?)mxv$>(-PQ+&7vo(hiDOcLav=v3F?qor&u&-o6_#vWnuney_ z49g%J=Y z&_wG9rSBR7oHTmbhg0mwjjq#(<4xk}N|eZ7!rlHdlo5c)e|T_vQnYtakdQW{3&VM=-06VG%Q}pVU%e-laZ6F=dyqfD>Dg=0KY1^(e+v_9T2j*yLZ(zFU?a%zIh#Oe89``_2*(Xm`X~T3oUBAyV3-v^ol;+l zhE-aVRxXu@jL_vt&N-y{d<|@h?FzW4niVrfF|Z6CW>dEy6Ah4O+laQL$lxz!V6d#n zqR5D!3b@9NIGF}wkSfGwLMD2*^k*yaLs)W{fUZG={qpT$|@ zDH-wV4Xh&=N zRL_Kh zCkkpXP=m#K%V~&r-DAbA5hK1a?gVukB|ktie_g@dO>%gn3<$ftE~6Ve`l}D@LP{gk z96IInEpbC9QRH;ql8Oj-n)hUeO0i^}xI@KrwpNq8#DH;bYAUN{*T(CJZ>P9jWP_ek z#a>y0lo-nDx-OH%uFN~IWQGh*G8=RPT}4x8WHa6l-wZu_KYUlS3p)4vo+s;eN{moO ze~j%h?ys{rO}$A|w-w@4%2U4++{vOgOJ?$&4fQb?DkF+?x7mdwjnY7>M6&4IsEf7h zLe|m}8>ZTi%Zk>OQLu*`>M=iwMj`gg7`Gy9b!)FVmpf)%^!v)Wl1mzq!D6W*E<9iC zF*(yZlwF6P=$vU1U0RmWh6`M<72{3_e=(Mco5&P}`fg~+I;-FB8Y>chCnBlk&9LN* zhVS}pKiD8K9o*Q(8Z`^mj9GtXaA?DhTbWfGFXsrB+JTA(a^~Vpt!&$=nu#Z!tfy04 z89e+3=KT&^e*vl0Q2$1c8(Nm@*_RCb!h2#1o+sx|@iczmrRq<)YJePwL`oBs1+iK^ z_&S$eI|o01C$CDUy06-|bv>H&|mz}(c?ecwpLfn!C_kAhL50QXSMNq^|=qeH} z{Y2jzfkmp_TZS>^T4J(dY7L8OFcqhQt%X}S$lj*)y^K#qD&aU&Jw4S?TG!CR;DlgF zHJ4REAH3P>`>QUaj0pie{j=yM$uvZemnwJzCvDVGKv76_4$$c`88b9ih6i7v0c{mzp4EO~xQJ$A@x^3~h}hMVoXrDry$tyK0f~~(#KK|bR}?m)a;9UI zz-Q2w(3(k;w#GF`(pZ+<7W>qSz6PS&sbi6~T!|TzVKkIoA=Baje?I04(D*xFvfKgw zPx+o7_!`<*`yj{Z%N_n$MlL;}jx>(OGE}F_j<^qM!f!{n5BaInTjc3WT{S+zL@KF& z{vP>*zrbe7P!>6y1y6oB;GFG*bne~`Qn#|JN{5kw2N8j3fx`CEG#%+M4dn`C?LA40 zBHA}MA#?eT+}ok}?0ZLsZwBO-somq9jF!Q$iLv&wJV&iQB<^r6185?VL1bQPO&C74 zMAqT3QaNOCarUcFt4F3A;OkTNNXX595oTlIJR$%0B1uCoW5>PTWczW;rEArSNx6R} z6-9s}i40GmhQol0dsV31T&rP)^mwT_)7*KW)=eTtOoaG|+W9cJh%8^Zvn@@Vx`^o{ zo0J&iP5YhBnH2Xx?XDEW%7$m%kChKXq%4T;`MQQ9<{27i19Y`$d8tWXI5}j0I{_Nd{XiVwo@Q4HM!(ilIME^sJfPh0YEw;vP;)ziSu_1x~#s~9CY+gQvV>NTet&~ z36P@9u1meI>R_1_tf+9PX)0&sWvOq%XEz%sj^R-8CuJS{&T_i@~lV zG435Wcc5Cs2jT-6a0%xq?FT1+?C%v?y!1<{R&dy8jm+!lPy$hH6{|?)ao`|?j6uIi zu#F42m?ZYc8;E2ueM%al)n00y3lvpcT7+57T)S)Y^2K~U*M^OKI4i0VOYYe8d>~p7 z198hll{wZotVtF_Ctw{Ulz{GO(JE`!g{qSWjZ zC^)&f^p~V;j#Wgd)p?LglyH|gE)%QUN{kzzdBwQ<Qv?sN zWWBEs{e6%^>~Xm-t$6Iex-ST1V1Mk^{~XPRPKBmJvYxIurssKoCBB4}h-$Tx$04W9 zl8*HAnPEVvd0^OeuH;EZy&}4sC1Z5*A}p+hXq4}>N)DQ!PINOi<4TwX&QWnXN+X*O z<;KVyl&e@2)pGQB_)=tbT(1Z-x@C6;`7)>!U@C*9oEh0-Krc_J@TRcI6dN70`g%Vw z%YPaV<`nUM@U8fN=tO*CJdL`xwz;S&y;HWwoyUQpEoY5G_`1BNl8FyLsNsLiYnX0Y zO_|#LK3X0ldaR*Av)9244b~wfr3#S5IO~a4Ynyf@9aD_aw14kvD`l^ zX?mwFwR0{%&-##TYATIJ-XFdTz#!J|NjqW!mz(_mGNbc)f87+Q%e2Q-0r6pPoW`WI^1 z<_bABk}q0rP~9*>BD;inzfYpV-!2sU4zabNTZNdiWW2wZ%=t!k)7@ zRpsW~=S%L$P*)61$&Fx@P#YFW1ZUvG=Ogy}is}Dm?>>a@lxm)yBo%wLYworVju@`dL-@jZ@Q7mEpF(!J)4r5;KJVyQ$Jv zu|55Nm5t_paF!&~k{Y)CDyZ3+4}N8SKx$&jY(dysn)Z{Ka1$z;;p%rU15g}aWz$H_ z5DPBQhS&D>RQ3|EO=H@5!e4UGvY>_3v`)#HkeSRHQQag=8j_`+saJ!{cpE#{wo|a~ zY>0|Aur)uv5}?P4Vm|9w**TGoj48<4pz@4=Ap1G8ikqepXLFGKm#p;Gu$cmJ@k*F2 z(KIJCo9qxSTLs5xBv|8x@Gtm=Od-U@*=Wve1o>1)+{m15hg@lf0z9%YB{dK78-Y1` z-3U6-@6+*go^a`4anv&_=%?d7$&P3AB{Bb&o%$ux+|@9f@sB@c_FyCa2yqoR&m_Ao_tr<+ z_LJrWbGi2}SCWX5Dr8;2p3W)YhvKj21=AMi+APqCIud#(OfHsfB6$%{+1$yFS^-Vf zwBl%|`FRw)DT6WOBJP#EBf~A%$ZTML&{QH@J{bXHD&2{ymKgIkTo=O8pw$sEE=?~r zlBv)`>;|FM+{~Orw_x<`&DTNO+GazZbEvPy`5c<|@f;2@F>muOn{n21aRB94qDV4l z1trdC%$t~4Vh8|cQ5ji}R0N`6-+Ci>GsmK&N$?M4b^>7 zvrH7yb534&U2 z4O7whL;3fw_2{{J?p8EYLj-Jp+PfU8%|$o{j$^E0EQeSx^cj>zsU~4QaQfg{Oa-@vZVY_Y0 zX?Prj#$gt)Sz=J(k|K+&r(}Y-5^!=g(#SM~kV`LysSgSgC%Je$q|tECK? zN5PxiOq#1?KoKpqy2=!nheiiB48s@znRVxI@#}H#!k5WL2OxjEe9&?pd}fFLLF^ET zqAE8mxY^wz#$awcC#~RujEZc=7Er{hKd^wW6IZcS+07MVkl}6rChX{sq)`2S-p5oNuIIyPEsbFuG+ z$OguwLyAj@WtDC6MMU9pj2To`kTxehU1RSM@{Q@|4EK#CBSaRX>>rPLg)UC`lIqNA z_Wp`nnoxgMpuy$I+Y{c1j(slwKrMV92H!@}4n9UsP?^_S_q1^^JF{DfXHH2(j-GVA zKrF}cbVC&m$z`0r=j_KD_S~2`^6+|t)MDwv*3EzHrTaKu1`>32jSTd+ZZSom5M z^;CbzNUktnO7-u-1U{oBgzRex6r~Yp=tc7zQL)*1B&d2&EYej)`DGUUDJ8x#Tq*cz zI<>eNHG`)|^bG3?*H*r5T~uz4u1AsZIx-kzR+L%W48Bd4*4DvoYZAuGDcOyQOv&{c zQ9X40JHL4BWEw5wa4K;ivUcH+t;rQXHM4(`9RsfC8wLh7GsV+E>%Jil#Gm7tj`})cK*NW@pl}_Yu@qCO~-GYbwM#^4}Nq=%< zw9$D&6ne@Sqw~!3x77dS6&0i5S)NK1eKtS;q0P@lJNAiY@Ad z-I71wdn?>~&1{2fMIpeTBoX!(j=b88zFrGC=eXOv+&?1f2;{>Zr;#4S@Z%6L5#|mH; zhZ+twH_{CINYX8SDo)BZ9FW}ylS7`1uD1=)5-Sfl9 zFQsb^zq{>Py88ySJsa9b_p}h}ol;mgXWI46^ecF$)J#oiJ>N{7lU9WHO?KL_7T6=l zVuGV)*s0YsGjon(5xM^K1kHa&*dVtpwM1?TYn>Ho8Nq&o#Pw3NI*{V0%uCYv3+In& zI2uP<^s%zqV{o>>mCh?0UW1C@;} zhAYMyf%sP%Y(aI{=rj~z#N8x>N7N3i%WwLla)2?T$F>Yj5k#yei|T2%*Y1=)Zw0<+Yu@BU^)E=marl1I0J7sa+vkDPvr~F=)8k9zd`5~C%MdT-1BhgOe-zwH{pDzoXeRBFRIWU>= zF&QSzU&U~>C1IAH&$K8&Ko1`b)1|v5T45(5Yl=5fj$wa!IMj3wY!LUM!-*EiZ8-z1 z3oZxwLMYLQ=Fu&kJvlF|l~mVPfK z*K~E!oX&qOG-Bcs`VTeTn#rjOEFY|n1TnnzWE7o-;qF2AbKHN{O1!wXZZadD z!^FJs*n8+!5K|*V!}Lc`WKs$6E6whdug8nTbARMMgIjv_NP_ zR6l>7Di&tS86&HU*tY=iYI~G1Hbf=hIXxn1!3umcS|`;TW!hlth(m*tDUp+gWs%{5 zXNg)s@cxKQa4WOB${&P9F+sqZu(AkN&+z(~TRgy$ejvg#GAz>=-DF_j#7WRP$P=4f zQ}*_&Gv;vE;nNhK6e#s78JLsI5uz)x#SDLHJPwiCc#a7KLfc-a5AzVEvy&6_`dH0= z?oa6TL#`EdIZ+h2BNecTh=722(WBHha9>H1qJ(Gxwfuj& zSSHiMa8>+__6-*(FX=oavbfQ4==8e?lt->fu1tvq&B!b2Vcx53RyM_LnG>~4fh4pN z<;eMnj6}h^sl%1kBpl7fB$qBCq8mp7jf5E(v05et^^GW{WaJe7LTY;X=I_FE0Y4EQ zCQ3J&3&F{fX%Lo}<3wTxv~ObkP_BP?p2hKAL6K}}z{&6MA8I46#-2K)pH^A3F}Q<- z$y76W(2&B4T>OWe7;Wl=hHCXm08T)$zsdBeuX;h-b(}VaNK~2UEBb_lz>|-CMN`I8 zz9e#>N3%=YkjhNX$Nq5nsjw&)9MmFuNiJbVgO}p;5op=(eev0ux7pT$vGEt%2EY)1 z(E4otXq^G@kvs1h?HbP};+3rNT0#)m+HWP=?5oRG`ZR9ssZa-}r+_zNjb4p`)%8bh z1TJWI$@&5F?Z96L^pBKo8gs}RLeE*=0@+0*N0`?zu6Zrz_Z zuD&ks1hN$!yFKvN*r#bPzvsp8@&WgM;UD;W4*&U3E`F$HzWswf_d&Sq2<>SmIQjPT zKX^Oe{t*u3!@%e}FzPZpJu`1pJ7eT^F98>Da|YS;tw~^1f#T;%Rf$k6e5a~ zo6oaTnpU+RZyKs`GG7s1FezOWe}XP+G_O^p9mIb7${+nOG{#+Mc)LFsZ$q%!NAQPk zgLv%?wy99aB*I{O;CrKw!;$|4s_ZtG80jzD!N}TX&g<<79j0(*4?=GKKrtntPt-hV zU26(bSFL^%M)GPEFhyex<+$&EEjn{>+)9mwWy8N2rWZsvZM7=h5jkERsalN$3t*)_ zkgLvN>g2ejo@#0bAu7SIkbOecRvKtQ6fBD;auWHkLxUeCLzKPa)BsUm6j+8>2=;n( zak&7Pdcm=?`pvk9P(DrW07gKLa4E4Ku7&q+Wu zj6}jj0vzbvVhb8;XiNTfIfOyFl|xd4%TRhND>NdBS(b2Wh=T zB+ejBiE@!Ka-GZz}KB14KJwH@^QF$;&n5ruVhBg2xK%r1>FmxxXn>0+(HM+V-a<4qrF zi?%cc<4`!#7STP}@y(9PZ}OMb$p9`kI)^y1vXK#oLtYkzwVxG#h3kw5VKJC;|JxPq zJ%`Ycbd^{(4gG_Ee1*YGkuUj2@CZkm3SVG1z`s^V+?rlmUp)Ss1|LRwCC{N$F08LM z{7rKJpI4d&k+1x_j~;aVG-+JZ|Lqy*)k|Z4MJ@aX@D6+7R`^E99=c4y#!js29llyr4{tH8g(lDs*gvR2IhyH5z>%Z)(TB~xZnDg4LH4BOlPg`V+8c=l29p^4-L z?(LRC98nzuwJ%~@_!cVNXn^@f{CQrX_+C z$?C9&Hoz`HyZZddG4ofx$sgK~rX|9!jL|cTb;>+``M@ioe|Y3z$}~|NTcw=_^I+`s z(KrIr!)OT)tK4=+7z;HHcgU+j)`5H{)9068GS|R=DL_$v3X1H)Kzi_udW&lzoCz+86Yk-uNZ9DnZ7=kLR! zWm}Ly4o-k9HAJV25S#qm3=w>3L-R+hbpD zg?&1IZ$svN*w#MF;)@%Tc*8uEZ0UK3f*kRuLTyKyIip;dV^X6qzN1X-{4j{DDnG0^ zb?Bdu(Zy}hU^VH($HzxFl-U!XIU{E!cH8($zjbN!rA^f6EG1|)Gf`9>(()ON;x%L~?;51q`pKnaw-{Fr%UGRb3=#qx_P#5{L} zopf2-ana_2C&}kW_Vx0)6t}x?V35=!)cW#V+HHi;qCFi-Sm31 zSTO@GXs$DUeg~}}1`}P@X)R%#Oqh_{mpmeWi?}W4-oWlLLy%H(a1e*bFq_l1ntn z$QZwbL6iu4k{tgGem{tS9FdVgF*j!fIS3wzP@_2uY-7WSP*+-S_Bcpd{Dh`|C8i<8 zAE*j+apcq~KQkEsFcN$TB*v5#T7?57D~QPipW~dmr0^&=GFQ<~38RjxXo-ky*+L7Z@Bq3-AY7eYii2%OchOUUBh@qctam{XvD~9hz zAx!d5g{{SjA2xNA&WG4&N&d4=p%w2FH0>zh-pX0aZ&xE1 z$se@Hf6@Z8Ja#%^wAj6Gk=gsz_;vZSEB=Nc@<%RqgamBO*QZ26OVtE_S>Xq`U|DAR z*;(@z=~Ve&>&=rtU5!dT^1Nz7*nkLc@{~ViD?IA>1HVr$Cq6fF>n}-cJP!hMV8aSD z;d%Na^WF}NSVF9QkAZecZsPD+UagQ4i;a&eT+KNbA)}Un{(Q-dMX9)vm`060YWlp0 zz)rN6av4$%yZH+w*1uhUPOc-41f(!PqW5FMcpgLH4_Ip%!(s(UH;du%vDO~T5RDq> znAM9)Dw3&-WyC=8hA9wjc!rL2-Lr_NFh1ao`=39SAZv&g67N&~?W%icsfF~zI;pvp zrx|}C^;qB!yqDeKox}*P_}>zBDh4E#*vjC_*i7DIq)ouX!9VWfGm0m=mG$~gwa28n9c*EI^t;t|IGM2;Y z@V17;Y|NDe>o-5MW!TK{Szg_eBGyq0dM;G9@NYu>3@sFY`RW)wo-_wTgD>f;P$aJf z35N`%je!(J68k?t%HFHTuW`h+NUw65caE7;{`t@5^;L^-03=gV<2|b=6`HJx>}sTS zS*?bS0MfkxYhacP%vL1Y?`ROF2hzc8Wtv2q@jwI;9R=tiL0&}DkI|QNZE1%~1BG6a z@uY+)pMSJ}BwhXT8OI`l4KN9?#q7~Um;$LTX3;`e+UO^;wLcN*Cf#wspMcO!ZU$f7 z!4fPE81Yg1O!fsV4TitNXj+Z_DA^H+)d6#*Is#V{0 zF^V(0u|^xv<#G!H8U`v!!qLXwgaP`6h>O8E;fwQs$fn^AW}*;G0h5J_;UN|RY)YQ1 z%5u{n{*!Jm%&#@Dwvyi`^z1t!BrY}|_R2hxyygSB;YI+mJsLBV1k7}$>EUt$D=lZa za#IScB7hM~9R`7Kc?K(=$~|{0iz@LwZrfIAk`%kb>n9;KaCztbAFr@g!Z0 zO{@uKEZ1C3lgUzHMGXqv3H;=n;5A?N1uUVjjKLiH>OUt-ZoJBMq@NZ=2c7QEymzWFQLft;+l$+3e&}GgbCf@aU~x(zDWpw@){z8Gl7zqqZYs>0Bef@EJV`s{b#@@1{^R} zRst}MVs(+j1w&B_Pj2D;#+G{zVmz$x+v(Md(fa?VJ?2Ey*6YSJS>wVpHRjJrrMIFK^`pClSn zNXMi%BS#co)=Z40r5y-=g@=ixXA~FZ?3ee$Ur^URj@e9PtQH6E1bM)=g_<4;iSQ+v ziSNHknJC3R)dF3L|UUE}c07b@mUw~W18#gc> z7x}@ao7am7FUb@c5CP0%7}`9_Lwf1gKty^V0x6L~dmh-HV#Jq!>Z)NrV-xckbD1!= zF_&pYGzxe$M9qQsnz_s=JheJ?P!3F9QXNppM+sL}7gp&BA^iT@8pEGZY&}Oyt)HkL z|8=5plLNi9B}pi`8vD9M*ngl3`Wh5J(VCR`D; zw(*jz!=V(J(uYHe#CFAd@dAbk&F7L!HY!kZvOU0%NR1wUY`nR+dL$I=hU7o@)%&d$u>^WYIyCbU5`Fmq2EH$UAK2BL{4T$e$B_anQbXv*fD8M}2U@ux z96J@Qrd~j;RU?F)&w;y-CI~z(ff+pJLi}SaD2P@V$rvnE*%btZG>MTT_;S4|pZL_= z#%68${`0fr3~_TA0M0Eda3dz-gHsc`pe|>|^^xnFn$^%PWCYg8GdTjc(J>&rL`ph; z3^xvuY+F2*l2 zEWBSn2u}L)p-QFWaQ%_1pkyxVG=krM=8;D@yg0qDlkL)Y(PUyZ09w6IHm@8;s}W2B zw4;Vm>ok=+Vzd8K?&ClC78dkPGAT#u)su4P>I?B@U?)v=LKWBbx=kyGOiPm`sUONkA7Tc zR~~u6GxfO6smvzF?vU4s)CmbmEK)Lzz2g-$yitZz2+F)onIl4`3;z6NAyezI90FM^7t@ctK`B5K1)z~^@@BLg1PGpkay>Z&DG|Vs z8cbZ*voJWC`7Wq4d(JGs%vMV0NL~$SPl7*b`*NvSa!vHfb=RZD$N}}5R)K%Pzl~YC z1|;iXghziuGvO&Q{3#e^L|I#K8iL7%6=un?cpbt~ApvFM{+yM6;Yr*QK2d!!#2;** zEK;AxlG566&@MldaX3^Y->uPjQ{?Db#K*sp>3f~-81;B2+|p*GQK4u?Q>*2rgE&sZ z8}-mYg=~rzbjS8A`uFnW$=({H>xR>SMG9aZ9e7maDE_1lCxbUSVC~XLnY@;a5k~q_ zvhdntMyBhy<9Wh=p+@!7AcMF{gjIU;4Iag?y?0*UJ{PCXvQ1ekcErw*x2|&O0+%D< zXgo`p)S4(J{ssDhxD-%t`S$Bo^0SnL11x zM>piB40As9X_NxSi!o^gYvl#3t`mGMy9=mL&2q=ZfZsxW;%S+G6c$e=i^geqm-a!% z8+HN|`tl`eHRfPIU%q_Zp!E_!Y^~C(-4XU9>p~#`;JFY+kAF%89Y=pNW zz2N1Dz$Q>CjmGhXL5naTa5fP+l}b2%<}uO(f_g=e0wnmOmB^fOF4RxpQ!Fj|-=4HD zA$cU{=%=RWC#PJ8iTEMy)}}0v-{NG7SuCPw%&PN$oJy3m*fZHwA4Nl=< zMOv0WB1{Q7q%k%@=6A{@ON@ng6}_DWwos1WU^L}{{fR6nl>?NzhWs<}N0xQDs(3)< zXNw1a{DyU1Y7k<3hS05a!#9TH${{CzkA3*BYPIJK+7#V24WjxT2-WL%JDddF)%}*= zQEuQJ{rbbz-RhO~QQp_@7T9N1w`#ti{t4X%Z*{Ba>qDup-|fih`>)RGo(u1&Ww3tF z7UWj1?zpJDw_}kjh`nCR2N{m(w^nX>EJ%HS_Fl?J%G&w`zJ78fFTR&F z(joWGAxS4<@@NW5aeb`vpB)V&(A$GjHHk!jGP1eD2fE$&?e%M=iPzXZ2+}~f-vZlC zdk-#2cx}WAr(LoVKTw$-{=UV3W3NZ<|28InkS63kol97+5bwK|vFBv98Lm%&`5xGR z3e^MATpLh1%ASm<`ISX}#$_|YGqUz1_<^OQpsWRvw$u>e4L6i<8I%~JDbiStJ2uL# zOug&%Am^nI_E1#InA1IQs6m7%RAdx?zcOgncmvd!0uj(y$jXS2#Ng$Z`QsTdu2F+n z7Vhp`hTNn%75Qik{|oDw1^xNT8hOL95YR9}(-Ev^%f#A~-$qXhS{2x{8ASICWH!o0H%x#FjCeF0roK*B26t!( z6w20%oDA~!8$9|YeM~&!Bj_4`BSZtj5sB>~@Q={wAjZa#UvasZ+`fSpY6uAf^PWFs z5a?uur9GFGy)xmvVU1*+YXj|gXv^VbjSvBmK)~Y>Bg2?~UadwS*q^Mi`d1C=M$3|c;F%=&I}E5mxa(Rq!+l8(SFwY z*NQIluNs$!wUfh##%}whahhI#)QfH`+$08+NviIiHOb58 zZPrfxtl2zlHOa5c7~eI5E_n}h7|-?xY8yUigACth{y-St%CFm|4=D(C`_-{{wK8GY z2vNQ=Egz4n@2n~r6UE`dI5^lhaU6k+M2QS{B34)y*khc0pCYd52(BA~7YJxJ)Q{;I z4u%AbP5MZG6If`X0tdSbvF&(Vn1r>)0^k{5kE~N2O2}(Q=8-~X44{e>>ouZlkyQgE zB%7w$q8TIXNT60yJ&~fB7@jR@uUk@eG#O+Lf{!Sor!fXV3&aJa^8?Qv=w+P=MT8pm zj0yF!vo~l&(66-~*d#a}7>X%7zKKv!VJH-cBuf5&SEwQFVYC?}awb7QjX63BT8Ny1 z#Q|x&5gUok`v=B?Sf3@_I%Ysg0IvfB5w?Qf(61|tR^5;8e$t_YwWl2PS0+9g{Td3P0=}Qh0?-?jK=)d znXn;$ZK#OsLW{M~rT_f+7Cj*;jTXp3Pi=&`!y5!Rqc88GDAI4-P0gjRz5^kGUeE`Z z{v>c%oCc1FMNo)+Kjq*K|qB@4^JSnZ1gQI-vd4dgQp~aM}oyTnNliDa1{p>6zq!-M3@B`r!Ol+ z>x&AE`QlGh$@a%1{>HI>W2#)*-NX^cm-dZZE0Z&C_*J;8WHA_|Oi2U~pqRgh%p8ua zTK%n^%cx|}rH-vyg}4AJIA$Z;D>AIFT$xDddka8w2X-49l5W0ioM;sA)r^vULwNtV}r;V$t@DU|1+W6%& zboe#JSh0>so!y9sOvE21J<8ia=JEW0r_|l>RgRT_X4?>h@s7hH{#`DUC;yWa@pUM$ zO3q)NIiIdrt7;XhL*NQ+Y?%|U$HtNkw;%klR2b()x?a~|{w$kVxX4Ro4c>ja%0DT~ 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�DdfUe>^%4_*_^j`g(pkrLlg8eBtwGth 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%0AsspDm6`f(pxIS7 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%0DmWdjk^Zexod#ky9U_P0KPX&&6JusdD55~wso`a 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

l2C3K3;;r?KzZTOk=&kqY( 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�ClsEDx246WgqLV8oE&a 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

KjQwj*MUOH8WRP{*Dc^!xZz0W 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 z zA2trdB-}X!V!@>5oVD>A=B}S|N#QFg8VpgyV46{&gKuI#{a)~VM zJ2~m%rby5?uBOOd(H)OSJ5C+!x-BO?;LZHS7ROyu@&rZ;nrv*UosBdL*a|=^z+Uqe zhaeOSgZ+ifxKb9f`^Xenh_<8&`HLEEu>ho*<)xLB{^cdZpj1ruA^QS89-jj!$p@Zm z7Nwe&%ylria+SE?*Nof%^^t7&NDnn_yd1OQhH0bA?xRes6|%xZOdr(TsPyct08|S+Jm^nmHY9go zvk!Qg)2kQ7Y@H)m_fk+dto92|COaIoLZc(puUHSCl;zb=!Jn(9LtvO%Py%tu6Z7Mn zQ0#hC+WHsdI%5;hKe#d@n$A)BDpaB~zUB8**i7bSSou;3#LQNkW}mjES|{puPP>~3 zo%*~+PyS83G*>!Q$L^*Doe9^6XJ9Lnv0t#@TJR#jY+aYy3&_h3-?VQ7;nKL*=)~v! z^^(5jW_%x6o%fG?P*{vh0_O;uKr)on(m=73BJ!(QQ?6+UH; zaZdq5he0#oBM6|2#suj#gqVieDs3D4LjwSgorc1xqU3=~W$%MAmb~}zexlQi+acK= z$fk=#_epc~YxLj3Q)JW_eq)0z2$mG*>uYeq=o>K2iWPv$3-V0CjYey4Kvp}3&Uv>@ zR3UNjdhLmb^cLfm92Lp{(Kw@j{vk5USOycsI--+`+aT(5o;J?qN<hH!Dq2Q<` zMK?Y#DIl_>Ml=vGqPB<}%u#ULu!G}nez?m2sAocr3{*F9XUoPsI+(zUd z*CZeV*wwZd+o&6fu0!qsA0V;eZUg@QH{u;h;&_A}nRlaqb2s>pM5!q< z0hzpa(0{JYWW3{E`~6kp{>QbK@<#gd8YERVGjpj9La#&}IQli@?Jf}r7g-d#E|SH$ ziyC@*klOdPmFgWS9j8RQU>M9YLMh}hC<})5?w4;7RUVYcJ|*)*S1ca$vo5g@#C4r; zqUeSeUm7QiTbzslmc%z$=L*8un#n~=a3}bitrVRV%Zi#uclJM zBI)k|JZ!v_knpI0BNOW2u;sKTosI^9w3gN*QyZ`x0>ZY@SAwQoK7H34bOqSK`|E== zUAmS`ZlDm%Vyrapd`RR<7gD;5xwS;;7PtwmQbb|@l+$OKqt)#vmRp%&gpLy;199&L z(rf|P=ngMK&jH!kZK%Q|V~tY>(AdFqbO#)>pdxZ*dK04IlItzdm)&u*+`8>V&64A; z%@Otp6PuDpUY}-JZz_-)E1YV_Sc6p4LM+ZJmmEx8%30! zzdp!8c%GI&g`GLkoY1c$BMABgFZ!2`j)v^T*ZqP-2?|Rp>OeOj-_{@t!eE6zg0jht z-w?vqb#UE106IKgMFJ$|n8&`d&g~MEv&2xu9Dmg|M*v(Tswewf?b$A0teYE=UK$ z$2Xi~4n5-xZ2{@%w{8*-mV^qn)h!mK*z$xW3hPaH(SU5U2r_dn1z4_}6YoD;dsC+3 z?u=@9UmrWdgCvZ}M;k{!Gd;|Q8jkobv!JOV&yjWAAPF{+T_9ILs5|kRjm^^TftX_R z8U|Sg2a#$J71+^i=kmJDiA$u1iFqP;l+IDN{9;38r?7Ng94!s?D;D;NQK4inmWH~g z4T$!pQs?U_tAIlD^%)38UsI+FU;PtvV&xu}BTz6hP?1iI9EI!}%(e%>>6+@+ED@mt zu53t-j$Oz1#%(U zr#&>wq(R=Cl+eOrl-|?)OSdvd4WYo3qz)#do<#&gn+9#u)5**Xl)doWYPJvtolyXWWpxToqGqs`CAu5n=4_RIxhTw?+L_{6j z6eYk+ZfeAN0V%PU(*XnW`Ks)hGg=LG=@G1|#*znl&Y+aKNv@6Qa`q500qu`+*RD5E z6JAFAqn0w43?*3)+MXn_EirD|f#Wrjw=(kUuT*pW^;buC#h^`4cLn?)ET+rY33x&Q z%XR2Pc?Yc+#f)$;;%o-R;v6}iciJM;LTb%q9tP0gCt|bRB#+az@qFDF)rxVU_?8SU*LFh zG&Hgc4vdWe*`e7oJcxoT*&q_3Uk|8i1>B;rheGXU4@Bc+4l1{LUBS-grNWoCkwV0L)rSGT1AI1H2K z+yQJ$t8Xtsb%>B_Cw>HuVVQr;>IQg;F`_~_Nkjo*Q+KSq3V_C=nuI>%JHHO@B4!&T zP@ATik;4QEsp9ICu);CncWmCYX3RC-YEZMC!~p>*gY{d`h>I)Z_Ut*?eSZWjg%h0Q z%3MUxr3d&pxD5)V?R`GFu{AMfmNIIYR#b*vE|s1%%Zy_Bpu0=SfOg3QCY09NE+E9#BWM~TR$uf$+BKH)1eis(%L^FSuM25()pimMr{`-OZzZO_lJQcFIWo1mW5aK?44zztW-MUIG$;a6^>9}(v0f}2I1rr7 z9(o{YT~3AFe}UE~pcP!&?8vlj9!1Xaz$AKs+}U-K&~NCf5+VTFmhxrzeHGRxNn%86 zsZT|DzO~-0C0dABrcKcLFZkFmo^>Fb-NNyb(YHL>J5CNln3&c^jRh+yobFv0w)?Bl zU3fLS4*C`iuM1B|OsdHsa9!1m$NI>XrbUyjSy@$zb1(pSB`H{qt`~PwFI_E+M1w)O za+k!R?>JBlG(?tvb`|oF?gW#0R$?`Lv9Kwo@Gfln(I49vX2MtO4buZ65m!d^lCC3FH0C+esf?dUSEFm&p@E^8~YT1V!@6X3p4r1FvBFGtRv5d8j4Y) z|Ii{2Z3xZ{^^lE7l;+QFL|9aj^D-ktMQ?!L&&Y0ECdmWj5xY#3^#-;g$mF!uVZ=+e{H|T!3W&GCy`zg^{=*lKBD6 zXC6{|0znRr!Ca;jGIVZahXrCVTlS{QxXZFG>9V6cQQ9+DIGyFxVh$tz&6e=#*k7kY6D9Dj)@#sTo5}k)Z+L z1vdix#1K{Bnem@#+gP4k5NB$nUU>x_gCxUTl0<777&};Oap0>>UL#D3oK$pZJUY6_4`lF}wW^CGu^Xg{Ase*oVwpVWYWn2d_MP3@12({XbMz!!G z8;P1zI}~%|jX2%$)}&1&t*yr-Ar@fi_EL;L_gdTupl3vc2?DOu5wlqm8vptr2L1tt zI8t)J7j?{Ec5_921YOIos z8xb087Ni%~iK9g_=mc4v1HjZEoSgAyv)iRQAV|L-o!DoDj38YdQCq=?@<`+{B7$6w zT$ZLvgPy(N;>(AEpDib#lzadfL{9Np95_aqP~Dx`WJDyhA{U3??ICm+*Ac{*LRgZ~ zAb2A@5eb8~aM_)+zp)|Cw%C*Z>+~w7Go*#@8NMP+)>ruCWr{ZWZD9#5c*=^T5m_3wL<=e1T$4-j)ACW+^;Qt?)vSmUc9|DRQ(2oCN$+k(&adhR=SOD;!OTb$ z`#2$M;S`nUOv)|B`EAFt&C5r@0q`WRKrRVnj(m@DI5jtcFpv5T($)nuyJVYWOif+}i0E9#p&zz#3(gpzz4vJ~#5s}tqMKEMn| zur$Wq*bq?|_X_Ix9Oa02i z*ofItcdoI|cF;eV)sS3o^7khpFbC{k@Fx2wI?k9Slk9C2MK^CVkiHl4?|+xyorZoF z+^C!ra`&pEcgnt)NFS%>*`t+h(?$F!R?W5S4v`?we982kONQk+|71FY|J;O#~`IM7ou{jdXrW%e^ryM`}^;aEB=i9ONV!vd24PTDWNhwr683 z@S+E%ocn-QU1&#b!7n^_0l++40r)1L#E?N|o1{~py;fpquhrL~HK}b#i^dw+8ObaD!=TbYsgo^?&@~tlEY*71-&@le9`RegNbUSQ@OHZ90pl$}0um0{^qI zHlN2byn2*$gPm9W3xw0Ls5(}slZOPhEN&bWvvR_DgqTpFrRZJHC#t8N&Ge8fQ27(2s<>Oxd%fF4q(JVL_`UXWn#`3 z+-Gf>U6C0qqy_dEWq1}nJc#OKH(+D1NhT@qcv-2(JC{Xg>1TItzfFtyEu3-s%U^KR zoIHv)Q7dO4cgin2bfwD;zMeD2XDA&eVTfcF0(Hy%rrWI}-~oVE`_rAMBo0W(Mpo20;EMjZJdrBC$?Pd5Fl*g>^jJ{ia3sh;n-LjN8bDEL)EmvQ7yb>e|_+G zrlF~xS1}V=2&nC;L~l_Bgwk~^)3!gdU;_k`!ElH!rdy++Zt1-qP0=Bf;z=nKW|}ll z7SL1d5rVpU!PQvU1VyxyJ3Cxq#ggG3PR4C>PBuhd=1OwYKSPh`5iDv5fm6|F<8(|~ zt|Yf`;{^|r$3YYAoh121L?062Q5QZzJ}Z$61UU(Wu+g1x(jn@yzUS`3NkedoXOg9y zfRHLI%yiP^pB5%JC{9gsaloWWm$+%u9h&W`bSo8FW(>wNXw0UNsxdQT4GvH~rf4!$ zq=F%Qw60}lQ<9f>YkA*MI0cKRD3c3RmA=br%5Vo(OBILMV7#F;(j{%G+9aw7Z6uZ zmr<9&h;3*JLqi_3YQqROlmsT>=Z9I2PP4=tO{Vk|J$|s~uJp5?VQBo5Q|} zMAIo&*c?soRPWFRm>|cYj`_2Fd<3c+NSnefegkDegtIL<&4tAowb+na^f$TdnM`LP0T4<7wKY`9X)rK|vmfxTLy^Fa=1@dl3<_QQ0No-3oJ-9*$R*-c z)P*HOh~y@Pd(5fDQP*AO6Nl`iTsz}-g->7@$;4nmXf&^oW#PfxDdq=a(czPFfeF#1 zp!SvI$Fcd5th~eZEsbM>NgTxH=TPkO)tnU!R5=QD%|kW;>S zbPOW^yu$*}(*8$ql~F!P@lhitN0rJj2-DvN1suJLSPdWm0cxfY9!AKIK9D!XW;id{ zJA(<~2UX(Lz9o)=7?8v`_P$XzuCFyE_>bCHHjcU0x{Z&*E<1O->&nTfR zG}LUv(~iLkfB3UOTXPd3*UM1!fvOtNz>!@2f%nf2ruUlC`rE$iwUqqc5HUOaWmoKW zVDm_xIpMOsl$2Hbl+5z9h?#UK-O;3MtAUFFFH3RmEAv)26WwGM2<$zLBJ5KA8qX@7%?N zd5Lt0;o!Ol250a(RxlP8Xvje)TB5PmrVA1o2Q9`(tDLiZe+C^Qt*N{k_LdX+qoUoH z$)^~#iZF7{1O$oaPFPHEM-~GIMb&6%!5DB|mLd+w`#4fjbyK%|-11wIXpPnM;l0Iq zCkrW#N!7-LIr@84kA^768#G7ITVP=Cyj+Vw*}Rr&wopuvLM<3QMsQ_9vCZBctwCXX z!~7u7M|I^!urp^1P(W8JbY}t3Rpl9tn~p00>Uu5#S#VSXn!7Oo@lNhf6k)-r5itcP zgN=6V)XbzFQ(kly&#d!Wa4}N`8X|H)RlS44)Xd!g56X1c=qxSUuAG=56bUdwNVZt9 z#anI}Lj(W^d5a2B7z9Ig5StY;>~=qrr#_Nx7!gjbJe>D48aV-1J^(iVZZIb8T^JL|&xRFIAt(Iv5z8HGyIf1A3X$ENU3oW{uM6zGB9vFcU;2~AIBgjg z)C0SwR+SEKltpq#sz1d4gZ&6lOPPSr%tf^HxB^f&>|+19d@6jynT`y4q6`FB6*{j7 zuBN92E*0=P%4iq`h!Dp1(V^4y=0l*hi;D?$Q3@tu8;S_>PP~p#0`NR}!g?TefQY`9 z!SEp?JSB~v4$=EaW^wXafRe^W4{UF6U?vthJF2MnB&CKz=nR*S$y)0l88$hjA8^%I zA2YlX(gh%xkbS|SOLYjPLkMoPNDFP$4veLgKul3AiRQcw*f7+V4bC_QZz>lz6x0dH zjNYEmFe2ef>&UhuP2f(hzzX}71H#|IlC~^mM)U9i_l_l`v7&4slkjXjoy!~x$0X%q z`_C&oc-0~JoBRXFNr%>syQ6&QQ{wZT2o+>TKr(oJQ!c zs}IHuBHtpq{Z!!*fIxU)du*_GVC0ktQIsPveq~&SDrT?}td5{p8UqkBM?Q(#%)Ep$v{~y$~534N{Vv1eP5?G#gvXA{;B!02IXrK%nSd_425(T`#vP=LfCbqv~P# zvR-c1Tb1(J-39}UViy2s3oS`2g-|_!0_I|8u>Ix(TU|1+Ef?4H2_X}r6Coo&@M$&y zlQJTT)FZiWkkW?%s7iOtV1db~NUH;^OR?#K*2I}}A;QCS=^zan(%hR6GDYnQFsZ03 zW(;FsY4c<>8?Kh|44`LQinhea;9q!PFh^t(wI>P*;is}tw1yRz`CS~ghUqif~9?P^wi1>!M6Oe5L z{~(-cMszn$;UyRl>hhXu3wQKaiI5Ar$U3G& z=?1k{Bfo@zaaz=rqh?3diAJ?k*eyX2JP_EUBKSoeU7>TolB*FCpX+FF-#bdwnx%mhq`SCCQZGRi6fM!^G@Vd zCiOgLM&H?;a}Dl<5rwE)#Zi{(Js154&&4_3C@sp^R*?M?;*m>GHa6B+ksDE&o_S`_4O@VJ3x zdBgjXw7%p$wgnZlw+FZJZ#q@yTZ$UMJ3^MSMTD{FMkE$VZfq`3ZrOV*n+2)!So(%J zkU4_&3SLD)Fp*|ZJ7Eyhur!)lO->9C5Q6GyvZr?{U8jNB!VK6ACg~DcN{%8bt1K zfOX_kyL(8_6!!CzzJZsP7qvA3_EpKv0+_G}D+%-*ogwLL$ZPS&ELimXNGy zySfE27{RH?))Fn8@ZK%g?>s&gP6>@Ob%rM@N;?=@5S$RP5OY}o`haHZ=&ufpG9(1h z;kUJg=_!c7l`8TE3|hib09J@N2jKK&rXGfmg$z{$Z9|1}vi+7K)T*d!A)vmD92(2R zgJ)ns8%I3PI(}iIhHgzybq{ai6et%@Qj{F^Q0VK;9*bVx|wddW8_8j;U(i$&fq2kOH|1w|u85 zP@r^uJg1o-o3S`H)bvY{kK|(-;dxp}!pX>I7&anurgf3PC!H-OHKQc$>Q_3F(zN)t zxNj}1YrxP>eI^-Qf|!vB#-^|RVAM-u`rfO(O>;vzo#CQ0g zFnnnjE7JHBmO-2@cf@@p%KUbyeeiF6y+r|asn?B9kQWt2{{a32{~(*mLs@utuJ-ts zEt<1!qRgH72&Y@vRk_1RS_c+^>1qnfOXG03!&Koj;MjZoEV5|dr2)y)_sPAzW8WS6 zWcYfT{Ka z>A4|veLy`Dd~=xDm^n|-|2;Bog~Hg;T5r7kxXY#M!iuqJ{Y(T!AXgFy9$Ok32DG|X zg~-iy6|CSMFA-tWO|_E zu4IRm8lIhctn?yi!h+~OUcc^;cq-D}AhMcfO`W69oE*HIfGc>4@lmvVV)6)-Q$Q~@ zy5uM)U#<-xa4jVR0Cz-qr|#S(n!h8R%k?L_)H?Vlv3?MoTcQJ^2@s>q=AqsfI9M`* z6#|FKrgAF0SdJ##UOYQ+2#?~C+LG&58w@twC_l*CSz;6@FBbiYuD#Ei`z*E7J~@1Z z2TaL5vP+Q~_4hI-eNuf>wV zoLjQVO6}RMdjYJ9LW@w6V>s^GW&R>Rzf^{e`f$dG5sU6vyVqhRh{@sRi7E!*8%8;a z!5c8q2jj>BY8PPUY>yDUNqfV;SD*54xX(;b$2qfr3uY)ok=;emBpQX+maMkz7!PEV zAAoTUA_C?^3Jicvu`y6qAMSriysv@G) zRe2C0N@$fh3KQ#;l~6Z{)6Vj;qZ&No(5UlvAKvLeHOOIkAFraY1wNWg4em4iY7kzA`1T_t6@&jYRuFwmB8|-;bWUl z6HBGQeU}akc(%k#KFZFu{jO>EoE!ds7xb3D*IZxs-HsnuA9DCH|158@LaUs ziP_sCW@BsOOUnYyPBicaDV?9v5A--^AlLf zen=YPe*+AYUbAmbFji56SH7`{*AhEe$>#9)m&oC5tZECJ2Ed*}-4<|j{`ZUT$en{2 zYNH#$1)+AgiX-?2KD=MC@5`qDEjKNQCsu^J#8)6)#R6eFAh5$4Ea2z?iYta4(VH}} z9SbB?34A+XDcZI`J;&ohAs#JdCK>PeH9;pU6hIka9G(oUz4GS&U^k76)dFy}YC)1F zg^hR3T2k!&<_8#Q&IN#$t_8xcZp)S`54HUUmwp|V=sEb`O_X+l?KwZWm$?*ao8};- zgzbKnh}oVm{+H4N6ccSq7MQJN%l)J$+yp^0{OaBF02H5}ylJFzhy?{`1GRlJ;I#zY zrZLBPLVu(|%j_)JvUQ4&1kGfw9)%_$pCJzQjI|ng#+&Lpw~s64?F~_Jb?h1+RSCf3 zgfX8Rfb4AYLdFA_YEoN#CadDr|%8t z4i+CgvlaDp0&lX&q|pD_mQO)QdhZL`GBX{fJ@^7%;GWrJK|B;K+v>v7gnZ~);~!bmb-1SOi$xNKsg z9D_9=gUWC`QWl5;b?X7j$vXhY7XH@w_eQ%Wf|R>x_oHfw<2w%NUTJ@8F%P zOFk>WjQfn=fq9JaytYECjQY8cdDbci@6m^zDnQ;|bepBQ@VRWdgc*-%fl0ACLo8$Y zjoh23IwH$fBzh!md6!VkfQFZHV_7_hIn@l8tnrNg#B~&>QyytFhiqHOZ5Xh^AHu&s zcY0sKb9Y5EZL)w(_bw}9bD4f7Ab5Pn^Q`Z8$>Is`;4A{@Tylv-oSB)Oy}B}ei|9cs6=X&N34LZe|8 zWV2YO%q4{u*#O7{p?Hn01vk(7-$i?bS_k2u+uHTt8e$%^f z&&V>q7W$w7xn(2bE5-outUDhUztit)`1qHd1-^g#o+TSncw`HMH z7=n)^{Hjq1es-a67KFgF4n+T@$f;@j*@eJD6QE(wuhgLre&gU^+GC3@v*bgf{A_377I zpctyRZgP*J3OWNlN7V19sChd#@uFD%iJ9YX_}b`E0Lz*%E*p z+k1PLpBZ3laB?oEvNVCsWk;{qSL@+7ejaXV{oD?2R7y3K z`pe|s9hd@t92-Y!^CRDzEE^b-4lyo8=P29gi_jEHg$ycJkTy+vnnUdn^o=>sN$wjL zk6>Ahyna0775Y)aGsKy7$on}hX@XgS5|u}9kFsDD`~3U^QRP92>}%RbcnqDOJg;>l zpp1iDncbCm=F5rD(PK|WV5WkV9rrEhtPemIP7Kb_Q~{EXP$&RRf#h3Oz@0A_gURe; zAsK|wpe|m_dsHG_85)hughra6hRPh0mTo`L?8gQ5+{iidJyi@6KiDQ3^z$GR2a zD-^|$845csuMAYRK_Elm^1=(s5Ucre+7rUg!4c>N5Ss}mp*hocy+K#tuMfCJvagh_ zC3?GARb)+LivS)tdm;k#+sXjhFB-%a%w@=&Y;=y~Rfg~`4m53FMgSgJ`cSd-!NP%o zADbmOza0$OA{#^&mi#P0J;h>}Gsu?`^?M+JPbvw)>spc%8cEVnX-Nx6JKe&oblsuqWYG$71`UyXQ-?&cjen|Fyv-!-qD!Xkv1cZ3NvfBBKxN0 z+B%|bbrszjpxqdcDY{-Y#6ySA%aeynrkbTI1HJ|-7KAp{A+5QubtRNIhgbpp72IgV1t&*ku-M=k#qs^>ZoDd}&a%)6^i4NZ z$m(V^6Ml6Ab9dV~k!Vp5Idb<0>jd!&83Bm+0O6{HD#%t9I-w8@DP; z&_}dJ=va2HEZwx1E7x$8IhuvPq(v=j0@i_tC9$|KMD>ttU1K-+M1VH_&6V&~JL;or ze@8m`uhov%y>vgGmi(^wuA%qJYN$95ZbjJL_Sevgm&o%G53jdHM7{@g`O87=yr3qM z4vq4l+$nVSfuFfVcAFS&n+;V4~cR>#U!9)o5J%$&TkyEzdNg6IVqAV0w(q|PDa z?mh)xXq9i%QaK(znX6Ou1EZV8Oq`DKc_K2sRKH%k5aS^_j5>)C+__D<++bE0IzO}@qPBZaNFqeh&H4*+W@ln@ zG(!F^he_CX>D=8`WQQWgNym>h24$Nd_5|#6&=B3d9xJP^u~kH>IHrN>T^4B?sZ zE@8Kt(Snj@e0$S5tbhwQW-Q}4F0`==uuV(_uEIm4t@jve83%7%LWT3eMWh>!Mq$!4 z7-hhc>~w08MYn8?BQMeeWK&8=k)Kh=f#5@0T$oC@0h93!E@aorm$A*@*!?o*p1YDf z{~1c>D3e2{$m(##5m;I`T+1)3Ttq0qifb_c4Wh#1@!7Jlhynf+iPh$cuT##~Df)Hf zv(x@3L30R~5`Q`I@3iwzB-hJNz_NXIU2E5*#hGitRcX=Pz;YB!>0qf%FlyK)slHi9 zftO*ufXI;h-!ri!sKMWn@k+s*$Id!l%yG~-L{^hne>89^Dm^#2LQZ9*4m&Ds&As@N zvijU|2W-wdyWm>wfPd$u2Bpzqeh8*`5&4PMNK}2#ZwYI-FO~()A)!7@4)j0xm<;3O zuVT2`k}yl@Gc5{WQ{sbRy7acVE9|&rP4OnmF)R;@aZY9krY29uWl$obcF?V>rI zy+$tB?;O($gu;pnl8p?cGy_quT#%XA8_KiTagynI=s-JWJ-k6uq-kpcpXs-2;R5I z1h*o4tNcM&6cYrj2`h`x87TS?bBhfu=?5Y_TZZK|MmHJQH*pfQ4)R1LY)Xw!wK0do zcAlpAq_9#`$-wMqju2gmE2dE6v4hmcb4(x*TGe|)n1?8x?Vq4G#A@~nb3)k@8N|xT z;gVw2D$$Uo0WFJ6M%;NS8pFI59-=*hI?mJ!C?PTfm@-@5wnkQq96-r96p0>^UBVjlc{64Dt<@% z1_sJYI**7fuJklI{XPQa5jM${DY2muc}I23dzH<~ZNV)!MJ-cU5?YDU(mvurqTt=s z;mT?fS_?7BB}PPaV^^S&Fasl2%Ost8CQ8X4IfcIvm|hclaN*5tlqq9no(~tXU7-fzM=0kpyT+PDL*M zM<_;%I-#LjyS|gGLnKPf^W}a*Lf}bwexfPk0Y4HsP^a0YEl6c1^l>;^ ze#$Az1%z5eFUcj$Xz-GEeFR$ex-ULxix#_DFgE^TO92=HTA$6d!VG|qTw7w|s5(rDZF9&}ki{pbpL;3Eqehy(&hhZ(1z`E@<`1{=wnfflr6@LqIoj zeYWR&39hm8{JZ3haVy}c5XDh09spL^v#ZnAN%^K#zp0jMpO`r&Gf zbzF9NDMYe-A2#I&Q4}UmW|BGa^*@{IHL8sL+svlYFK$ylZvL$ove_?eodR9?w_Z%; zU);JNq5e%L6UpSu+m>8>0nH~9nHM+D1f!sq^Dkc%B8n5vr>g-?r?M|^8me(JUlB5x zfG#p$ur48*&laT{#Qyb}Kl)*$jQh}Vd}xg05UlnQ{Go9WuXQ6%g+e9~+Hu3wt&bzi zya!b_&Lu|rkGO4h;>>v+pU`0nXSU&-<_{E80{TSFlh(DSAa$kE-@-^A zwUq{15CyBl6FG_e*Q3D?lM%|^-qiq6Uldq|SP1sIdvmz}7|7rlt$sG{!I4k>JAe@o z5-ugyqnthSmr{LpCF%`p@@-KWFGWqchw9s197`F(dMct+1=>(lt*cB1l13z){7mac zk24*^gu&2ub7U^x*gQds1=Sx5|4Bv%u1vt>Tc{bG3(3bq`atMRO zm7S#qm!b4lRA@xfVOhedmETy^CS^v^AT4XDtu5DUekX%8EjW?XZZ5OBUFV&kM&&3I z(XM>Lmce>G%j@4TV?Iusv|jhh(eif!#>%u%srVOJm&hMJIH15o++Rf!FDHgGXAYEzQ6<HDrDAOnmx^a;gD4AnbD+^nebZDmyU)l(DQ>zWu+zh%8HN12O1}8L3njX zyvFW<9i+%`edKRx-8P*w7N`J$Knkx}O!v8DTpEK7$meVPujh3aH>NokqzU;>Z~E*P zSCQh8?TES{yRCOESOQ$ z*2Xi4iGY2K))ynK*0J=_c*9lc*p5Wc$UWWQhss&*P1>mxld(w)W;%vhj`VIvs2hqL z3D=MIi0m58<%D=b7}S`I1DA3HNuL&m6+jpCM~r|(4<`+XuxXT-%5t3f(NpEc+LzyU z!sFPp5v609wk;o{P4|Vdaf3G@0fsjC>286*?tkqApgE0rNsn{30mf2>TxH)yJST1!(~&oLycTA0n2tCfLxkL$cQzlK-Zy9+>Sru+V$v(mjHg zYV{bF8wtBUvI62hD64y1de3DZpfpEFW{3xP=O!U{G)CEu(9seCX3j9=l(J$GC`gep zC=3C`n)Wbeq)$v{(4DMHbEFVn7P-UO++i=klYzz(Ns&J!Y<)a#tXapV z#ZMC0nMx)1IsZh%Ey&nDdo~KqKW-%m5Aca(yAl#CO$DT4?C&Rky7rDfLIZ1~qB{wz zL~NHNRZF4~HOc7)gp~PgA`yI4kR)KNBG?IYoLTs#!cxXSICK);rJZ=867>9DNXk)^ z=E;|qHpAE4&P>$wHqbXeB|a}%ot-U`dU9?{BW_h#OTZE%DobHptN&0`>^z7B1WV3SVmbW0k=~ zQ5_UKTabFAk0F>X&`}%S-sbH>Y?m6gw?ZO(Z)1$_7%KA?sD0~qmdfT6Yj);sxFt|g zJAuZNWaish24Hyfe`%?tF3}R7w-Ee|Z;(R?{}JE~qDD56+aP?U#GX3cZnnye@>#uA zD_C!&B05Qc*0`4MH;LkJiwI|Y>le&FWhaR0$CQR6j0D6=e?;#KtF!xiQXR5RbtEbYLq~T+^-#^BftUicSC_6e;t3ier9$dRWC>9{5z-lm z@};Yi_DXxEiYx7k^)j+3=6XaKkI8wqo!Vsp`2%`cZ$h)BMgwJHL)Z{QX=e!qzibb{ zCV^^H7qc?V$d1{@6r8w#@&S<~nfL|VKsur&K`^lhPX}-UXc(fDfy`1R9j!7Q9(b-> zY$Pi0pNEvTEkfHql6N|c0W$*%;kA||0ik84y`ZgNdfd{Q+f3yH!SETX{5zhiKcn>W z(KEIgaaxoW4*b_&hUA(mOK&+RIp&CEL<)yXV&P?z5{Hu{WYUU2`hvVNW|xq<(2S{WnFd8MQzs%}33iL+kSRg7 z&fBBPs`47M75ZVrHvG&h-JhGIa>4g)@CF{ z?p)y5N+n3{;5fYU^>PhMfbjbCy#=WUhT6i0B+eK0E}9c05}JEPefrxBzOMY9I z(IxyD@57`=`5MS)Jn>uLZTRd3>1vU7)*%+&->|lIVhJ>K^$M(#^OtANrz`e~hG^ps zZEUqC`hbna6Qjkjb+kuMUC-wZf0Rwk+2rL&@^z`J{1>ooE7>>ybH?QJqqIP)MFwxZ zR8J{Qwv$Urav||L0W$k!()8A#ZCsY?Ikm=t1~`M$>pG|zUGVLVFG@hj`r58}CvV8x z6Q(c(M6qYWhoQKdWvewwr~Dhvt>Mh~Ygm{q{hQBc!^g3Bnt#$PGaxL!ko_(iy?{4- zR-u=4Z>marm_5K^N`c32M?W5rP3I0su78JvQC;~zp8&vMszu!mJW8*CSxa_G$&2g& z&j2uCB%O-1^|5g4i7~ri`zWmy+s-0ob;AGyAWau@+*~W}v82vB_nF!+WtA$xe#rWx z23VS>=CvQLzSvUtg6cgJo{4=zXH3mo>MY=9hf4@_Pb{%&QogM-b(Y`uD1$BH{-@R5 zQ4>KxxUu`5yWLCt+Y+3w-_QJQzVHT~cu36@2S>5#HHdlz4h9D5cV(jZze~lO? z163aP*}wmBQjNH~K%#8I?67}zwp%|sKWlAY9@Hdr#3|7{whziJz!E*$KPq2Jzg4ex zDo4Amott`j_k6Fs{LAikrLwnO-}W<0*2=q=<$CLIyLL$JOx5k(6QZ+v8g12xCfhnX zYmvSydt3?nXQgAqp0x2sKjYHagh;4VHrL`3gV(RYqz#uV!*?_2Fa+V&2PP!@a?&T> zmCSU~C63a6FBzVNB(Tzu{E5E(dDC}gx$(%;yDt|IWzp8dfLI2L+tO!g9esph zSbmVbER)9l3T8_gWA~TRg1CPeXiB%mLQ0;uBRaALAemFKtMFSSmCAhn&3Tf}kv>QG zF+7n@eMY1S1Jjj+;tc<6YaYo4(J9z!_%yV$H<6Kbu<0kZw%j3U&X7Lo&Sr{le)E4a67y_Z zh!=7h*H(piqnML+CB*Z|R6*K|FfZg1p7js&Qqi;K-gktE?4guVry<9Wga}rG>QM*E zAPKViAjO>=9K2LkLHSR%G8i)qI2wC{b9tV4i7uluITPV%Uq)W#CV5+*SMf(_J$C7c z-7}^YVx5A_{996g(6twkZS>S zEDvpO4K#yjKY#o|^c(3?CD=h&0tjEdZqVXpfON4Ga_7HLq9g?_h^P3jXWDK_-n9Vy zr`3zFdNxiaiXaI`_NKaK!v@YJQrTmP+bIQs14xO3-|K`kpgJ7=6eSzfBUb}(=h?tE zSaAH-))w#J^TwU*XZ?RziWqUBG*!sOk&m>56i>cj-!4@`pd(6y0+-$=Tp&qZ!4SP;fS=YXi#U7cqEa8T4Q$?x+=^^BP6hlijpUR7u7Py8Vd7|wG(1GKLD3RZqR?;T zH&|Au2nYIG$cKLqe-0d}25|e`7w8uoFCIAo5Y8a)KAHb$1R#^Ts8l5=0tX{yQ4Cwo zc1qWW>|Kx!CrO>Kf2)s6E))6v_Xt=dxfPYIQSfVj$m5V_e@9mjSi7+PA@(?85lA(o z1aKn-+yq2&|L*SS<~z8G6yXr@6GgY2;cU_I+Yt`qO}b}y4YHf`o&lj`Tag&bGXU;5 zVHBK#P-r6xV2gv4R-FvL<(?T?g5a|glR|+5l-htj+4SjZLxkQk->grX!75vl4*4!%&Jco*lpv(RiNhT6pFqgF; z^0h3O;Tu!~(!Ce+pQW7>Qeza~`$pU4UI%%@$TnzMElKvEpmjTmbb+WHIi;ORbrXt~ zQu2kiTF9#H0@>G0w~$UG3tcUd?{-qzEZM(ACvd}jy9}{qzNX3-?Grx2#OyEIFHcRi zZ@F`>WpH1$jFQZzi*2=?B$r7`q!Yz_r<+kTiB2J}B~l$Fk?tnij_sJ+n^sJJsW*)})LU9d zB`g#ZUm24Mh(#!_pPiwMM%?BbqK70|rqErm(Yu-jN#H>Xa91Vs>F`cL-_}utAgsxL z2!c>q162>xdf?vCnD7Nvte3A3$LZKNk)l=-jnv#T>ge(ySI&g#!FviR`!Yf009L$CoeSTH!YyuNOAn z^2Y&Oc6$k>XS-S@w7POmNO*a7@32)n+`c6Lrj8Ri78ia*V%|F4uAO*)sa@@ylyBU= zsMQ`PF4^mt9z--7l_(9n6Kkqf;XCdNAuLU?N~Ie9*PCo31rm9ZZD7d=8;1lW)^w`_ zZMV!3M8Qr5W4%S&Zjle05&Zg0>pAEj!gQs8dS$4JrAA^+a_5)d%gNO?YgpYzgPXDU#wDYiVC-^>Gb1g+p^y4%_dY492gGxvP+bl);<1yLi zcw95KX8MCZf+8AQrqzqXr+9fVAaq#oe55C3kB|;s`=4^^e+r5JDW(s#!ClHt0(6cNh*@?~7-CHY>dLpOmWah9#Y~Lsv$%b?{{A9H#z7m8bv6itPy9rQ7Lb zD&Hah*G_g*MJ2DO-EOwi>2wR-b|UA=>=_6u`Ns+1|g(d?+Sw{fB0s{-5QoS%*(+A6qsT!FHHR`bJUy3?rn+!v3sXIv2H9FRU){VmIUz+$hLk~<_Lli53 zW3ru2X$>k!0LJc#=%$)mvbDj2O0=q%cZEAJ$*h_sN2Q%^r#gy~Q*x<9zMD>_yNPTk zn@pxvt*vBLrC3bm)m$c(Y?G&wxeU>q+QlUK5++D2aBW&@Lu4E#FP03SDw=vYmW}XwaIH?iBJ#Z(^Hc^l;5>GjP@+tWayKuYM$@ zrAS1D(UN2;o!Mk$fc!J-y2R|Y_VR1w$sB);{4?*lEu#nQ3$+YCC8Mj)!H1>Tnk>HY zQOZ$3q^0(YTWW87(H(9no7lfAuF16r${rE&MPVZYZY7(&+I6GY2KVs*XiUJAJM5 zfKNc>u>nRjKxsRy52uVB;5}R~2zG&)BGjPhm{oF9Al_xrmC%ZYraBowDY>JrAlEaX z+&x}7Z1h01U><^j_zeq=bEK<$B`8xP%|x%APAL<@qMk_XX``w%S(_IoB#ZJ3B*XKL zhuXMrvOFD`?%VVf@#?zyg!~H!-R<8;d!xIZZ)DuEN&> zKohuOwYth!89mF+vrv+arj5O+nC!qyQXbut2*h zm5pbjMirIXCs3arxSz?9!eh3?EFk&{ULNQb@MQnV&LtHtFgW6dJnG!YEVpH4jE|Cba`ZQa9$L9qL3gB|co1uJD z1PX88Ioot6>l7R)FLHMQ5S{8BH8agj>%oqIUJAk5x=QCDsuf2OSuJwM+`M;062RXm zG(3GHG6bCRkB%A4iB5+ee43C$*f&H1C5m)JD^W@%vgu<0nJ<;L?cH$=|BYgVm@43M z3l{ClCK%d1S8hCipUa+qefY$u_nCZvta#oXk-Qa*+ij80(2$fV^6}$Ga;82)d>V&e zvm;Te%QKX8@(2}~m-g9ZN0;ZYM9^1Gh3=dy^2zQ&c92*J9JD0BbukHw9|$ixtK+q2 z*NF(2d>~XLhIaT%|EC-MKhV5{7rXvM1$+746BPsbN)zSG?t9OZkK-#%lXKqhJxxB2 zuQW|b4EWwNm4@<_CM(2}?>$v9kgqgRAtZh8iHd=Qm?+~#`zY2)tcay34wPYAr5SnF z#K0K?&w3s1#DvN3yTW$qa8ZYSTB{pqZQ+F}a)bf1fpvjRZKo`}>cd{#pH4;4^ z(X#D^X#ftXZ1nywX1fuFZpXeYY~V^;mrUa13(7q(>csT}`6-!5=dy)tu8>Zr^7&-0 zm@Xzf&xi&dbVEhRD^#FehM|b~mi&H%E2E4N<-R*mdRvjZzOHI5vhpno0|JHtYocLZ zDFz)YQ$-(Odb)%!fQ8t$K1luiF`gKAFkpzI5|u^c28fcdwjm%;NCrBaL%6Z2*Qjb z>}Z}FlV@b;0A4Yu@Izxy@}ow9b)R|upOwF_`t|dwA%Bq0`=sN)>*85%E=K<1Pwny2Rs<;GNH$((dAM4Y{5#gN-;WpC}uK%f*O6S_V>M{ ztAPRmVpgZGPqnv3xGd9Lee1%Gj6M09ym0lfLQl~kXRIYusFs5u_*Uorc8Do+0)rCT z8e5vyvJGWq_f2wvDX!Bw`K3;NsIl+AEolY1`sQxb66PZ;+-n}SkOK}kY|r3BkpuQl z=n=E$*SaF~Z}mlC&x9H7n#=HVlEE5!D{J%YGb;&-XK*3N3VY*Q6PGZveJyqZssFmN zN|0kOyp0=em}80v8;%aKx7R(tYt4ZEg>4(#e*t}BZ>~8L_SOsTBmE0=E7_Cbr}3ht z`cfLkntQwJ7xKvv6psF_Pv_Ws--p`KzwgE&Igs@`Sy|()ce28pd%NrRPF5n{kE}54 z9K=X`CoJLLdM7NrxwpH1?}R1t6KJhW{X?6+*0MBA#DoggRr*5>zQ5#O|1_4srRj#9 z=U1`&jZCAbfo;FNT#e21&N@z&XKw%3m zyVoOBSd}*JJ3&=W?aH@t*Si{sc?{n7{gnQDPw9(-|H4e|wN7eJv0LP{t`eEq8*k%~ z!p#B{C{<~Zp?~eu8lJ7P7hk|!*_)ijCR2siyB%M_xX3qPkb2*MS9s<-8e#a=FO?1y zdmm`P&thls+5^Z8@tcM)5PVbf#Mp!c<7cSsTeq>$NemT3X#v*F_nwLG_un7@R}O_O zm3H9MA&ramY4pnjaL4oSoz)b=cJ|?P)wVVUB-uA-+=Q_W^r60#;JAQ!Le-8Lf8;mz?^-iMxjdp&?EQYhIaU0qC);Ztrzkxw{Y$=AVbSNB~W9}`L>hrG( z?SMG@EkImvY2B{Yfl^}=(%*{!9>QJYu$OkVR^u~u&o@iE_S}AXcS`I51uuiGgUYcQ z-<%fzzDmDm8+AmX&RmUqw&lZAxAnF@AZ!`>W9@r3f3NK zKI?!!g`QVv!7qdmxo-5)IwHo4#EX}S7VB7Io|6_<|Ne|5v7Qw14d9@@=IJIptfz&+ z$oqMZcF2IbAL-0}Ves77J8n8rqcOMgHJQV+AY@;2Mjp`IpJrYHFYfKkDBzdCs}=TA zd9RZ)8TV&85neT8Y%Q=Ds6@d*jB}_r0Lb}I$8Wf=63$|nkm>dXa%3RE`v!`E@7fY+ z9Md_gOd|h6`Ct578tn&Kj-%zXLV(5X_x&nfw!Fe&fs|M6(Q~{rP7I_8;*lN zbK}?H++n%)IvjfyHxB-71(y!bp}!_~_8)oxt$+5ogoa3dKQ!-$W_^A5XE-%s_1^V$ z-mv=aTRxOus@uNq$qWf`9O77plve|W@AIwic7)l8R|hrrj&5nOSBN&NOnWQknrCS6 zmyC(Zb#HE1;c%b7sxTM|@A(_k=nz0e-<+|p8cxV*y%aR)-zLPoE~L-va*x$0&foZ+ zyac^D^kG^f>LipQb#0Wf^@1GM&wPG9m>@*F$68bWGSsj)upZAm@oezLx}g`}1^w%5 zvw?7!%-{Wmw|`6N`6Z5%QgPV)0WEix=T0zmto1auM>KcXIK4$;I2$5?>Pw z`ORC;UWkDF%C@qw$j58=T2|ia*ByRnwBv7V^$Uq|{3BY(!yz00h%;LQ&G={YKEJ~1 zg-0*`5zj_g#NxMjFrGmw{@P0y5~29J8&kt$zP?-eUm1(|YahXNFo@sJq4@ie&*6*F zhQIb%42d%Q-H+i5PzPRk9@k5Fe`&h=n#u0p-sJWIl!1TQg1b%VZ`JBb(ZH_t=&hIxi z>xD+w{O;1*Pbam7LUsK1LfcO#ti9Gczgbx=1ZL(}Hzux)*85IRysy2LbN)_G{NH=0 zC*cPF8uVmM?A`B9Ox{gP&pq*OT3Y?yyJ>0NS-cjVc?pv4JHZKh?aiG3cY?F}y?27M z?kwJhEqh&5+&5!PeF+xsmsnMYy3w+ZR5l48 z>b9ojmyc z{lKU6%j067J*+E!{bsdrT$j=Am?OB0HT>^u)xmjbJPQ*UUO_r}o{XmvTeA z`7Y(YOS$Wh*fZ`Ql03Z4Q~ECDzDv0Q&%R5!^4|(6_d#2ea`AF%-x5C@Lg6L~Mw3N|v*b(Bbx3Um#l*wa!gb#@- zmHcT}sdS<(8sh6qc8%VI&s^)dM^JWOJU)S$xP4G@LPX`>y0zqXgy;NS%Xx1b6tU9ZRFK; zz(rqZ+F-A~08I2{5)l0h3n&`?$&jF;FOiJcd*8qaLjS&>p?FP89((`&8oXbFpXeHd zug~ad;Qb!F&=tg9f3ZV|y}zbgi2nVISMW=#O1l5P*F6kbjneb>ON}@oDyutxKfD=d zje3{s%<8qwGpp)kdS3ZH=9pKS=QFi8J#YQcQ(Y(P#M8w3^A68|Ucz+3Gn#L+wBfT{ zJPrJ`3;TAgrG5sfQmIP61-kpJS^VAf`EL3Yf2&NNv~qlFQXP^0wre{HiN~JUY&v!A%dF5RUdKZJ}qwiwSR}g~+sn*zR4U(;)?OR;)XOo29 zT2|^0B?wtsM<3~$5jITWJtXBlB*n+ttO0rBAIgNR{RrVGn3?kRPX513^c|AzR(iV8 zE0r7ugx_hUQYBS4E6G#(@m&;lUU?UV-$h~i=({NV6@gj?=D$J`ezys(HB8T7$szgC zg<#gtH|3e7rc^ALLEAQghyZA*P zeHXvNieIkJp7F09`I?|ry49KJ;}%Oj(T&jr!2UUU75$Z_pd8_E^4MKx?!#2K^|n6H z#|!8k(s$Yu>2W?K@zRI(f(+19@faRv?4xb=7muaYo$P(1QSD5-qmzztyy#rSV#Q)H zo6j$H&MwNAmBVL^^Wu-eQ*1!e0gx$e7M}X*x$*uQ|e{oczberd#LS{ z>yO=Bb$Svzt)=%HX1zy&AM1YQ^D2C3Sr`xSt&sPg0#kMO|E|@ss=7ywIFnR${m1 zvr%tvF}kT74QA&3B6)GOXk47e8prc&*&aMxUp?MmUp)5Gi&3R|GAP)+MdRv%{NG8e zv15=v8V^IoydPehy=LxlwAUD4oi1(`C;Hs^o}!y+wtNyZ+7E_cw4>S zJuuSwOS@hko5Q1Az0prs^-M(_R@Br(t&_9L_uD7daNNvx#`-L&#|M@4^(1cZPBk+& zRW<9ne=vQl7kW4GcD#P5_ZQjW)l^aA*?ImlJ|D#vN28l`u6UI`vW_cOOs_rFj&*IS zRPvX-cB*FQ+LM#+N#bUlAH}+br>EOgtXhmc+4aR`e{XJ$AMSUX_tSP^61%y`WRur7 zdvX2zv9~+kj&-hUvCG(Y_iS%B-kXe%_U?}_mDzTswtbT;@855qUMEh+*JrzVEgL_a zSMBb8EWXfEqod)&$zkj~Gdx{r`Q}Ap->hCOwv%=>U+yIvyZhF*u5RzvNBcLk)5^v6 zLvD9}y1i%C(xZ4&?~V%fe7t;6c*<5AXZN+n{dW9#SZ*I&#zMhpC$C0o5x)} z-Rl>(cf0yx-aEbS?cB}|D%$p`Sxb&I>#2HJ=;o`tRV|x|Uk#=g#|QN)X{&kAu68Z6 zt|t!fb2~}|>r ztH;;ny@QMUqw7hdP#r0I$ug003$3CIFmUdjkwvI_#7HMmItemRXHTyVqz88x( zE)E)IRmmMD?fnDYR7Tso`QG`py>nLXjc@iF)^?HXX}jN69`4%*vHWb5o^;O&_3ZR& ze_A86OFdWzXZPpnNiuPoB+F&@)b`$UID&&Yh!7Z;OEE!D52 z`iIj(A)7JM=^>d|`tejz?hCi+?B2X`X>{YwtKxk7@F0D>H{0IZ?c~!7vgWmC8vK`MA6Q^g|QEr@QJPU+h>@qKUHuIG)mc9_23OXe>V*B6C$ zI)A=s-XD`&V%ATp{ipWqqL84g;b<~-) z6Gz6=arI)C@PJria6%4`sqF6McMiAXjoqm^J-D3L(^jRND8%CCo^rqFUOZ^ovf3*g zX3wjS`TXAAJiTv@pC-2#$9g^0NOX5^QoH5($>US)@bTnUJzU)Dy$kg+SMA+s#mfGq zSgAGb?4o?$Q@Wkz!|A~=`Kv=UUmv8)jjoa2iys?@r_HO| z;rya_eA{cDO&Z;lol2ig@;m+1#X+iiwKq9Tn)g@L+-d6Qm;pR^U)eTT;+x*C#1FF$x$^oEvHV&<=#F{cC>Chd)qiRFKUI;>A|8t zN?$kj4jTLSljQlfHZIP_lfB|e?3`Q}^CHt!jtW|}Ze@?poAK(XKe~?-;#GK>Wk%=K z0a=^#{LxvnQ;VtkFdvKUAI@jfgUP`p-i_IM@=$N~_L`R3JF6dLGLMzwx$$^>ewrxW z_cN8_?RfKP7E=?AlWt;URkMv=ca*)UCX$cc(__1uO^)M<>|lCx@L=7}FHeiw>BVXL zvfMqWKlBTgv-0VA;Rof4h$D8VrmdacvPPOgMZhWG|l*{_; zEI%A3)Pvzfo5U0?SL<}*#nb(#d4K2e;AED|<{zfxSiF1D?G|EV^HA+Q^{VNEV()SE zpe+uPy&daur`oK=d-cRaCVOag+p!BhosO5)o5cNmw^zv?=10cRj6Xb1l;*sbi1!l7 zMEX8a&<$;_R|Hhq2Qh99G^>K2t^UxfmcQ0&1Jw4vty-i-U)tlq)tkcXLDc$>{b~auv z#I7g(-C<#8cRO>|uNv`G_i22poz3T`=ach!YJayG+dIB|n(p*_gW|SEIP;_0pG~Sq zrzhp<_D=GkeXw^n>1T$;hPQ^pl7E zMW0ad+QCVAzj&n^#l7Tx@pk`sZ*;O9pWN2tJNq~BerGaI?$!^>gGMu!n<|Q0yMBDS z(ULdEkH@vg!`ieF?-FrQeVok-hk7ygFt?}5Z9=V|w6oRn;PT2^jJij&#-#U@xH&7F zOy>4sbJR&?yUKBM?2h)>5vA%uOe^Sq`dyAX>-pR02 zEF^YE{c~$LNQ@7R+9VZIis$u8rZO7sT10Z{&2JK^+IDZpP|q@n-P_TnbbM|)$SSc{ukvOZLfhNq2UX3^L8E#sh|9GpEA$>-F?p!sxDy&)_ok*eCl?Ks(1&Z`ge9n&~Y)K9bR?0kRk zpxHdHW)hwDah`ncj83QbneM@9mzI*?4bzVHlom-i`{Csd&-k#*9yN3nicyf7sR^1~fuQntCP+m!#CHvZql|4Tg z9UaG?W|hjp*<4K?4DQRd+)#fSYK7_k6#Ys&C3domr48kfm=@~Gc@cs$dJ%^4ZX z@Fr)J$=J>c7L|3zto!zH>D_1O3JNL%z z&8XPSUfw@mE((pEdX{jZ(LTAYCq#1Cze>fLgX~GMd1DW5Ce7Rfk@U&ud0oF=*vZQL zc6VxJ)tXHfxG>$R*&1P7xyDtupw_hJa1@_h=I2+F(Ki0RU)wJ9(uwk9bb+7GYCW<6 zk0Z6#ne zs3)dRSH|JPFt$5Lmg|RC!$#)u#vq?-q<#FHee4+I2ox(Pn%X_78Hcq*qMx3rTJ0f8 zCVZ_8vZIq}FIF5JTf^%UbGPzzeb(J6W>2(cA-5!Z3{D(43d2XGdoR zgY4m%x;t+SZ#AXX&fel@ectGk&-HeOjNHt|e6CI(t_u~- zN*<+#{n}G1c9g$3>SycYR3?_K?{Vf8-i{ja10qnwi@M#t znw@u>)sx$Ull|_~aA$PVJUzQt?D@2E6C2IigCzWxP}}4;Ym%~e?v=s(@hB4;Z7Y{& z@SAoIzdhDco#T6DGJiP96q85eLh5jEeqUC{+4^>(oj>26tIbsWq0qhRcYBk=!CCXE zLVnv%D}7^d+Ppcfk@;2T^+aLxn13uzPi`jDCuN?hKAsOB;`h0S%5YfBkfq3WPsjJU zex-jt&(^c?qeJarmWf^D7sEX>A0OoplLv-d8$mb#_`98P@J8`EK$!>uOg|$x1yw zPnDk*hIU1ilzME~>0aG*uR3IH$r*f@_LG)TySaWWB#)Yl!|r7*H>eQ0^jO$GfzP*a zX0EUI9}9zH_}qZcCyoANp;3X)YAyHB#^;kKgl;_T6FNpdH_7`)=|!_!f#(;OdGh{A zn$R_i(B<@DdD_V2nv;j~Lb{T>?%d8NCb=H!v05m?=k(Luo|VbxVqp(HH`DvmMcFPM zpB3)+a*fk$wtHrz4hHpVquDfai{$u1tvxmMQS)N4NAA6`AKPi$^GdAKOH6O;3qm&^ zXAjftqFpNtw$037Xr0t%&7*N8b=5I)m-Y@Jdz8#LH$Cr!lz!;sAD|~i4fX^qn zr2e>Hi!}!JJOTGKD)JhZ%Q;A%49#R% z{ds)9cG)o!1!IxOb>{{3K-C`a_1oqsS3P^MbAyS6JUmgDJ|&d)Q=wSCByEo5HV355 zTFz;6LfXvAZ61;~^%L6WDAm2sAeckZ1ww`bGj&E;vOP&^zK z^3}_DcQCqryu>yu=UKv%Zkmr~cG$>i_fLvyWa1O#*=JSq%E7P@C$Et6)EJUi>Ul*y z%*0~-1{vqIGtPN_yOzJ|OY6Bu|driY{QwX+ABKAWE19y|M* zj~@~~tvh>gc(0upm+~G|cMHkBvlm%o)?6f-z1%JC*p&V zqR98AN@UPmdE5tjA^DJS#@#JkR-S5Y=j^ED?6e2c*%{q8hh}VeF^ygKti0J6n?+;% zWNN3oT6fq_rOzIWa@VNpk4IK}uzx=>V%ZCF=Z&LD;kL>TRGkbV5 zQHcoA%$egscT}HMst>1+$H~3o&&PaZ3m^XtQgIjt3wT6XumIJ2({<(N5piuKj)dVW{Ax=&O(o$j!kX~v(nt*Np9 zkcn5ylST8iFq_&Zh4D>3);X=0`^lmaPY>^7vBSh!VKz1sN%O!ujHQS9xMJ-$vSYHq z@x3#9K$ch;JRY?by=h)vC!0s3rycFep56DGN2i&SlTNlVsGg4I*277sox92m=6mNi z_WbGo`p8a_pXcd8_vn`VeBNo)j*Mx_9L>7t*H*6nSScJnb{EM;cQLr`<{MY>T5J{@ zP9Ac4d@uJHYdl(o&SSoK{y5E?Sk-Lqu{-MCOs~?lvqo1}o86QBMtr|<8-GaFi&lOw zH_SC3yP0$&y*O@kpBmTQ-1sV9Z`{PMleMC%>czHNNj74KNwv^#Gz)|P$Bafbadurz zs#m1ln`t9mD>l3Rv#Ton_x|k4Abqy&>L@=tA5G_)H619A@jYb{ujj0o`uG&-$-YSMm$L#&~tX&P)QT&eet4rl)Naye@~J%&5lq1fA;>Y=~ZP(5JcbmR~*Y% z+6)kbAkF$gVg@mT1YB!NLkwb`gb;A8{`+;lwew`wskO6CO$4pj5x9G}dw6)b z%Ly&$&(jy&t9XjsaF2NdFZq2zl)FW+59?I<%LDypeO}WOdb>Z-kLa;y7()e}$qYZD z+w~6ZfzpnTX2^<+SxpxxM-Rwj?3i#QSP69IOcrecEeqsA>v2GNZAR~7kFbOFq~5H{ zKBb)CpO%{ja=zRWi(`SV^FT?}&$F+5W==PMxmzLXFK+6iFZO}n!~k{Z9TDS>woWoW zVbk3rm;16sck~4Eb&mo0WM8BLo(5E=7pA=D&=#Zx`EH==C-AfYPhiFmw3-9-9#5c% ziZ$^Y{sfviWrB<|$Vd5T3O2C-tr=`$MuKr+E+fibK)woWg75ROE#^C_ioh~j!46Q4 zOW)mb(A5Jk*dQK}D)ouM9ObvwBQT%p+Zurvyne_h6z1Q5$oOsS$Z?XX3tZ#rM$UJS zN$(ZY!|JXr_6B2&Fvc6km`M4)!yGJY1Y;a_KZK~Wx@-nx1Te+}x!?)Yz+6Ni z=V#1EZ5lmM4u|GjrqkUvx;Y65-ziVPV)PNa4=s1%-?;;dTTX@pdKewYhv`>cq|TUfv2l10RMIwS%w>PRA!Br(U(T0ZZ_MrFR4uyH4x;sIk_KI*6-~d zaS-njK{ArqNEGXH=6s^F&Oe;vxz|REN(c}lRT@!0+jPI;^|^F*kveKSo98~fj}quh zn=c9>psjIo5EqGv=t{nrjf)7%ph|t`;l5zDGFq7z<9$L^@8HAcM#FKRg%RA>%$96B zb)$5u)AHf0b0;TLE!}OSTwM+xJZ-6igNM0BA(iwz^|*iTA_~u~_IdI$HP^E?&(&Pu zTYFdXI!D(pE!Q~HEVTif&R{Y5qCTk$ViOzqci{El_a%U>@lIqU?&ED5u>tWI?&-eVc|XN>3{BI7Piowz_KCJ))qEmYN`ZT&kdE-8(AU@g-e~wUH|=O{U9w5P=$fcWbgHuKg4AqV z)eId*7A>F}fxO=vY%cGyzsKfVq+ZGRN_P3&5gA2}mq96zg`C*GM!PebOXH?I@vXJ)4-{<#*c&p^(5DO^{QQI#wDMa+;`S|9T zg!eKd--!j;?#bDDr|BJ$An-Y_?txXRcqa9a4?VJk;hOpHwAgdMPI{dZuj`?uSQlMX)!*K0Y zp!&{2_5#B5nq=m_NM6EeH0a1eg5~UNo&0T+_kJ4vr6<`}jp~{6MC&BzRfaVyM-CBm zHZ?0-v^64cEY|lZx6JW=W-^kw=8u;goN@-qEn;=I1<}mc3tx>8J&}uLIHxHYZ>Vw8 zAl0!sjK1898^zVab1WHUii=+JNriH}tI0_UhJCbptr}6+$*{{RnMvA;yG(5JQ@#3m&f)I{{3fLPjeUBIF9f+SaSQ<8 z`Kc7JPXfwt09Z>Cp6=Q&n!47}q%=2Qhznmdpt#~Mnu_y_X7vZn@Z|qN^YM$O>inWP zWzG1D=41Rt^N3Nt&$kdleDRCs{EMcx{-SxrD!*uYKQyZd^5Zl4Xxiite$`*J`_`R( zIoLkWBX-F({QYhmmbpDP_78r&NE-Pw^;1v+&3}$7@tJQ%yE;ao${2wJupXxe&5rDHr;B*`l&A4oKE@Bxjm0q11AYH! zbbU6FsV%1w?H}YiiXvj9+-IGpdveob=KkQPc1rv&#*VXq8aCIhZ{F8cJLc{huRnUm zx!~$33fJ@@eWsqcQ*le%jUB{UPrLWiIBIV(O|;KGboV%Z(+O^OPh?`;h~UPXuHcab z!M%e=^dS3oil_JWUhEN`ir{CANyer4GgsdIBn_-~z6CfPau{dGmn4;|h2H53@nUO| z`PE>HDqty$XH^Ep)ox)@E9fW@Ey<@pz{}!dib(GjetJ(lJPNjHq+2J%!P=`AU~4J3rT647hV(@KbDXOJXpX#&qcLX&dlrWqdnJE#fHL z)Oopa8A*Sn2L9#@_o-RhCa6(nz%hzLyKs>Zdzd8(Z44`9rvr2eIEYz*G5(=HH@I>KWmd?oB>cM^gT<|bvq^Dke&bfG2CA-=5 zv+yl;Hk{`R18>8EUnVfi!Vo^1G#X*0WFI&$9+Uo<(y? z?E+rPF~34=b1E5Tcs;}CqJ>gRpVx;mGA4Ga=(hNXEahDYoydgM@OMHYk->g`&XyKS zjCo$$>tufzwu-xIx%|{LX!&@C7U%UOxm%{AV~c5zwKcpgRjKE7h^{?rsLUdVyQSz| z^H!S%k%!r6-uEhDYK<`p=G}fzK`78@(_F>IlC5nKj(Kz6Yqchg_HFfM^CvB&kG`mi zpl@%jqwjjmoBM962KqpjJMdZgSk_;_fXvcZf(sO`pl3%`o!u9aNEO}0apx>0~fDk==+|`6yR@fuEod7 zq$-Rtly4vU3T;37{E0vMw)gvh8`ll`+{uEzetdJ#*N&S8ebOZK02jYE=&Q!>Xk8=u z-uPLI6%WIqy!DKZFmGnQ-%0OEpfT8jxt#B0CE}>I7$Gu|cQTi8OImI{GLSgK$}ler z+A~8>p?pxiFHLP^+1Gs}uxcRsl32BkmsVrajQa^RlYzdGPNhNLQqqm9WJb^jYv|}xt5ecy z0y8XAzEoR_%xnm{VxK#c`6#~RD=hbnnJn!|6W?EOFYgEL`qPJ})Isk>9Q2Tdi7Ln~ z^Y1ZkfFvuPGbZH$FJI768le2==tGe2!vqgbTtj+7^T?9#7IUuOsgI)XM+MBLt80z< znRq(K_-udhbl%@T>Q0-xwfS#b|FDFXOJ&pP-Hv`eIePj=NoPsHL~ zfAsYJ;q&zU>63r@AcFbf{a0W9(}!@&_k3Gjsj}FL@z{uKzQzZ;aUBBLGNgOOL=pC; z?hV`5`IEy7<PJ0iJQB4g=3h#SjsC*d0eLas)_tKq* z*xK@XzenzwSKIk(Dotv)u^4^gt=Y@PaM4Et8=TaJ%RP6`y{U>Jb;-~v491J%-Ba|# z6Ko+gY#6wj-g>W@)u`jeI(FbvKRV;LnyBxhdzdA~Q_AUYx9`$1=<7#$;wt znt8((XxFDF1+hyWB@)l=q!1DB+p1oytwErJG>Gjd1Cu^Ou8TN~Le_3avk^2i-!1F82YZ$J(V1f*p%2b5* z4ZhgEkO}F)^8&w`K0N1+=ZKOxRTow?7Zsai;u?yzbqeE4dh+$kPUTBk@Trr8(5;^o z`-=ts^nTbp$+V-@1N~N`o}9US+)dr4DBGvLo~DI3JmV4!WS8-a$@cS^dNDRde!+^4 z=QBKqXTZ;JJb#%SRkjL4={~g|&slhGCU3ykx0j6UxWIgO0lBvtvsu~*^PTrLNzpcG zfj(T&hYI=#`e7F#7hbEPQxZ}HjaizOXzNl(Bt$FZu<|B6=9jqKH-Ff>*7v_ebpSWO ziwL?&K{uC7J#?2ie2wcmC6=;rFFReOQcp0|%aKOC-?h|mY*)6F7 z$nly3_YQM>6U`*v#`c!P)U{J*w=>`Uu%4xlO|8$mS)U`9ARxo_?NYZSpstyZefbi# z)iocy7XfRJuVmdL=glGKl`|9e)roJL+7sa81i)2A03RvvvCvww0VS2sA}(AR+awP% za^wy+r}nT;WuVop9W0i>9`@4onRS;k+gW)|GObnC;xI671F4WpS)12M%bar+UwOGP zZ$04R>ny-3LSS>}5)mx&5(sZCBrWRcT}_@=1d1F4k9Bf}aUhd)R7!_}bg2RT5vZ zRjT&EFKTq?tOD2^1y-YSFxyO|UOLfrWy$S_??>W5Zvq&+4}P&!zFws%H8yJXx;Lrr zlbb7=aoLz0@W*Fn{o;#Z;9mpG9Z{*eOOEcH939S#gb;kA;JUf!hWPdsnbQ5@D^|}d z26oWwqAB&IXNM!mc^ATH!$6)&1fK{zt4XR}J7IOfCxVZissU`bjeSzOU(Fl2d0@LW z*lz9cEeoqjDpj!E0ca zvUPYf2NSAdkoWlBifCAHUZ>-GE0C8Tyq$XkZXg4$2)N%X=&A$a)0(tm@`}n%{DPht z&~vUypl4Vh2@2y{Ft_(`^R9^E*XFHuyp{)^vr;r{;2G>-lal<9R|R>$ee|uQ&1P2) zbj5+LaM0ByEIdaUU}5_D>b*p;3kS@kXn0*GSC=#OM{O#1XYV*2978Fpc_|74^*nKj zQgB^ybvsS(qgNnlU>mMKtfgkAMs<8SH@GfYII`&i=}uC7eAN8!tyz@&>VkjM!RG3+ z=tMmnxIot2PSpBnBfuO6kije)J*L84GBv;Ox*GP3)@QzF7|2*Pu*q!%|K@=1b$8Ho zA8hxQtzOkA0@-LjMS%?YX;kLSO^Sy@PweB?gW!aR5;jlb@-b*Z>}q>+r$}e`h6&6 z6=c{XkU<5<6*ZQwg8z|#7UWK_wmg`p(o`^P(_rN{yRN_^**x|U73Rr!N5iF)VwaF& zuv1Dpe4zvr@qjh`0XvmKd!S*(;;pZL(aO5aYd2V>AtV$7wgy~zZa;aKkN^JiuUXO0 zJEx_8dzJw?&N954*kPS}6i_DKj$b^|uqIydh-SLjHX`X=#m*eH@7u$f)yMn!NEh`~ z%MWjY%k%M^_-o`CVfJ2PcMg#^`fymAjfqIcW&9;={BXmqdn>~S9WSJ<8dMyz=qggN z7yZpP5AMrxhoA>5Xe`_E@;2SX8uEvSIax*>xcsCvZLr-A{KqyO`0+kP2H>yR_B`e?sL^oMQSM&z~lqo+UCq zy4z?Bk25qVh~EeDHnKvSCS&n=boY6zW*cHG{3J@}aUL1m4Of;#Pw0DYEs5l2zQxm-#5{jY zm6<^M$3(q zvo1YGI6JX>sb=u$hBmf(y8%)rF2mi7=loMmA!l^PrRP6b+>InbP`-wGU+mQ{Hu5H{ z+@7hk;qK|XMJx4`6p1+9!p4YoI_+pG8kuXF&tgiS@8ELBle)J?H2LGI6Hnv3*H76I z0^&SYdla~A>pZoGQofU{<;BNqShMf=es+O_%X;#@_5mJlYNd?Y*@{TsKl|$U^gM0K z_GxB+Rh*S1h4~uP*p3Gr^J>$#xN<6P%cbI2T(sLOPnf5tLEJC4*bgjoR_+g4Z7vz^ zVC=+x^d}AREv`7&8F8)K@>0l0M``#;68L=adMv`a5wiarZ_cR7lG<4&YLaC;>wIF* zhvhcaDBGxSi30ssj)A#fQslIXZ+z?{%1^o51-#rewVUXuwPSq5Z zV$H%N!bU*$#eOwq@Sz^rLsWY^!G08$hLM-E9#9!LSQ#t!65?aA1P6;&s{k<_$?96>>*DcQrVs2&Rv~{Ix znD0|VY`I!4;z|s+vJx&7#Gxjqymr`QcJ&Rk0y!)AVsRl;h1ABAq@)Hx<~68qR0PVD z*lQ8s_Yxe?~WqqUyS(fZ* zQ~hEm*TrcnMQ2gZP|KH&_Q6FY8Ry#RjoV%7p4ukq8WJF#1kH>pn%q<{JX`dl}=B z3g+3zWyr_AyO^nZgQyI|4hY1DImCF@;8mWllPS!zLB1gm>NX+i&OFeCSQDvD17vPa zATv?!s#oU9x}70JsDRHK@OhkilMzdQ@#PLSllSUZmdpgK$B@fP_b3n2Z(c9<<_mez z1~Fe%?TSJ&z}Fj-%*HpiVuv_m|VdRjtqjbuP@bbJRRfSt=4^DvXb;X8fnOl5E?FbEM~cP*hijms{H2XiWX zAReBbsz1KUF_Xc5b;RIskasm>O<$$Ugbn`Xea(;klo5kbzFaQ7KIoShH?7($5&TTS zID4zU=IbH(?Ipa1kw;!ItqZ}c3YAacnN8w1?eZDYpc&3X?NbRw&ycS8 z^yD9VEo?Vw>J6`KaPMAL^D{9fT4D;1k?@C48CR5u7O6*dd$E{3j|p>h$2x#}lL8M2%T zaq46yHjQ@*_m8dp?!Hwyw<%1{QBgg0Luo03*h}pro<51YVM!2^PwJbBMm0PWM0JX} zQ`wM&XtBI4nbDKwc@fv-?1vBYB({rOG3o<-?x*vcEPH+8qq-RG-?T+;QgpJL&GhXn zM72vOk>5~cCoY`!i^wi&=-bnqJj;+~RaUt919Lf9P5iw4)DB;_qjpG>`}q>C{*b7= ztToo_r*_zjyrn%Q*FNtL0n=ntT2F;dZmof90jICX;E{Z38L@Za9BOhDA4IfGW7G@Eg;M1LBgV*? z*rTHB>zuxsp??PX$6t-KI2BCpW5&E#8tCkE-rDQ<_%LY|5B$gKkwJOB<>MK1J)TWw z#(-^yc#|RPP3w26)znE_ znbGZ{N!|uCE#Aopa1Th30q!i10N1^<5#X-t>41~v7~skzKj5MjIpAO;1Gpwh;yOAR zD>d3(M9A$RrLW^>7pRlB;(!}2@&o!>CO!J(l|A5c`2@HXlOMSGx{r1c^0GOIX{~2; zEuNJ1Ji0+t$)5qVtfxnxztT75_Kqs-VF%P%<Ajos^r4s^QIO8?YPn6yK@mg^!}3 zcne0;WRLInl-}KhAxfoCD5_8h}%c_6~6V=?-wb7u^AlH@bT!d{dO3 z_LiRzJiDyv@p9h7g1jZWft{?=9$RB( ztL6KUwaoppw2wrcE?b6Kso==g$G=ue) ztL@PuTL68_>3;N~@2*-OwYmP(-=5pAn&9)O2|k$or|-}~P7^m08PFWOl4uf~OC+hhFw6CXSwU;1Z!{uqBr)1R6g{`wg| z+kfhb>(BV;ukp=a^*rGR4zqvY)L(qoKYi%0TBP<<@ zdZPDJ_hgY>GDnp9Rrf?g?^oUP7oWFZHOA$qulUs${Pg|klR5wB^ZdCSeV;>M3poSv zL&w99j!`i$kjINf>F?)w4Fvz1A3^53Io#euT-i7&RLLGa2Uh;hp=%6kdm|*OnK;KM zmH}lY$KTNDihl4b`o6XKW9L<&J4uZ8*1NvSVfi-FLN)6PRS_?rm)qNKQNkw6J8nk3 z(?w?|F!_vYkk?2ETl1<3X1V7X_10VTj7|Q$v)*;%-e`3qkWD&i#8;JV?_?rl&r)$2TSG1VUr?$7!Eky&u z3YDBgHsgH$$@N}nBKKNB5XiUB^6%LQY$bmotcJ;7>)EA4djHT`Sqdw`S|ygR5Av2a z>f1rC!R0Zt{N3#|*7hn*XVyS?xQmE5(@)Xx#L=tQkGu4F)L*`w6bR2CK8>5>dvAKX znpcQ9rP=YyQNQf?7@rWI99Q0q>vgY2<&Cx4dp$RUE*!5mnNiu9*TMC~k8$C@=<@+_ zvxGxBa?~p`_1!?Tt8Rdy+wx`@<)lZ{!@HOU&tq0}g0UYkwnLs^Y#zoIkFjI@y$0nO z;`yhbQ>`bMtjrOM|ADcICW5g~F!mG1=8v&6>;2-3LQ5zUXc;7Su}1b?uW2hLlUj8m zW=ACBNBdDT6xS4D=>>9CU7yr4kU2rha#2ZbucUPwa;0T;I-UW(x(s}A_I)y| zZhAm=-wEi-$)c8>jM>!w9`=s*Ysi7mNKUb2J~UX{Cq zgxGs6>Ip>%W@d|Ka@opONNnoT>4w`WI;4-hWZK1A)y2Bh3FUaa$*z1iUcF9$$7LrR zCB37v#cNs;0-&CR)GZ0=7i1G5^{oWcl|?fgHn-&<@8!EI|luG^%AX-R@>NrzueHQaZBv8fy5QzfB{AqDng zW}IlI9nca<^s6T>1qgJ}X?;i?L&H>?A-j!`-!UN5yYRZpdmO4x_&`oJK~8o9eMsw6 zD@hEvF5s#M?hSCC;wN0UxIL0ozWV?!ci;xnf%^p932@Dy^IHM!{G8tk{Gan%32y$J z-@+mP#gDww1-k=XLSC6bUP(Y+i9%i}L0%b@mN~(kwp$B&d{A7+AK#I@dunY#9}DQ? z-~-0wJ@nt5GhxO+8`CE=*CCXE6(%t$XWa zwH*~^TU7;xnw}R3?2W6eGQNZ9)PB+v9+D2f_@;m>nfxR${=D+4w_o1j3aN6l=2Fq| zVYq(N_0lMbfIJ|F7xhvyZb|;_hmDXJ-%R?eC)-uMgwFRy_HGSXj*orM)s?%NVcD8h zaDzs-ty_Vr#zt?r@Ks{m&}n7`bxdPqvHXx_`lR0q$yB1ZkH zs%YTL2-d2;zG0m|)m!q^Ufqoh)$bzw6!Ku5hZW!*@LwE(x-uHYlO>!q7kyAzo{g1OtkzcAom5=}~M7}rR07&nJ;#bosg zTJbRsc+Q*S>$ePew%x|G25*<%PxVR&8rbpHQ{O@YSGaQZdv)7O(m;N7@n2pc3|=iA zMZii_Y|?@GE$+OjE2{^V=+}tiJ5_ho7Yj%lld{nT>bYH$aJY0=74|lzkG|ef1YBKM z10}2hV;4<5EIb#cMK&M$%2!8yanO8HZ7lt1dZr!Z6Zzj|7JgnkXkovVz@@4UEIFJv)fM(d zpmkR!nCk%MsWiY&cd*k6jOj-1$C_pVczkt69S+}4h~2Xo!;Dd2r^8VPhGi=yV^k7S zY)9JzCZh8blBp~R8|20;XV_g6aEdxsc;$QWUOz>^Y6gAm*t|Yqofb}ctnuNN+$sKe zTve7GeFIo)v#-+~%=sM{uhyW>D0e@2f=x7WypO4L6JB1cSgHCgtt~a|i>977@q9}= zxKI}RiZ_GO*fQIVNMed?TcQ(FW!@5+?=EwfaCs9CSKi!sV=0bpkd=*0rbE`xwrs)K zJS$cWp~o2#EUWfT;Zr;A{j+4$@|K^kMvcNfXvL_z?Rn;p`vvn(k6cBE?wy=m`0(aV zPOdJ1A3e1N;O}Q?u7d-AZV!C#EY39n`1kW|sV(ez3J&=Els}ccwqSfA@pFE=3*S4= z6}``jvOQ>A{whN8vbvb&ly#_-Ta1ZFK!rRfuzpA6}!+j2Vq)I`b^;+uTp>W*QZNgH4WppovSM5XJ#;wrz z>XioiwAToI!ZWR!jCdROIUpX>-N3W^Ew6D2d#Bkf6E5Y<5H`JU-*{`D{BoL<`vu#_ zQJ{=yYl@!t-%1_F4Hr^*ra64nSJn?FhkmvS#R_~*dq5UQ7*m!oLh|G}IpL+I z_$oy7L1>*@KMgM7X`|>W0~!-+j(BvApzK+IkuMfTk{Czfuue=;v~gA zzS7flFX1&l#j%w?tJ5gP95Q2GQr0&r z)2rZ~ABbhMCDu#rTJ4l%4v7^vaUHkINq>vi(A{*7yT%|MMii0b=i9? z*3TaP#8H&q*yV*X_XzSM(?X*iVV4Xo@W{GZF`j>D%O#MvnN{C5*=O=QRiypA($mZ? zEuX9wk{X|Ld}inGO}4-1Fn{w*9osWYU*`%TMDjfbIOr>;0wJ)o+9{&jStP{2A01oKl2>o# zqNv;Q_Q?r5%78w3fqfxei|(S^(M|Uu{!q+N-L8;ZK(;`>8X1y@F9fNAS(_RHSs%0R zu*VqTYxk5McCMogSn!HYeIc@&w4)5z)hRiBi`4-E zjxwMoKz?ZZkWy(TWD7?b&;VLrTsFDz3mb{1Lp;a40u}l41(?Z34B)MNol+}a=g1!N zr)g7@8ffuJvCk0mt3pp5Wk9=GoqAr0TA`wyHy;r5%aA{45I-wS7+nKda%DMlsu~TW zjZhN$3{pATPZ<#6t|Zcul)9Q8?5i@QZXM9(f%Z`bgt&9PL^y%@6a`#z#Doq<*fGFxQ5*(4-`W|Tm9SSmU$X&07FKIFQ-xg>MqR1 zBYMf&CoJ~&BkCZ}d3mtU;vlmFw4kk=nI`LAx(Y)IkYC>bSX@=euSdwQS^;m3p6Sdc3kdjk{Yx|i z1Vq@zn>^Q<&IWT#LJpaDlmqiDX8{DJm8T?>4)ZL7%o!xlA^C>6c|&fS1D~%AWd1;I z+i6({!}bE1KyIr8pI~4+#78>BN4j0L7NmObk~b{i>q!}%;N>Z|}Vm(4ms8hDR?rmaI-}kV8l3pbN zuTRJgCv>k59Zo;Z7}$x6BLTKEZj^(+0%LE#lxiA!{2)WJPhCgw&zbtF|O z+|FLjS>etz^Ld@fi`9_>jV*6{rnKIoz4SbIRzUB0>5F%w4fQe)uWYT#B}!|btzqxJ z&2XRKtDn%z8QngHwyGJ!-|{Xv4@(<=#}8Xw0zM_NahG55t0dQ-y5J@L#7_r{qlo^g z3##8P`?O;=mT?*t-cvU(<582dwU0=DVtd14@2JW3hG^{lr>*;waX(6kg48CJW9;?P z34Rh835ouc5Z_BD``;E_b=^0K%6Y!EXLNZ<#Bnx}eIj#G<5gdu_B|jx2q9nT3q5-g zD(m~{Qa$xFruO3;q5N}>@QQC$X2{Yh>k#G{xrvy{#n=txn~m1|Vcy;^vON=3Y$_kb zk5^22s>p^UiQ=mgd-fpGF%=uOu8(6>dr*Cralth z{6eSq_l8ij{?J{fQ|tVz7Hpe#8ELF9@|M5Va?vjjlzK{~Xl>?74jyyitS0tewnI){ zA}?9|eP3;KeaN*Ye;^_%Z06gVcP%LWmGvT|5;7mr>y>EV>g#SXVli{e`4Yn3k*PPC zZmh3(94RxegWS%-*V7ricR34HL;X7;t7I8K>#^d4%ScDV^HyAQUcS5;1y;S3^SZnZ*j7%Me*SWWFyUYcZv0 znXCmLp@gj7i>9{Hj-&08zH6#0tf$D;xYpVMTrcRSOUpIj=62bIcQqK1YpQLJ+s}1< z7@`)r@iA}OPtDh{9|g=?EMk@zKkQFKP5dV6%QbZDp`mWFChC(A;{MR6ojf*r&ynbT z5U&q;gwXo&W$r`Dor3oG36u@yl82>Pzx~kP-gk&oN*{QSefMQm`=j$k66UKda(;i5 z^^Jo0!V7!)KCW*~%-nS@>=EX7)8F-RRX?>v?tsUS-=wsTCjieP`%z1@-#B%?YT{$z zL(v{_>LyO2JemhT^Yvj7v1c>;dTKFk&a$sr+|RG~^XQ&;Z6HPRNzKhsjGXOH}pmGIJ;T{E+J!$ z)|({K4EUw4PLJBZFxdurY>4`;k&hB+oQq)E9s;R3xe-2J6HZPN12l{fJ!s@I*C>5) zob_XW)wd*OuEqtO*ONJ-2x0x42@Hdun%7JJse{?S>R{E+`8%!usUd!UYKZ%<8lv!1 zn?rxq5b0kvyzr+shZaA5d-_vDRDRC?u?sW&)DX8{HALm7hIo)i&u8OT4H5sTA^uT^ zlYVN5+pikp?WcyAu)ogr{ZT`_{?tU1U$su{SFQ6GpYBiJuKk>6%zw@^GX4+lH~Han z{O20tQR`%X)jH*$^NdKxP(L-q_NXE5N9iwT!9V@f5Y>av?x)rX zPv4I|gXDV1lWs@-5hsM7`eWq%)DYWWHN@ygpTw{8j6(6FPxm;dXlJM%b_QCUsjrz` zBtBSTjcKyNrl@n6N>r_WIxPP=rC1kHeD0Jvbj_}J0@T4$bBVwC*+??GLA6PR$dTW# zd1GC^=%8Lz_j9|8;pIC8wOhU~WH7mfBjpp_bwkd1bz8_^fncZiTqWC+z^{^4Ev`xC}BuZ4qnqxwz8>sKQ?P78T%#~?C$)j$(>j&lUa<)MDZ_WEtHnj4cV zH!(c`%s_K?OcAq9DNrwCcm0k;y_Lzut&#v}IzaOZG+Ur4yS^5ELoKD0zPtE6A+}{A z#;@d>so%N1d<(%Xo;qJV!4>M{RW!*K#^_*-GmMegrl^$R@{tQw4bXTiht0Jo<{B59 zAFD+2HE(z-)*-SHchT|QW$;~D#gBC?j@4!?mta;^6PxR&YdMAzma)UC(M@toZ&oP@ zTQJYPZ?4M^SH)~DCGB$Rps|{I#ol#p;{eaAs)pPK0rm~MrgzSnbVGbkWKnky!8Jm{ zd1{b4baYc!58qWIVtuM+(*x|gd?c9?$#|feb6CgwQa)^m3{`v)s)wmcZvk^Rukci} zu50?_I+KaqA{8s^#pmmI^&E(FG*!i0pk4jI<|;CY3SQLZ!(*Jy8vyzJuH$WYo;OoS zYWlu;lLfRH?6KVnUi~zen%*=AY*LFvkZbXGfX~a5lPZIXkAC&I0qt910qnP?zoRpW zKd=MHcz2C>ac=6t7(N560W#v`PzP@2rcYeKUl{O`X_0}|0KbDyW~FI~vh`9G=zp;4 zAp=edIE4EEoK(T5t8y=H>Zb;VaoU-zS$Ov&Ll-y1DZOdl)M!~PHLHPlOmZdzhUbC) z^7sP%3g}xUBsc1C!#|))0pRnMSF=U|SzBk)Qt>^I&X$iA@Si(3EfbTDegiKF!0zN+ zFD~b@v8v!T%##cBZ-?F=qiaORnTMr3xvUc1aFLSU2I!IiezWFX(=<~)GDL|i+<!g$>fgrg^{A;f!3FRAQ=$86VNJFtkx1A^7k3?VsCwQkjzpKvOnG# zICAU(a_nA9$g^gqU8U+*a{5-F4?cMV+sfCDjpB^=PwnP2ZU z^T<6}`65zu>I^cjAfvm!Vc-O0Oh88c9jfaBGNNMX>(ud`MB2YRmHFd4iQ$`oZaGm( z%57?;Bv83dY1~ezdupGg&AzY4_ZjMFCK8NmFvs^9cS=SA1|-^SbteW`^g!AG8G@hh zGrH}Pv>=20g}hoH_QnMnmWomm(x-h=rnMyaImhC1x#zy%E@cf z{V$BES}<-xS^esXpPPPsH(>L1yOuxSS15@Smokq66YMJ1!zzwK!XbwL;>+8>mw7*Y zFYEa8eZ`$DSIP9AKlLlIo>%MmN+SHJUoq-Cpk(tQ{M4^3lY%)?x4PAT&aiREyD5GT z+3?R9wx&LgxL&BEwEy#N{-M`o0O7 zKVv2$iGv9-Kv-fiuBOj3$+B@k>hIASN{xG*h|l{)vv{T)Uz`%E8%7%q_A>)-Dewjn z!*K0n;LSRCBcxYAD%Qh#kYbx!kF)aWC?)4>*Uf`)6IWVvZz%P05 zsvMkP33kfEddbR8KYnvfG_S|G5@Fa|$@jl|m4g2`&dNKWt0dgPzK*l;J7LV6rj^hVMMVSEGnQBmldeZ$=Ah}4gKfA?L=@b=btXnof<7=Xy%mMW3Hb!R5a8>& z9kw4vTp(nwEM)z#JtQ-kA!)Z^UKGmP!bUEG^(a7^=B#Neje~q`U&PWn6 z6t(vqETJY(HqG@agHH@$FA_mN5?K_kd_{ptV5#K2nf5k%T3??D#?h5|2$dB2cB~lPeKX5s9 zma85`yew|89uJ-aJ)t^*%Pf&gmaTw2%cEseZX45T?7cnCFm=F34t%ii7fjw$qj|IpdtsKOPF2ss`RCK0q57g!7wLK}M);s9#+h_>{3mp$WMosKN z0V&E(m0$_q1ug4=%@AzWBkAqe`FQ>A>~;C`UZ)1}pB9Q6@m9zHGZW#jXWT(15b&>O z+!Hb`MML}R8F%Sjc!1b1k?PNGwu+s z2&2pYamHOrc8BZw0>ZF&A60~Oyg#Xdz#8luCg6%c=i|lW9J;H&zeIUg)+~ihH-Hi7l&~p5`l3Iz~upVImXRlTp7k~wgKjWfN_W7c-3yAE~Y6c zJ~;#K47hi4<%K%$qtEG*g1{%MdrJQw}O7@Fs!2Ya6ZYQPoUMAoRJ_-Zz@30>4zBJ(4xx|5a zS&w;nhZH9Zzs|I)dnB3Z8E6SW%LiIlQ#tl)9bEMB0||L0gOk}~o7`bL$egO`8$I^nK4&v(G3pe!!EjYGTxiekBbwE; z!5Z3egZZw0FuZ+wL6qLITIkLtw#V(R4o{|qT=C?wO%}~^T4M{@)@c0kjNz=e-LlaR ztEkqg_xIS@)PeQwE%t!+ZGcsyx0BDbliPZDiFo*+suFcoW99>fFhXl<57K(0Z}ig$ zc#)+J0`{r*SoDn1*W1S1V#l~e`l$l?Gp`O9bKoF=W9X;;3u6I}4tf0^-vH;Wx9tv{ z1`K~HK!y%*62RF(2BT;7(*!vA56)7b;|t($dRyPN*q(2yc`AiH?kjaD0q5q@-rPI- zX;8MqXEtY^2|L9KK5H21C9proMQ=aVvuLrVt2kp z=BWal58%*0I0)c~AWsN7KpZ!n6}82y_URarp`04OdwSe+e#3mUpu49ldGmPJPal|% zDR$lb!+6H@0Qx!1-P0+bGbA0ui5ctMuVGq0(QM)k*2Ol^cGMQ@+NYaFsd}pY`l$dv zBk1Z0{Ct3Z6*=k&)7x|M1{n;P^VoNt_aS=#<76QFdDC2@2EOiFG*6(j9B>i9&3(T; z+gvnXj0Str2X7azoK(7;;(yvc6trBeZu3v%?d4X`cf$pQL#UDsz9|rbv@X>9fn;x_mpnU~+5%>;V7uJIr&B_cq zJ=R0C!(829u0AkV=K^R)0NViH0n8O!gZ?>y9e?z32N{xb4c2vY_CfzF!1ACY>(EgT`XBWz4pHa?TSa35WY0mbSp)FL9K_%| zA{YxTOYh!3kq3^qXfvnLLOp}Wf5km|l00#YkOzymd9$QZM?Hzhf5kmx9QXWj|2_Q= zxJQfz{700G(Nfnhjs!sZ?mai+H*fB_bV8 zG@JEAY!!OXL`GXh=ecWd%^Sh9>5OwHJbPNR`$5Ch?4BdRJ<9l;e`*iUs!tyg@l147 ziM(@yUUv0GYS-X;W=@n9d@+mrG8X@p5Wyk6{P-o;rSLP6_|g_XF`ir)h_Qc9s7R54 zTreg_GK%+IEv{zFd_^*0B3~%)GfG~>nPh!ui#6$RwN$f@04EgA9qn z%jB7KiDJscnM{d7&ZLyQ69r=w+=o%mUt-}9#>!Uda{Jm&`ebG34(% z=T}DQzC0p%ijFb6?Q2=A6a2OVJ|Y zlT6X-&Zy}6M5N;%6)g}%kjXHAIdRx17*=_%XDAFMw)H3Mc2}8g6&3;n6@t{Nu0L~+ z=H}Le^yqH3KWKh^bMC|FH#Zv}VrqnrxVGw-ZRSomw__!GHBfV+$J9_} zKb<31ZO;MW4g-I>JQ@%7T6>mSh*i8eH53HmED7Q{+Zasj0Wm4un{jYl@;En?M}30; zQUGcF37At51;KZ0fWE=SZdmbjW>8!c+iZD>TdZQ`xy5+!x1v{!!^yXrZ)yS3vKyk}9_vrv+BiYH>4J)2thpW7Q1gcPS$)7Iz!e zq*}av5dCs-<-Wnnj~Da-HjYl9oH3d{PFet8w^W^gmdxJ98V6d|r#4)PRglW8jZI_q ztU2zr3|Q*62Ww{a4EHM1nf1Kg*eq3_HA-^y16OiN#^%vQ9l1Ya^T#848LLKzfPr@U zjw{v1u^Q5)F0h=H-eCC!+U9nTbstv-CT^^Hu36yaTDb_NWG>O8*z)nv*EC$PSMFN< z3u~Ar_xNF=1f;OMz;%FR#k&P%A=hIm$cV?PQoUdStr@pm?J$ha5ZmgXSc<{IMTheM z>1__WNn*!RWUQni`0Rj1m`O{?F&-N;h$ZC#d?H#}-Z03lj=Xl)+C*0Uw7aXa22$)U zMS+@7j~Y1U_^})CDizvTo(S*~^2s1+6G3s1SKMfwH6Qh~@vO_LK|RqLtFa17O&A`# zixOZnoy~ATX)sa(o~sZc*UtkV>7K5^n#k+yLMD!sD1^^Ss;cab0J;GypX&3LvoJ-d znqz0|h1fX+%4e)b9cw7C{1z{hdZ9Vhah}|CUgVZUrVX@`C`&5E#X>}f1>=XD{%UPs8TGH^2Z|;PlJ3ER z!6mLz)w6ewDxR1jkd? zNQkHNFsSOjKdv~5KhsF`3C9Qwmv~fuiurdw|Kd7!N*{(!B#vuPyT7|4u3&kZiUQ#p zp25pOWrI=r7mJRUYsyFNWIr(cqG3|W2A8QAg}ZIGad-82-yLmV$G=)4k*s%VovHR; zh6{KKpS!*7)c8wNBom$$*Fo^FIYWQcB=F0r#3}q0_uvp8Vh7gmuc;5uAVvYN%!NIxgzy`D@pE^{~4jSd-47uo(c z9&AsKT=BKL37_>-koUUe8O=T@_yY|SGqB*ZP6Xg9uJ-$WYc%X(39jmY;InxOtXdP@ z`93uo{#g9jczg_rNZ$T4Cc~#Or4VDr&Pb#bi!<5t^Gpe;%4ds)aJaxH)Jh>b{;+3f zqciC$BpGCJy-lGg{d|Hg=i*Yz8DdT6(27)mkU zyUC$tV{ycJYt;SWLgz3Ch!)Ou8lZ8 z=+TllRuyG`7$LrA8G&`Xyt;`T3SR${u_Ci%5hgsWTXcJlE+7O?~lirm=|jZxy3jwrIs?lPaR4a%KG z6DLd7TTFMCmV891Y({i+QCVm0rzc4)&!F;J!I^XIq9+3lbGEd^ z`oWe60=_*#)_mV0ZOu^ueMCLVz84=wJ1J*wIJu#2fYQx3wP-bFA;ddrF{`4dC{siFvg{e!v5&GzizKxATZdrhGy2qb z=Ya~XYB38+#5>9+<%xZ_*K;lvqfzG$tZgt?=7j(&lCx9c#ENuQ{&pju$%LC!YI@okTUQT;m@j(Yik zpRYFpx6Tj5WUo|PKNnQ?zpU(isy)xyP(;aT_1FSkyc?F|ePj*E^hFcY+s~z&Qzug< zwiHF@I?9>%<1^OgDB{sQK3_8CitYQ2SYG(0^Rn$uzpE8hKhKW)lo2}dV!nIA8E2PM zx0Ly+hY7M^begQNWb=6JKVvJQ-Gn_;>$JQ3h0FKFyJ+)-;x>!Ldwd+zlm!_LlqV{G zb~LhB!bu!fexhsMpyD|PdaM7G93eGHe+g!OUf&a94c=vU3Z`COAX0`fJR_3y>EVDW z>^sUdUOXjFq|Z#EMJ)e;dOfS=bB-)5dHRY|WpH_CF_ylLa+i4X^>X>Y{^9@pKmPLb z_YcYEJ@@TD#q&Is&(EB_|KT71^8fkcAv}(sAkhj zzB%yzVUCEoDwg2w2YD2n&sQS9BXPBj_*Zy6l<8$(uSRR1ze-S~XOy9DI87<<;>kDH zi<}HS+uc?9<5)&;Th9oRTPPwQa0ruI3$Ygzn=Q*J4{#KEI({XY99;sU+F6E0&K(ce z&qAZinM%Mm?96IU0MI&lf(8~F;X5jvZFWVU?PqpqIlJy#;*{2x_$K)KLy*K2R+!H6 z3$dN^9dc{Ldabk^Gb17|>iW^1Z-PFvxj3M({B{J*2x3G{hL}#)85WCm_Vx|U^JQvC zCS8K%%$`5`!k$qKBf)pgC(Amc=iDL&D*6O0g&@mH!^ENtW6A84Pjic!#O;Kl^t-3? zss6lhHlQ5F7=>O=Z&)Nqj7+J6Y@6qu7oP9i_qLtGOUU;nPJDMVJf&YNI}w+GWUeb_ z(&D;UuY8(zT8K8Z3WWT!4Bu-4`n%Cq8##>Hc6jD$0-AHpJ+fxEyW4n)^Sciam;$#>0QN`IDKgYTU)n!E0$2C8-%SM6IzCe8)#hcd7eLgycY&)O)6`V zTfat;wkvMSBq3xp+Xgr}NasBXk*6D^{yCcl%5 zjVQ(CL+N;ZHYsaF4b02}NvqI+WP&pyquKdM8G1l<`+}M06@M+eq1{|yVO-XF?P~X( z1oSptrDa)m27NcASlz50873mPreKIZ)+U^9ErQOKnOV`-t&r#a!Sb~5ZO)8%%{s=; zJ?a&yFdd22?_B&1Cr|{JusJ?dRW5eZeoyN�rr~qp0M47IZ!C>4>K&@qFfJ8}W#2 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