From c473c0c73472963b91cfd0b510f8003be8e3c9b7 Mon Sep 17 00:00:00 2001
From: Robert Habermeier <rphmeier@gmail.com>
Date: Fri, 25 May 2018 16:16:01 +0200
Subject: [PATCH] Minimal parachain framework part 1 (#113)

* dynamic inclusion threshold calculator

* collators interface

* collation helpers

* initial proposal-creation future

* create proposer when asked to propose

* remove local_availability duty

* statement table tracks includable parachain count

* beginnings of timing future

* finish proposal logic

* remove stray println

* extract shared table to separate module

* change ordering

* includability tracking

* fix doc

* initial changes to parachains module

* initialise dummy block before API calls

* give polkadot control over round proposer based on random seed

* propose only after enough candidates

* flesh out parachains module a bit more

* set_heads

* actually introduce set_heads to runtime

* update block_builder to accept parachains

* split block validity errors from real errors in evaluation

* update WASM runtimes

* polkadot-api methods for parachains additions

* delay evaluation until candidates are ready

* comments

* fix dynamic inclusion with zero initial

* test for includability tracker

* wasm validation of parachain candidates

* move primitives to primitives crate

* remove runtime-std dependency from codec

* adjust doc

* polkadot-parachain-primitives

* kill legacy polkadot-validator crate

* basic-add test chain

* test for basic_add parachain

* move to test-chains dir

* use wasm-build

* new wasm directory layout

* reorganize a bit more

* Fix for rh-minimal-parachain (#141)

* Remove extern "C"

We already encountered such behavior (bug?) in pwasm-std, I believe.

* Fix `panic_fmt` signature by adding `_col`

Wrong `panic_fmt` signature can inhibit some optimizations in LTO mode.

* Add linker flags and use wasm-gc in build script

Pass --import-memory to LLD to emit wasm binary with imported memory.

Also use wasm-gc instead of wasm-build.

* Fix effective_max.

I'm not sure why it was the way it was actually.

* Recompile wasm.

* Fix indent

* more basic_add tests

* validate parachain WASM

* produce statements on receiving statements

* tests for reactive statement production

* fix build

* add OOM lang item to runtime-io

* use dynamic_inclusion when evaluating as well

* fix update_includable_count

* remove dead code

* grumbles

* actually defer round_proposer logic

* update wasm

* address a few more grumbles

* grumbles

* update WASM checkins

* remove dependency on tokio-timer
---
 polkadot/api/Cargo.toml                       |   1 -
 polkadot/api/src/lib.rs                       |  58 +-
 polkadot/collator/Cargo.toml                  |   4 +-
 polkadot/collator/src/lib.rs                  |   8 +-
 polkadot/consensus/Cargo.toml                 |   1 +
 polkadot/consensus/src/collation.rs           | 176 ++++
 polkadot/consensus/src/dynamic_inclusion.rs   | 130 +++
 polkadot/consensus/src/error.rs               |  37 +-
 polkadot/consensus/src/evaluation.rs          | 135 +++
 polkadot/consensus/src/lib.rs                 | 816 +++++++++---------
 polkadot/consensus/src/service.rs             |  55 +-
 .../consensus/src/shared_table/includable.rs  | 137 +++
 polkadot/consensus/src/shared_table/mod.rs    | 566 ++++++++++++
 polkadot/parachain/Cargo.toml                 |  17 +
 polkadot/parachain/src/lib.rs                 | 146 ++++
 polkadot/parachain/src/wasm.rs                | 166 ++++
 polkadot/parachain/test-chains/.gitignore     |   2 +
 .../test-chains/basic_add/Cargo.toml          |  25 +
 .../test-chains/basic_add/src/lib.rs          | 143 +++
 .../parachain/test-chains/basic_add/src/src   |   1 +
 .../test-chains/basic_add/src/wasm.rs         |  58 ++
 .../test-chains/build_test_chains.sh          |  14 +
 polkadot/parachain/tests/basic_add.rs         | 170 ++++
 polkadot/parachain/tests/res/basic_add.wasm   | Bin 0 -> 44941 bytes
 polkadot/primitives/src/lib.rs                |   1 -
 polkadot/primitives/src/parachain.rs          |   9 +-
 polkadot/primitives/src/validator.rs          |  76 --
 polkadot/runtime/Cargo.toml                   |   4 +-
 polkadot/runtime/src/lib.rs                   |  28 +-
 polkadot/runtime/src/parachains.rs            | 209 ++++-
 polkadot/runtime/wasm/Cargo.lock              |   3 -
 .../release/polkadot_runtime.compact.wasm     | Bin 417199 -> 429539 bytes
 .../release/polkadot_runtime.wasm             | Bin 461195 -> 475147 bytes
 polkadot/service/src/lib.rs                   |   8 +-
 polkadot/statement-table/src/generic.rs       | 121 ++-
 polkadot/transaction-pool/src/lib.rs          |  27 +-
 polkadot/validator/Cargo.toml                 |  11 -
 polkadot/validator/src/error.rs               |  33 -
 polkadot/validator/src/lib.rs                 |  34 -
 polkadot/validator/src/parachains.rs          |  68 --
 polkadot/validator/src/validator.rs           | 101 ---
 41 files changed, 2748 insertions(+), 851 deletions(-)
 create mode 100644 polkadot/consensus/src/collation.rs
 create mode 100644 polkadot/consensus/src/dynamic_inclusion.rs
 create mode 100644 polkadot/consensus/src/evaluation.rs
 create mode 100644 polkadot/consensus/src/shared_table/includable.rs
 create mode 100644 polkadot/consensus/src/shared_table/mod.rs
 create mode 100644 polkadot/parachain/Cargo.toml
 create mode 100644 polkadot/parachain/src/lib.rs
 create mode 100644 polkadot/parachain/src/wasm.rs
 create mode 100644 polkadot/parachain/test-chains/.gitignore
 create mode 100644 polkadot/parachain/test-chains/basic_add/Cargo.toml
 create mode 100644 polkadot/parachain/test-chains/basic_add/src/lib.rs
 create mode 120000 polkadot/parachain/test-chains/basic_add/src/src
 create mode 100644 polkadot/parachain/test-chains/basic_add/src/wasm.rs
 create mode 100755 polkadot/parachain/test-chains/build_test_chains.sh
 create mode 100644 polkadot/parachain/tests/basic_add.rs
 create mode 100755 polkadot/parachain/tests/res/basic_add.wasm
 delete mode 100644 polkadot/primitives/src/validator.rs
 delete mode 100644 polkadot/validator/Cargo.toml
 delete mode 100644 polkadot/validator/src/error.rs
 delete mode 100644 polkadot/validator/src/lib.rs
 delete mode 100644 polkadot/validator/src/parachains.rs
 delete mode 100644 polkadot/validator/src/validator.rs

diff --git a/polkadot/api/Cargo.toml b/polkadot/api/Cargo.toml
index cb2204d69e9..860536ac959 100644
--- a/polkadot/api/Cargo.toml
+++ b/polkadot/api/Cargo.toml
@@ -5,7 +5,6 @@ authors = ["Parity Technologies <admin@parity.io>"]
 
 [dependencies]
 error-chain = "0.11"
-log = "0.3"
 polkadot-executor = { path = "../executor" }
 polkadot-runtime = { path = "../runtime" }
 polkadot-primitives = { path = "../primitives" }
diff --git a/polkadot/api/src/lib.rs b/polkadot/api/src/lib.rs
index a0527854239..fd24f52766e 100644
--- a/polkadot/api/src/lib.rs
+++ b/polkadot/api/src/lib.rs
@@ -40,8 +40,8 @@ use polkadot_executor::Executor as LocalDispatch;
 use substrate_executor::{NativeExecutionDispatch, NativeExecutor};
 use state_machine::OverlayedChanges;
 use primitives::{AccountId, BlockId, Hash, Index, SessionKey, Timestamp};
-use primitives::parachain::DutyRoster;
-use runtime::{Block, Header, UncheckedExtrinsic, Extrinsic, Call, TimestampCall};
+use primitives::parachain::{DutyRoster, CandidateReceipt, Id as ParaId};
+use runtime::{Block, Header, UncheckedExtrinsic, Extrinsic, Call, TimestampCall, ParachainsCall};
 
 error_chain! {
 	errors {
@@ -135,12 +135,21 @@ pub trait PolkadotApi {
 	/// Get the index of an account at a block.
 	fn index(&self, at: &Self::CheckedBlockId, account: AccountId) -> Result<Index>;
 
+	/// Get the active parachains at a block.
+	fn active_parachains(&self, at: &Self::CheckedBlockId) -> Result<Vec<ParaId>>;
 
-	/// Evaluate a block and see if it gives an error.
-	fn evaluate_block(&self, at: &Self::CheckedBlockId, block: Block) -> Result<()>;
+	/// Get the validation code of a parachain at a block. If the parachain is active, this will always return `Some`.
+	fn parachain_code(&self, at: &Self::CheckedBlockId, parachain: ParaId) -> Result<Option<Vec<u8>>>;
+
+	/// Get the chain head of a parachain. If the parachain is active, this will always return `Some`.
+	fn parachain_head(&self, at: &Self::CheckedBlockId, parachain: ParaId) -> Result<Option<Vec<u8>>>;
+
+	/// Evaluate a block. Returns true if the block is good, false if it is known to be bad,
+	/// and an error if we can't evaluate for some reason.
+	fn evaluate_block(&self, at: &Self::CheckedBlockId, block: Block) -> Result<bool>;
 
 	/// Create a block builder on top of the parent block.
-	fn build_block(&self, parent: &Self::CheckedBlockId, timestamp: Timestamp) -> Result<Self::BlockBuilder>;
+	fn build_block(&self, parent: &Self::CheckedBlockId, timestamp: Timestamp, parachains: Vec<CandidateReceipt>) -> Result<Self::BlockBuilder>;
 }
 
 /// A checked block ID used for the substrate-client implementation of CheckedBlockId;
@@ -213,15 +222,36 @@ impl<B: Backend> PolkadotApi for Client<B, NativeExecutor<LocalDispatch>>
 		with_runtime!(self, at, ::runtime::Timestamp::now)
 	}
 
-	fn evaluate_block(&self, at: &CheckedId, block: Block) -> Result<()> {
-		with_runtime!(self, at, || ::runtime::Executive::execute_block(block))
+	fn evaluate_block(&self, at: &CheckedId, block: Block) -> Result<bool> {
+		use substrate_executor::error::ErrorKind as ExecErrorKind;
+
+		let res = with_runtime!(self, at, || ::runtime::Executive::execute_block(block));
+		match res {
+			Ok(()) => Ok(true),
+			Err(err) => match err.kind() {
+				&ErrorKind::Executor(ExecErrorKind::Runtime) => Ok(false),
+				_ => Err(err)
+			}
+		}
 	}
 
 	fn index(&self, at: &CheckedId, account: AccountId) -> Result<Index> {
 		with_runtime!(self, at, || ::runtime::System::account_index(account))
 	}
 
-	fn build_block(&self, parent: &CheckedId, timestamp: Timestamp) -> Result<Self::BlockBuilder> {
+	fn active_parachains(&self, at: &CheckedId) -> Result<Vec<ParaId>> {
+		with_runtime!(self, at, ::runtime::Parachains::active_parachains)
+	}
+
+	fn parachain_code(&self, at: &CheckedId, parachain: ParaId) -> Result<Option<Vec<u8>>> {
+		with_runtime!(self, at, || ::runtime::Parachains::parachain_code(parachain))
+	}
+
+	fn parachain_head(&self, at: &CheckedId, parachain: ParaId) -> Result<Option<Vec<u8>>> {
+		with_runtime!(self, at, || ::runtime::Parachains::parachain_head(parachain))
+	}
+
+	fn build_block(&self, parent: &CheckedId, timestamp: Timestamp, parachains: Vec<CandidateReceipt>) -> Result<Self::BlockBuilder> {
 		let parent = parent.block_id();
 		let header = Header {
 			parent_hash: self.block_hash_from_id(parent)?.ok_or(ErrorKind::UnknownBlock(*parent))?,
@@ -239,6 +269,14 @@ impl<B: Backend> PolkadotApi for Client<B, NativeExecutor<LocalDispatch>>
 					function: Call::Timestamp(TimestampCall::set(timestamp)),
 				},
 				signature: Default::default(),
+			},
+			UncheckedExtrinsic {
+				extrinsic: Extrinsic {
+					signed: Default::default(),
+					index: Default::default(),
+					function: Call::Parachains(ParachainsCall::set_heads(parachains)),
+				},
+				signature: Default::default(),
 			}
 		];
 
@@ -275,7 +313,7 @@ pub struct ClientBlockBuilder<S> {
 impl<S: state_machine::Backend> ClientBlockBuilder<S>
 	where S::Error: Into<client::error::Error>
 {
-	// initialises a block ready to allow extrinsics to be applied.
+	// initialises a block, ready to allow extrinsics to be applied.
 	fn initialise_block(&mut self) -> Result<()> {
 		let result = {
 			let mut ext = state_machine::Ext::new(&mut self.changes, &self.state);
@@ -406,7 +444,7 @@ mod tests {
 		let client = client();
 
 		let id = client.check_id(BlockId::Number(0)).unwrap();
-		let block_builder = client.build_block(&id, 1_000_000).unwrap();
+		let block_builder = client.build_block(&id, 1_000_000, Vec::new()).unwrap();
 		let block = block_builder.bake();
 
 		assert_eq!(block.header.number, 1);
diff --git a/polkadot/collator/Cargo.toml b/polkadot/collator/Cargo.toml
index 6f1fa163022..42fc14c666c 100644
--- a/polkadot/collator/Cargo.toml
+++ b/polkadot/collator/Cargo.toml
@@ -1,10 +1,12 @@
 [package]
 name = "polkadot-collator"
 version = "0.1.0"
-authors = ["Parity Technologies <rphmeier@gmail.com>"]
+authors = ["Parity Technologies <admin@parity.io>"]
 description = "Abstract collation logic"
 
 [dependencies]
 futures = "0.1.17"
+substrate-codec = { path = "../../substrate/codec", version = "0.1" }
 substrate-primitives = { path = "../../substrate/primitives", version = "0.1" }
 polkadot-primitives = { path = "../primitives", version = "0.1" }
+polkadot-parachain = { path = "../parachain", version = "0.1" }
diff --git a/polkadot/collator/src/lib.rs b/polkadot/collator/src/lib.rs
index 14b430ebbad..967a8e6de6f 100644
--- a/polkadot/collator/src/lib.rs
+++ b/polkadot/collator/src/lib.rs
@@ -45,6 +45,7 @@
 //! to be performed, as the collation logic itself.
 
 extern crate futures;
+extern crate substrate_codec as codec;
 extern crate substrate_primitives as primitives;
 extern crate polkadot_primitives;
 
@@ -82,7 +83,6 @@ pub trait RelayChainContext {
 }
 
 /// Collate the necessary ingress queue using the given context.
-// TODO: impl trait
 pub fn collate_ingress<'a, R>(relay_context: R)
 	-> Box<Future<Item=ConsolidatedIngress, Error=R::Error> + 'a>
 	where
@@ -105,7 +105,7 @@ pub fn collate_ingress<'a, R>(relay_context: R)
 	// and then by the parachain ID.
 	//
 	// then transform that into the consolidated egress queue.
-	let future = stream::futures_unordered(egress_fetch)
+	Box::new(stream::futures_unordered(egress_fetch)
 		.fold(BTreeMap::new(), |mut map, (routing_id, egresses)| {
 			for (depth, egress) in egresses.into_iter().rev().enumerate() {
 				let depth = -(depth as i64);
@@ -116,9 +116,7 @@ pub fn collate_ingress<'a, R>(relay_context: R)
 		})
 		.map(|ordered| ordered.into_iter().map(|((_, id), egress)| (id, egress)))
 		.map(|i| i.collect::<Vec<_>>())
-		.map(ConsolidatedIngress);
-
-	Box::new(future)
+		.map(ConsolidatedIngress))
 }
 
 /// Produce a candidate for the parachain.
diff --git a/polkadot/consensus/Cargo.toml b/polkadot/consensus/Cargo.toml
index 29d55888651..5be758a91bd 100644
--- a/polkadot/consensus/Cargo.toml
+++ b/polkadot/consensus/Cargo.toml
@@ -13,6 +13,7 @@ log = "0.3"
 exit-future = "0.1"
 polkadot-api = { path = "../api" }
 polkadot-collator = { path = "../collator" }
+polkadot-parachain = { path = "../parachain" }
 polkadot-primitives = { path = "../primitives" }
 polkadot-runtime = { path = "../runtime" }
 polkadot-statement-table = { path = "../statement-table" }
diff --git a/polkadot/consensus/src/collation.rs b/polkadot/consensus/src/collation.rs
new file mode 100644
index 00000000000..3738ae90041
--- /dev/null
+++ b/polkadot/consensus/src/collation.rs
@@ -0,0 +1,176 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Validator-side view of collation.
+//!
+//! This module contains type definitions, a trait for a batch of collators, and a trait for
+//! attempting to fetch a collation repeatedly until a valid one is obtained.
+
+use std::sync::Arc;
+
+use polkadot_api::PolkadotApi;
+use polkadot_primitives::{Hash, AccountId};
+use polkadot_primitives::parachain::{Id as ParaId, Chain, BlockData, Extrinsic, CandidateReceipt};
+
+use futures::prelude::*;
+
+/// A full collation.
+pub struct Collation {
+	/// Block data.
+	pub block_data: BlockData,
+	/// The candidate receipt itself.
+	pub receipt: CandidateReceipt,
+}
+
+/// Encapsulates connections to collators and allows collation on any parachain.
+///
+/// This is expected to be a lightweight, shared type like an `Arc`.
+pub trait Collators: Clone {
+	/// Errors when producing collations.
+	type Error;
+	/// A full collation.
+	type Collation: IntoFuture<Item=Collation,Error=Self::Error>;
+
+	/// Collate on a specific parachain, building on a given relay chain parent hash.
+	fn collate(&self, parachain: ParaId, relay_parent: Hash) -> Self::Collation;
+
+	/// Note a bad collator. TODO: take proof
+	fn note_bad_collator(&self, collator: AccountId);
+}
+
+/// A future which resolves when a collation is available.
+///
+/// This future is fused.
+pub struct CollationFetch<C: Collators, P: PolkadotApi> {
+	parachain: Option<ParaId>,
+	relay_parent_hash: Hash,
+	relay_parent: P::CheckedBlockId,
+	collators: C,
+	live_fetch: Option<<C::Collation as IntoFuture>::Future>,
+	client: Arc<P>,
+}
+
+impl<C: Collators, P: PolkadotApi> CollationFetch<C, P> {
+	/// Create a new collation fetcher for the given chain.
+	pub fn new(parachain: Chain, relay_parent: P::CheckedBlockId, relay_parent_hash: Hash, collators: C, client: Arc<P>) -> Self {
+		CollationFetch {
+			relay_parent_hash,
+			relay_parent,
+			collators,
+			client,
+			parachain: match parachain {
+				Chain::Parachain(id) => Some(id),
+				Chain::Relay => None,
+			},
+			live_fetch: None,
+		}
+	}
+}
+
+impl<C: Collators, P: PolkadotApi> Future for CollationFetch<C, P> {
+	type Item = (Collation, Extrinsic);
+	type Error = C::Error;
+
+	fn poll(&mut self) -> Poll<(Collation, Extrinsic), C::Error> {
+		let parachain = match self.parachain.as_ref() {
+			Some(p) => p.clone(),
+			None => return Ok(Async::NotReady),
+		};
+
+		loop {
+			let x = {
+				let (r, c)  = (self.relay_parent_hash, &self.collators);
+				let poll = self.live_fetch
+					.get_or_insert_with(move || c.collate(parachain, r).into_future())
+					.poll();
+
+				if let Err(_) = poll { self.parachain = None }
+				try_ready!(poll)
+			};
+
+			match validate_collation(&*self.client, &self.relay_parent, &x) {
+				Ok(()) => {
+					self.parachain = None;
+
+					// TODO: generate extrinsic while verifying.
+					return Ok(Async::Ready((x, Extrinsic)));
+				}
+				Err(e) => {
+					debug!("Failed to validate parachain due to API error: {}", e);
+
+					// just continue if we got a bad collation or failed to validate
+					self.live_fetch = None;
+					self.collators.note_bad_collator(x.receipt.collator)
+				}
+			}
+		}
+	}
+}
+
+// Errors that can occur when validating a parachain.
+error_chain! {
+	types { Error, ErrorKind, ResultExt; }
+
+	errors {
+		InactiveParachain(id: ParaId) {
+			description("Collated for inactive parachain"),
+			display("Collated for inactive parachain: {:?}", id),
+		}
+		ValidationFailure {
+			description("Parachain candidate failed validation."),
+			display("Parachain candidate failed validation."),
+		}
+		WrongHeadData(expected: Vec<u8>, got: Vec<u8>) {
+			description("Parachain validation produced wrong head data."),
+			display("Parachain validation produced wrong head data (expected: {:?}, got {:?}", expected, got),
+		}
+	}
+
+	links {
+		PolkadotApi(::polkadot_api::Error, ::polkadot_api::ErrorKind);
+	}
+}
+
+/// Check whether a given collation is valid. Returns `Ok`  on success, error otherwise.
+pub fn validate_collation<P: PolkadotApi>(client: &P, relay_parent: &P::CheckedBlockId, collation: &Collation) -> Result<(), Error> {
+	use parachain::{self, ValidationParams};
+
+	let para_id = collation.receipt.parachain_index;
+	let validation_code = client.parachain_code(relay_parent, para_id)?
+		.ok_or_else(|| ErrorKind::InactiveParachain(para_id))?;
+
+	let chain_head = client.parachain_head(relay_parent, para_id)?
+		.ok_or_else(|| ErrorKind::InactiveParachain(para_id))?;
+
+	let params = ValidationParams {
+		parent_head: chain_head,
+		block_data: collation.block_data.0.clone(),
+	};
+
+	match parachain::wasm::validate_candidate(&validation_code, params) {
+		Ok(result) => {
+			if result.head_data == collation.receipt.head_data.0 {
+				Ok(())
+			} else {
+				Err(ErrorKind::WrongHeadData(
+					collation.receipt.head_data.0.clone(),
+					result.head_data
+				).into())
+			}
+		}
+		Err(_) => Err(ErrorKind::ValidationFailure.into())
+	}
+}
diff --git a/polkadot/consensus/src/dynamic_inclusion.rs b/polkadot/consensus/src/dynamic_inclusion.rs
new file mode 100644
index 00000000000..d48e4862745
--- /dev/null
+++ b/polkadot/consensus/src/dynamic_inclusion.rs
@@ -0,0 +1,130 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Dynamic inclusion threshold over time.
+
+use std::time::{Duration, Instant};
+
+fn duration_to_micros(duration: &Duration) -> u64 {
+	duration.as_secs() * 1_000_000 + (duration.subsec_nanos() / 1000) as u64
+}
+
+/// Dynamic inclusion threshold over time.
+///
+/// The acceptable proportion of parachains which must have parachain candidates
+/// reduces over time (eventually going to zero).
+#[derive(Debug, Clone)]
+pub struct DynamicInclusion {
+	start: Instant,
+	y: u64,
+	m: u64,
+}
+
+impl DynamicInclusion {
+	/// Constructs a new dynamic inclusion threshold calculator based on the time now,
+	/// how many parachain candidates are required at the beginning, and when an empty
+	/// block will be allowed.
+	pub fn new(initial: usize, start: Instant, allow_empty: Duration) -> Self {
+		// linear function f(n_candidates) -> valid after microseconds
+		// f(0) = allow_empty
+		// f(initial) = 0
+		// m is actually the negative slope to avoid using signed arithmetic.
+		let (y, m) = if initial != 0 {
+			let y = duration_to_micros(&allow_empty);
+
+			(y, y / initial as u64)
+		} else {
+			(0, 0)
+		};
+
+		DynamicInclusion {
+			start,
+			y,
+			m,
+		}
+	}
+
+	/// Returns the duration from `now` after which the amount of included parachain candidates
+	/// would be enough, or `None` if it is sufficient now.
+	///
+	/// Panics if `now` is earlier than the `start`.
+	pub fn acceptable_in(&self, now: Instant, included: usize) -> Option<Duration> {
+		let elapsed = now.duration_since(self.start);
+		let elapsed = duration_to_micros(&elapsed);
+
+		let valid_after = self.y.saturating_sub(self.m * included as u64);
+
+		if elapsed >= valid_after {
+			None
+		} else {
+			Some(Duration::from_millis((valid_after - elapsed) as u64 / 1000))
+		}
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+
+	#[test]
+	fn full_immediately_allowed() {
+		let now = Instant::now();
+
+		let dynamic = DynamicInclusion::new(
+			10,
+			now,
+			Duration::from_millis(4000),
+		);
+
+		assert!(dynamic.acceptable_in(now, 10).is_none());
+		assert!(dynamic.acceptable_in(now, 11).is_none());
+		assert!(dynamic.acceptable_in(now + Duration::from_millis(2000), 10).is_none());
+	}
+
+	#[test]
+	fn half_allowed_halfway() {
+		let now = Instant::now();
+
+		let dynamic = DynamicInclusion::new(
+			10,
+			now,
+			Duration::from_millis(4000),
+		);
+
+		assert_eq!(dynamic.acceptable_in(now, 5), Some(Duration::from_millis(2000)));
+		assert!(dynamic.acceptable_in(now + Duration::from_millis(2000), 5).is_none());
+		assert!(dynamic.acceptable_in(now + Duration::from_millis(3000), 5).is_none());
+		assert!(dynamic.acceptable_in(now + Duration::from_millis(4000), 5).is_none());
+	}
+
+	#[test]
+	fn zero_initial_is_flat() {
+		let now = Instant::now();
+
+		let dynamic = DynamicInclusion::new(
+			0,
+			now,
+			Duration::from_secs(10_000),
+		);
+
+		for i in 0..10_001 {
+			let now = now + Duration::from_secs(i);
+			assert!(dynamic.acceptable_in(now, 0).is_none());
+			assert!(dynamic.acceptable_in(now, 1).is_none());
+			assert!(dynamic.acceptable_in(now, 10).is_none());
+		}
+	}
+}
diff --git a/polkadot/consensus/src/error.rs b/polkadot/consensus/src/error.rs
index e2a4b3a4831..ebc998ab69e 100644
--- a/polkadot/consensus/src/error.rs
+++ b/polkadot/consensus/src/error.rs
@@ -16,45 +16,30 @@
 
 //! Errors that can occur during the consensus process.
 
-use primitives::block::{HeaderHash, Number};
+use polkadot_primitives::AccountId;
+
 error_chain! {
 	links {
 		PolkadotApi(::polkadot_api::Error, ::polkadot_api::ErrorKind);
 		Bft(::bft::Error, ::bft::ErrorKind);
 	}
 
-	foreign_links {
-		Io(::std::io::Error);
-		SharedIo(::futures::future::SharedError<::std::io::Error>);
-	}
-
 	errors {
 		InvalidDutyRosterLength(expected: usize, got: usize) {
 			description("Duty Roster had invalid length"),
 			display("Invalid duty roster length: expected {}, got {}", expected, got),
 		}
-		ProposalNotForPolkadot {
-			description("Proposal provided not a Polkadot block."),
-			display("Proposal provided not a Polkadot block."),
-		}
-		TimestampInFuture {
-			description("Proposal had timestamp too far in the future."),
-			display("Proposal had timestamp too far in the future."),
-		}
-		WrongParentHash(expected: HeaderHash, got: HeaderHash) {
-			description("Proposal had wrong parent hash."),
-			display("Proposal had wrong parent hash. Expected {:?}, got {:?}", expected, got),
+		NotValidator(id: AccountId) {
+			description("Local account ID not a validator at this block."),
+			display("Local account ID ({:?}) not a validator at this block.", id),
 		}
-		WrongNumber(expected: Number, got: Number) {
-			description("Proposal had wrong number."),
-			display("Proposal had wrong number. Expected {:?}, got {:?}", expected, got),
+		PrematureDestruction {
+			description("Proposer destroyed before finishing proposing or evaluating"),
+			display("Proposer destroyed before finishing proposing or evaluating"),
 		}
-		ProposalTooLarge(size: usize) {
-			description("Proposal exceeded the maximum size."),
-			display(
-				"Proposal exceeded the maximum size of {} by {} bytes.",
-				::MAX_TRANSACTIONS_SIZE, ::MAX_TRANSACTIONS_SIZE.saturating_sub(*size)
-			),
+		Timer(e: String) {
+			description("Failed to register or resolve async timer."),
+			display("Timer failed: {}", e),
 		}
 		Executor(e: ::futures::future::ExecuteErrorKind) {
 			description("Unable to dispatch agreement future"),
diff --git a/polkadot/consensus/src/evaluation.rs b/polkadot/consensus/src/evaluation.rs
new file mode 100644
index 00000000000..b5ef81d2446
--- /dev/null
+++ b/polkadot/consensus/src/evaluation.rs
@@ -0,0 +1,135 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Polkadot block evaluation and evaluation errors.
+
+use super::MAX_TRANSACTIONS_SIZE;
+
+use codec::Slicable;
+use polkadot_runtime::Block as PolkadotGenericBlock;
+use polkadot_primitives::Timestamp;
+use polkadot_primitives::parachain::Id as ParaId;
+use primitives::block::{Block as SubstrateBlock, HeaderHash, Number as BlockNumber};
+use transaction_pool::PolkadotBlock;
+
+error_chain! {
+	links {
+		PolkadotApi(::polkadot_api::Error, ::polkadot_api::ErrorKind);
+	}
+
+	errors {
+		ProposalNotForPolkadot {
+			description("Proposal provided not a Polkadot block."),
+			display("Proposal provided not a Polkadot block."),
+		}
+		TimestampInFuture {
+			description("Proposal had timestamp too far in the future."),
+			display("Proposal had timestamp too far in the future."),
+		}
+		TooManyCandidates(expected: usize, got: usize) {
+			description("Proposal included more candidates than is possible."),
+			display("Proposal included {} candidates for {} parachains", got, expected),
+		}
+		ParachainOutOfOrder {
+			description("Proposal included parachains out of order."),
+			display("Proposal included parachains out of order."),
+		}
+		UnknownParachain(id: ParaId) {
+			description("Proposal included unregistered parachain."),
+			display("Proposal included unregistered parachain {:?}", id),
+		}
+		WrongParentHash(expected: HeaderHash, got: HeaderHash) {
+			description("Proposal had wrong parent hash."),
+			display("Proposal had wrong parent hash. Expected {:?}, got {:?}", expected, got),
+		}
+		WrongNumber(expected: BlockNumber, got: BlockNumber) {
+			description("Proposal had wrong number."),
+			display("Proposal had wrong number. Expected {:?}, got {:?}", expected, got),
+		}
+		ProposalTooLarge(size: usize) {
+			description("Proposal exceeded the maximum size."),
+			display(
+				"Proposal exceeded the maximum size of {} by {} bytes.",
+				MAX_TRANSACTIONS_SIZE, MAX_TRANSACTIONS_SIZE.saturating_sub(*size)
+			),
+		}
+	}
+}
+
+/// Attempt to evaluate a substrate block as a polkadot block, returning error
+/// upon any initial validity checks failing.
+pub fn evaluate_initial(
+	proposal: &SubstrateBlock,
+	now: Timestamp,
+	parent_hash: &HeaderHash,
+	parent_number: BlockNumber,
+	active_parachains: &[ParaId],
+) -> Result<PolkadotBlock> {
+	const MAX_TIMESTAMP_DRIFT: Timestamp = 60;
+
+	let encoded = Slicable::encode(proposal);
+	let proposal = PolkadotGenericBlock::decode(&mut &encoded[..])
+		.and_then(|b| PolkadotBlock::from(b).ok())
+		.ok_or_else(|| ErrorKind::ProposalNotForPolkadot)?;
+
+	let transactions_size = proposal.extrinsics.iter().fold(0, |a, tx| {
+		a + Slicable::encode(tx).len()
+	});
+
+	if transactions_size > MAX_TRANSACTIONS_SIZE {
+		bail!(ErrorKind::ProposalTooLarge(transactions_size))
+	}
+
+	if proposal.header.parent_hash != *parent_hash {
+		bail!(ErrorKind::WrongParentHash(*parent_hash, proposal.header.parent_hash));
+	}
+
+	if proposal.header.number != parent_number + 1 {
+		bail!(ErrorKind::WrongNumber(parent_number + 1, proposal.header.number));
+	}
+
+	let block_timestamp = proposal.timestamp();
+
+	// lenient maximum -- small drifts will just be delayed using a timer.
+	if block_timestamp > now + MAX_TIMESTAMP_DRIFT {
+		bail!(ErrorKind::TimestampInFuture)
+	}
+
+	{
+		let n_parachains = active_parachains.len();
+		if proposal.parachain_heads().len() > n_parachains {
+			bail!(ErrorKind::TooManyCandidates(n_parachains, proposal.parachain_heads().len()));
+		}
+
+		let mut last_id = None;
+		let mut iter = active_parachains.iter();
+		for head in proposal.parachain_heads() {
+			// proposed heads must be ascending order by parachain ID without duplicate.
+			if last_id.as_ref().map_or(false, |x| x >= &head.parachain_index) {
+				bail!(ErrorKind::ParachainOutOfOrder);
+			}
+
+			if !iter.any(|x| x == &head.parachain_index) {
+				// must be unknown since active parachains are always sorted.
+				bail!(ErrorKind::UnknownParachain(head.parachain_index))
+			}
+
+			last_id = Some(head.parachain_index);
+		}
+	}
+
+	Ok(proposal)
+}
diff --git a/polkadot/consensus/src/lib.rs b/polkadot/consensus/src/lib.rs
index e004a44df58..f9e3b35a260 100644
--- a/polkadot/consensus/src/lib.rs
+++ b/polkadot/consensus/src/lib.rs
@@ -29,15 +29,16 @@
 //!
 //! Groups themselves may be compromised by malicious authorities.
 
-extern crate futures;
 extern crate ed25519;
 extern crate parking_lot;
 extern crate polkadot_api;
 extern crate polkadot_collator as collator;
 extern crate polkadot_statement_table as table;
+extern crate polkadot_parachain as parachain;
 extern crate polkadot_primitives;
 extern crate polkadot_transaction_pool as transaction_pool;
 extern crate polkadot_runtime;
+
 extern crate substrate_bft as bft;
 extern crate substrate_codec as codec;
 extern crate substrate_primitives as primitives;
@@ -46,46 +47,60 @@ extern crate substrate_network;
 
 extern crate exit_future;
 extern crate tokio_core;
-extern crate substrate_keyring;
 extern crate substrate_client as client;
 
 #[macro_use]
 extern crate error_chain;
+
+#[macro_use]
+extern crate futures;
+
 #[macro_use]
 extern crate log;
 
+#[cfg(test)]
+extern crate substrate_keyring;
+
 use std::collections::{HashMap, HashSet};
 use std::sync::Arc;
+use std::time::{Duration, Instant};
 
 use codec::Slicable;
-use table::{Table, Context as TableContextTrait};
 use table::generic::Statement as GenericStatement;
 use runtime_support::Hashable;
 use polkadot_api::{PolkadotApi, BlockBuilder};
 use polkadot_primitives::{Hash, Timestamp};
-use polkadot_primitives::parachain::{Id as ParaId, DutyRoster, BlockData, Extrinsic, CandidateReceipt};
-use polkadot_runtime::Block as PolkadotGenericBlock;
+use polkadot_primitives::parachain::{Id as ParaId, Chain, DutyRoster, BlockData, Extrinsic, CandidateReceipt};
 use primitives::block::{Block as SubstrateBlock, Header as SubstrateHeader, HeaderHash, Id as BlockId, Number as BlockNumber};
 use primitives::AuthorityId;
-use transaction_pool::{Ready, TransactionPool, PolkadotBlock};
+use transaction_pool::{Ready, TransactionPool};
+use tokio_core::reactor::{Handle, Timeout, Interval};
 
 use futures::prelude::*;
-use futures::future;
-use future::Shared;
+use futures::future::{self, Shared};
 use parking_lot::Mutex;
-use tokio_core::reactor::{Handle, Timeout};
+use collation::CollationFetch;
+use dynamic_inclusion::DynamicInclusion;
 
+pub use self::collation::{Collators, Collation};
 pub use self::error::{ErrorKind, Error};
+pub use self::shared_table::{SharedTable, StatementSource, StatementProducer, ProducedStatements};
 pub use service::Service;
 
+mod collation;
+mod dynamic_inclusion;
+mod evaluation;
 mod error;
 mod service;
+mod shared_table;
 
 // block size limit.
 const MAX_TRANSACTIONS_SIZE: usize = 4 * 1024 * 1024;
 
 /// A handle to a statement table router.
-pub trait TableRouter {
+///
+/// This is expected to be a lightweight, shared type like an `Arc`.
+pub trait TableRouter: Clone {
 	/// Errors when fetching data from the network.
 	type Error;
 	/// Future that resolves when candidate data is fetched.
@@ -93,7 +108,7 @@ pub trait TableRouter {
 	/// Future that resolves when extrinsic candidate data is fetched.
 	type FetchExtrinsic: IntoFuture<Item=Extrinsic,Error=Self::Error>;
 
-	/// Note local candidate data.
+	/// Note local candidate data, making it available on the network to other validators.
 	fn local_candidate_data(&self, hash: Hash, block_data: BlockData, extrinsic: Extrinsic);
 
 	/// Fetch block data for a specific candidate.
@@ -126,46 +141,6 @@ pub struct GroupInfo {
 	pub needed_availability: usize,
 }
 
-struct TableContext {
-	parent_hash: Hash,
-	key: Arc<ed25519::Pair>,
-	groups: HashMap<ParaId, GroupInfo>,
-}
-
-impl table::Context for TableContext {
-	fn is_member_of(&self, authority: &AuthorityId, group: &ParaId) -> bool {
-		self.groups.get(group).map_or(false, |g| g.validity_guarantors.contains(authority))
-	}
-
-	fn is_availability_guarantor_of(&self, authority: &AuthorityId, group: &ParaId) -> bool {
-		self.groups.get(group).map_or(false, |g| g.availability_guarantors.contains(authority))
-	}
-
-	fn requisite_votes(&self, group: &ParaId) -> (usize, usize) {
-		self.groups.get(group).map_or(
-			(usize::max_value(), usize::max_value()),
-			|g| (g.needed_validity, g.needed_availability),
-		)
-	}
-}
-
-impl TableContext {
-	fn local_id(&self) -> AuthorityId {
-		self.key.public().0
-	}
-
-	fn sign_statement(&self, statement: table::Statement) -> table::SignedStatement {
-		let signature = sign_table_statement(&statement, &self.key, &self.parent_hash).into();
-		let local_id = self.key.public().0;
-
-		table::SignedStatement {
-			statement,
-			signature,
-			sender: local_id,
-		}
-	}
-}
-
 /// Sign a table statement against a parent hash.
 /// The actual message signed is the encoded statement concatenated with the
 /// parent hash.
@@ -185,247 +160,7 @@ pub fn sign_table_statement(statement: &table::Statement, key: &ed25519::Pair, p
 	key.sign(&encoded)
 }
 
-// A shared table object.
-struct SharedTableInner {
-	table: Table<TableContext>,
-	proposed_digest: Option<Hash>,
-	checked_validity: HashSet<Hash>,
-	checked_availability: HashSet<Hash>,
-}
-
-impl SharedTableInner {
-	// Import a single statement. Provide a handle to a table router.
-	fn import_statement<R: TableRouter>(
-		&mut self,
-		context: &TableContext,
-		router: &R,
-		statement: table::SignedStatement,
-		received_from: Option<AuthorityId>,
-	) -> StatementProducer<<R::FetchCandidate as IntoFuture>::Future, <R::FetchExtrinsic as IntoFuture>::Future> {
-		let mut producer = StatementProducer {
-			fetch_block_data: None,
-			fetch_extrinsic: None,
-			produced_statements: Default::default(),
-			_key: context.key.clone(),
-		};
-
-		let summary = match self.table.import_statement(context, statement, received_from) {
-			Some(summary) => summary,
-			None => return producer,
-		};
-
-		let local_id = context.local_id();
-		let is_validity_member = context.is_member_of(&local_id, &summary.group_id);
-		let is_availability_member =
-			context.is_availability_guarantor_of(&local_id, &summary.group_id);
-
-		let digest = &summary.candidate;
-
-		// TODO: consider a strategy based on the number of candidate votes as well.
-		// only check validity if this wasn't locally proposed.
-		let checking_validity = is_validity_member
-			&& self.proposed_digest.as_ref().map_or(true, |d| d != digest)
-			&& self.checked_validity.insert(digest.clone());
-
-		let checking_availability = is_availability_member && self.checked_availability.insert(digest.clone());
-
-		if checking_validity || checking_availability {
-			match self.table.get_candidate(&digest) {
-				None => {} // TODO: handle table inconsistency somehow?
-				Some(candidate) => {
-					if checking_validity {
-						producer.fetch_block_data = Some(router.fetch_block_data(candidate).into_future().fuse());
-					}
-
-					if checking_availability {
-						producer.fetch_extrinsic = Some(router.fetch_extrinsic_data(candidate).into_future().fuse());
-					}
-				}
-			}
-		}
-
-		producer
-	}
-}
-
-/// Produced statements about a specific candidate.
-/// Both may be `None`.
-#[derive(Default)]
-pub struct ProducedStatements {
-	/// A statement about the validity of the candidate.
-	pub validity: Option<table::Statement>,
-	/// A statement about the availability of the candidate.
-	pub availability: Option<table::Statement>,
-}
-
-/// Future that produces statements about a specific candidate.
-pub struct StatementProducer<D: Future, E: Future> {
-	fetch_block_data: Option<future::Fuse<D>>,
-	fetch_extrinsic: Option<future::Fuse<E>>,
-	produced_statements: ProducedStatements,
-	_key: Arc<ed25519::Pair>,
-}
-
-impl<D, E, Err> Future for StatementProducer<D, E>
-	where
-		D: Future<Item=BlockData,Error=Err>,
-		E: Future<Item=Extrinsic,Error=Err>,
-{
-	type Item = ProducedStatements;
-	type Error = Err;
-
-	fn poll(&mut self) -> Poll<ProducedStatements, Err> {
-		let mut done = true;
-		if let Some(ref mut fetch_block_data) = self.fetch_block_data {
-			match fetch_block_data.poll()? {
-				Async::Ready(_block_data) => {
-					// TODO [PoC-2] : validate block data here and make statement.
-				},
-				Async::NotReady => {
-					done = false;
-				}
-			}
-		}
-
-		if let Some(ref mut fetch_extrinsic) = self.fetch_extrinsic {
-			match fetch_extrinsic.poll()? {
-				Async::Ready(_extrinsic) => {
-					// TODO [PoC-2]: guarantee availability of data and make statment.
-				}
-				Async::NotReady => {
-					done = false;
-				}
-			}
-		}
-
-		if done {
-			Ok(Async::Ready(::std::mem::replace(&mut self.produced_statements, Default::default())))
-		} else {
-			Ok(Async::NotReady)
-		}
-	}
-}
-
-/// A shared table object.
-pub struct SharedTable {
-	context: Arc<TableContext>,
-	inner: Arc<Mutex<SharedTableInner>>,
-}
-
-impl Clone for SharedTable {
-	fn clone(&self) -> Self {
-		SharedTable {
-			context: self.context.clone(),
-			inner: self.inner.clone(),
-		}
-	}
-}
-
-impl SharedTable {
-	/// Create a new shared table.
-	///
-	/// Provide the key to sign with, and the parent hash of the relay chain
-	/// block being built.
-	pub fn new(groups: HashMap<ParaId, GroupInfo>, key: Arc<ed25519::Pair>, parent_hash: Hash) -> Self {
-		SharedTable {
-			context: Arc::new(TableContext { groups, key, parent_hash }),
-			inner: Arc::new(Mutex::new(SharedTableInner {
-				table: Table::default(),
-				proposed_digest: None,
-				checked_validity: HashSet::new(),
-				checked_availability: HashSet::new(),
-			}))
-		}
-	}
-
-	/// Get group info.
-	pub fn group_info(&self) -> &HashMap<ParaId, GroupInfo> {
-		&self.context.groups
-	}
-
-	/// Import a single statement. Provide a handle to a table router
-	/// for dispatching any other requests which come up.
-	pub fn import_statement<R: TableRouter>(
-		&self,
-		router: &R,
-		statement: table::SignedStatement,
-		received_from: Option<AuthorityId>,
-	) -> StatementProducer<<R::FetchCandidate as IntoFuture>::Future, <R::FetchExtrinsic as IntoFuture>::Future> {
-		self.inner.lock().import_statement(&*self.context, router, statement, received_from)
-	}
-
-	/// Sign and import a local statement.
-	pub fn sign_and_import<R: TableRouter>(
-		&self,
-		router: &R,
-		statement: table::Statement,
-	) -> StatementProducer<<R::FetchCandidate as IntoFuture>::Future, <R::FetchExtrinsic as IntoFuture>::Future> {
-		let proposed_digest = match statement {
-			GenericStatement::Candidate(ref c) => Some(c.hash()),
-			_ => None,
-		};
-
-		let signed_statement = self.context.sign_statement(statement);
-
-		let mut inner = self.inner.lock();
-		if proposed_digest.is_some() {
-			inner.proposed_digest = proposed_digest;
-		}
-
-		inner.import_statement(&*self.context, router, signed_statement, None)
-	}
-
-	/// Import many statements at once.
-	///
-	/// Provide an iterator yielding pairs of (statement, received_from).
-	pub fn import_statements<R, I, U>(&self, router: &R, iterable: I) -> U
-		where
-			R: TableRouter,
-			I: IntoIterator<Item=(table::SignedStatement, Option<AuthorityId>)>,
-			U: ::std::iter::FromIterator<StatementProducer<
-				<R::FetchCandidate as IntoFuture>::Future,
-				<R::FetchExtrinsic as IntoFuture>::Future>
-			>,
-	{
-		let mut inner = self.inner.lock();
-
-		iterable.into_iter().map(move |(statement, received_from)| {
-			inner.import_statement(&*self.context, router, statement, received_from)
-		}).collect()
-	}
-
-	/// Check if a proposal is valid.
-	pub fn proposal_valid(&self, _proposal: &SubstrateBlock) -> bool {
-		false // TODO
-	}
-
-	/// Execute a closure using a specific candidate.
-	///
-	/// Deadlocks if called recursively.
-	pub fn with_candidate<F, U>(&self, digest: &Hash, f: F) -> U
-		where F: FnOnce(Option<&CandidateReceipt>) -> U
-	{
-		let inner = self.inner.lock();
-		f(inner.table.get_candidate(digest))
-	}
-
-	/// Get all witnessed misbehavior.
-	pub fn get_misbehavior(&self) -> HashMap<AuthorityId, table::Misbehavior> {
-		self.inner.lock().table.get_misbehavior().clone()
-	}
-
-	/// Fill a statement batch.
-	pub fn fill_batch<B: table::StatementBatch>(&self, batch: &mut B) {
-		self.inner.lock().table.fill_batch(batch);
-	}
-
-	/// Get the local proposed block's hash.
-	pub fn proposed_hash(&self) -> Option<Hash> {
-		self.inner.lock().proposed_digest.clone()
-	}
-}
-
-fn make_group_info(roster: DutyRoster, authorities: &[AuthorityId]) -> Result<HashMap<ParaId, GroupInfo>, Error> {
+fn make_group_info(roster: DutyRoster, authorities: &[AuthorityId], local_id: AuthorityId) -> Result<(HashMap<ParaId, GroupInfo>, LocalDuty), Error> {
 	if roster.validator_duty.len() != authorities.len() {
 		bail!(ErrorKind::InvalidDutyRosterLength(authorities.len(), roster.validator_duty.len()))
 	}
@@ -434,11 +169,14 @@ fn make_group_info(roster: DutyRoster, authorities: &[AuthorityId]) -> Result<Ha
 		bail!(ErrorKind::InvalidDutyRosterLength(authorities.len(), roster.guarantor_duty.len()))
 	}
 
+	let mut local_validation = None;
 	let mut map = HashMap::new();
 
 	let duty_iter = authorities.iter().zip(&roster.validator_duty).zip(&roster.guarantor_duty);
 	for ((authority, v_duty), a_duty) in duty_iter {
-		use polkadot_primitives::parachain::Chain;
+		if authority == &local_id {
+			local_validation = Some(v_duty.clone());
+		}
 
 		match *v_duty {
 			Chain::Relay => {}, // does nothing for now.
@@ -467,23 +205,45 @@ fn make_group_info(roster: DutyRoster, authorities: &[AuthorityId]) -> Result<Ha
 		live_group.needed_availability = availability_len / 2 + availability_len % 2;
 	}
 
-	Ok(map)
+	match local_validation {
+		Some(local_validation) => {
+			let local_duty = LocalDuty {
+				validation: local_validation,
+			};
+
+			Ok((map, local_duty))
+		}
+		None => bail!(ErrorKind::NotValidator(local_id)),
+	}
+}
+
+fn timer_error(e: &::std::io::Error) -> Error {
+	ErrorKind::Timer(format!("{}", e)).into()
 }
 
 /// Polkadot proposer factory.
-pub struct ProposerFactory<C, N> {
+pub struct ProposerFactory<C, N, P> {
 	/// The client instance.
 	pub client: Arc<C>,
 	/// The transaction pool.
 	pub transaction_pool: Arc<Mutex<TransactionPool>>,
 	/// The backing network handle.
 	pub network: N,
-	/// Handle to the underlying tokio-core.
+	/// Parachain collators.
+	pub collators: P,
+	/// The timer used to schedule proposal intervals.
 	pub handle: Handle,
+	/// The duration after which parachain-empty blocks will be allowed.
+	pub parachain_empty_duration: Duration,
 }
 
-impl<C: PolkadotApi, N: Network> bft::ProposerFactory for ProposerFactory<C, N> {
-	type Proposer = Proposer<C, N::TableRouter>;
+impl<C, N, P> bft::ProposerFactory for ProposerFactory<C, N, P>
+	where
+		C: PolkadotApi,
+		N: Network,
+		P: Collators,
+{
+	type Proposer = Proposer<C, N::TableRouter, P>;
 	type Error = Error;
 
 	fn init(&self, parent_header: &SubstrateHeader, authorities: &[AuthorityId], sign_with: Arc<ed25519::Pair>) -> Result<Self::Proposer, Error> {
@@ -497,135 +257,224 @@ impl<C: PolkadotApi, N: Network> bft::ProposerFactory for ProposerFactory<C, N>
 		let duty_roster = self.client.duty_roster(&checked_id)?;
 		let random_seed = self.client.random_seed(&checked_id)?;
 
-		let group_info = make_group_info(duty_roster, authorities)?;
+		let (group_info, local_duty) = make_group_info(
+			duty_roster,
+			authorities,
+			sign_with.public().0,
+		)?;
+
+		let active_parachains = self.client.active_parachains(&checked_id)?;
+
+		let n_parachains = active_parachains.len();
 		let table = Arc::new(SharedTable::new(group_info, sign_with.clone(), parent_hash));
 		let router = self.network.table_router(table.clone());
+		let dynamic_inclusion = DynamicInclusion::new(
+			n_parachains,
+			Instant::now(),
+			self.parachain_empty_duration.clone(),
+		);
 
-		let timeout = Timeout::new(DELAY_UNTIL, &self.handle)?;
+		let timeout = Timeout::new(DELAY_UNTIL, &self.handle)
+			.map_err(|e| timer_error(&e))?;
 
 		debug!(target: "bft", "Initialising consensus proposer. Refusing to evaluate for {:?} from now.",
 			DELAY_UNTIL);
 
 		// TODO [PoC-2]: kick off collation process.
 		Ok(Proposer {
+			client: self.client.clone(),
+			collators: self.collators.clone(),
+			delay: timeout.shared(),
+			handle: self.handle.clone(),
+			dynamic_inclusion,
+			local_duty,
+			local_key: sign_with,
 			parent_hash,
-			parent_number: parent_header.number,
 			parent_id: checked_id,
+			parent_number: parent_header.number,
 			random_seed,
-			local_key: sign_with,
-			client: self.client.clone(),
+			router,
+			table,
 			transaction_pool: self.transaction_pool.clone(),
-			delay: timeout.shared(),
-			_table: table,
-			_router: router,
 		})
 	}
 }
 
-fn current_timestamp() -> Timestamp {
-	use std::time;
-
-	time::SystemTime::now().duration_since(time::UNIX_EPOCH)
-		.expect("now always later than unix epoch; qed")
-		.as_secs()
+struct LocalDuty {
+	validation: Chain,
 }
 
 /// The Polkadot proposer logic.
-pub struct Proposer<C: PolkadotApi, R> {
+pub struct Proposer<C: PolkadotApi, R, P> {
+	client: Arc<C>,
+	collators: P,
+	delay: Shared<Timeout>,
+	dynamic_inclusion: DynamicInclusion,
+	handle: Handle,
+	local_duty: LocalDuty,
+	local_key: Arc<ed25519::Pair>,
 	parent_hash: HeaderHash,
-	parent_number: BlockNumber,
 	parent_id: C::CheckedBlockId,
+	parent_number: BlockNumber,
 	random_seed: Hash,
-	client: Arc<C>,
-	local_key: Arc<ed25519::Pair>,
+	router: R,
+	table: Arc<SharedTable>,
 	transaction_pool: Arc<Mutex<TransactionPool>>,
-	delay: Shared<Timeout>,
-	_table: Arc<SharedTable>,
-	_router: R,
 }
 
-impl<C: PolkadotApi, R: TableRouter> bft::Proposer for Proposer<C, R> {
+impl<C, R, P> bft::Proposer for Proposer<C, R, P>
+	where
+		C: PolkadotApi,
+		R: TableRouter,
+		P: Collators,
+{
 	type Error = Error;
-	type Create = Result<SubstrateBlock, Error>;
+	type Create = future::Either<
+		CreateProposal<C, R, P>,
+		future::FutureResult<SubstrateBlock, Error>,
+	>;
 	type Evaluate = Box<Future<Item=bool, Error=Error>>;
 
 	fn propose(&self) -> Self::Create {
-		debug!(target: "bft", "proposing block on top of parent ({}, {:?})", self.parent_number, self.parent_hash);
+		const ATTEMPT_PROPOSE_EVERY: Duration = Duration::from_millis(100);
+
+		let initial_included = self.table.includable_count();
+		let enough_candidates = self.dynamic_inclusion.acceptable_in(
+			Instant::now(),
+			initial_included,
+		).unwrap_or_default();
+
+		let timing = {
+			let delay = self.delay.clone();
+			let dynamic_inclusion = self.dynamic_inclusion.clone();
+			let make_timing = move |handle| -> Result<ProposalTiming, ::std::io::Error> {
+				let attempt_propose = Interval::new(ATTEMPT_PROPOSE_EVERY, handle)?;
+				let enough_candidates = Timeout::new(enough_candidates, handle)?;
+				Ok(ProposalTiming {
+					attempt_propose,
+					enough_candidates,
+					dynamic_inclusion,
+					minimum_delay: Some(delay),
+					last_included: initial_included,
+				})
+			};
 
-		// TODO: handle case when current timestamp behind that in state.
-		let mut block_builder = self.client.build_block(
-			&self.parent_id,
-			current_timestamp()
-		)?;
+			match make_timing(&self.handle) {
+				Ok(timing) => timing,
+				Err(e) => {
+					return future::Either::B(future::err(timer_error(&e)));
+				}
+			}
+		};
 
-		let readiness_evaluator = Ready::create(self.parent_id.clone(), &*self.client);
+		future::Either::A(CreateProposal {
+			parent_hash: self.parent_hash.clone(),
+			parent_number: self.parent_number.clone(),
+			parent_id: self.parent_id.clone(),
+			client: self.client.clone(),
+			transaction_pool: self.transaction_pool.clone(),
+			collation: CollationFetch::new(
+				self.local_duty.validation,
+				self.parent_id.clone(),
+				self.parent_hash.clone(),
+				self.collators.clone(),
+				self.client.clone()
+			),
+			table: self.table.clone(),
+			router: self.router.clone(),
+			timing,
+		})
+	}
 
-		{
-			let mut pool = self.transaction_pool.lock();
-			let mut unqueue_invalid = Vec::new();
-			let mut pending_size = 0;
-			pool.cull(None, readiness_evaluator.clone());
-			for pending in pool.pending(readiness_evaluator.clone()) {
-				// skip and cull transactions which are too large.
-				if pending.encoded_size() > MAX_TRANSACTIONS_SIZE {
-					unqueue_invalid.push(pending.hash().clone());
-					continue
-				}
+	fn evaluate(&self, proposal: &SubstrateBlock) -> Self::Evaluate {
+		debug!(target: "bft", "evaluating block on top of parent ({}, {:?})", self.parent_number, self.parent_hash);
 
-				if pending_size + pending.encoded_size() >= MAX_TRANSACTIONS_SIZE { break }
+		let active_parachains = match self.client.active_parachains(&self.parent_id) {
+			Ok(x) => x,
+			Err(e) => return Box::new(future::err(e.into())) as Box<_>,
+		};
 
-				match block_builder.push_extrinsic(pending.as_transaction().clone()) {
-					Ok(()) => {
-						pending_size += pending.encoded_size();
-					}
-					Err(_) => {
-						unqueue_invalid.push(pending.hash().clone());
-					}
-				}
-			}
+		let current_timestamp = current_timestamp();
 
-			for tx_hash in unqueue_invalid {
-				pool.remove(&tx_hash, false);
+		// do initial serialization and structural integrity checks.
+		let maybe_proposal = evaluation::evaluate_initial(
+			proposal,
+			current_timestamp,
+			&self.parent_hash,
+			self.parent_number,
+			&active_parachains,
+		);
+
+		let proposal = match maybe_proposal {
+			Ok(p) => p,
+			Err(e) => {
+				// TODO: these errors are easily re-checked in runtime.
+				debug!(target: "bft", "Invalid proposal: {:?}", e);
+				return Box::new(future::ok(false));
 			}
-		}
+		};
 
-		let polkadot_block = block_builder.bake();
-		info!("Proposing block [number: {}; hash: {}; parent_hash: {}; extrinsics: [{}]]",
-			polkadot_block.header.number,
-			Hash::from(polkadot_block.header.blake2_256()),
-			polkadot_block.header.parent_hash,
-			polkadot_block.extrinsics.iter()
-				.map(|xt| format!("{}", Hash::from(xt.blake2_256())))
-				.collect::<Vec<_>>()
-				.join(", ")
-		);
+		let vote_delays = {
+			// delay casting vote until able (according to minimum block time)
+			let minimum_delay = self.delay.clone()
+				.map_err(|e| timer_error(&*e));
+
+			let included_candidate_hashes = proposal
+				.parachain_heads()
+				.iter()
+				.map(|candidate| candidate.hash());
+
+			// delay casting vote until we have proof that all candidates are
+			// includable.
+			let includability_tracker = self.table.track_includability(included_candidate_hashes)
+				.map_err(|_| ErrorKind::PrematureDestruction.into());
+
+			// the duration at which the given number of parachains is acceptable.
+			let count_delay = self.dynamic_inclusion.acceptable_in(
+				Instant::now(),
+				proposal.parachain_heads().len(),
+			);
+
+			// the duration until the given timestamp is current
+			let proposed_timestamp = proposal.timestamp();
+			let timestamp_delay = if proposed_timestamp > current_timestamp {
+				Some(Duration::from_secs(proposed_timestamp - current_timestamp))
+			} else {
+				None
+			};
 
-		let substrate_block = Slicable::decode(&mut polkadot_block.encode().as_slice())
-			.expect("polkadot blocks defined to serialize to substrate blocks correctly; qed");
+			// construct a future from the maximum of the two durations.
+			let temporary_delay = match ::std::cmp::max(timestamp_delay, count_delay) {
+				Some(duration) => {
+					let maybe_timeout = Timeout::new(duration, &self.handle);
 
-		assert!(evaluate_proposal(&substrate_block, &*self.client, current_timestamp(), &self.parent_hash, self.parent_number, &self.parent_id).is_ok());
+					let f = future::result(maybe_timeout)
+						.and_then(|timeout| timeout)
+						.map_err(|e| timer_error(&e));
 
-		Ok(substrate_block)
-	}
+					future::Either::A(f)
+				}
+				None => future::Either::B(future::ok(())),
+			};
 
-	// TODO: certain kinds of errors here should lead to a misbehavior report.
-	fn evaluate(&self, proposal: &SubstrateBlock) -> Self::Evaluate {
-		debug!(target: "bft", "evaluating block on top of parent ({}, {:?})", self.parent_number, self.parent_hash);
+			minimum_delay.join3(includability_tracker, temporary_delay)
+		};
 
-		let evaluated = match evaluate_proposal(proposal, &*self.client, current_timestamp(), &self.parent_hash, self.parent_number, &self.parent_id) {
-			Ok(x) => Ok(x),
-			Err(e) => match *e.kind() {
-				ErrorKind::PolkadotApi(polkadot_api::ErrorKind::Executor(_)) => Ok(false),
-				ErrorKind::ProposalNotForPolkadot => Ok(false),
-				ErrorKind::TimestampInFuture => Ok(false),
-				ErrorKind::WrongParentHash(_, _) => Ok(false),
-				ErrorKind::ProposalTooLarge(_) => Ok(false),
-				_ => Err(e),
+		// evaluate whether the block is actually valid.
+		// TODO: is it better to delay this until the delays are finished?
+		let evaluated = self.client.evaluate_block(&self.parent_id, proposal.into()).map_err(Into::into);
+		let future = future::result(evaluated).and_then(move |good| {
+			let end_result = future::ok(good);
+			if good {
+				// delay a "good" vote.
+				future::Either::A(vote_delays.and_then(|_| end_result))
+			} else {
+				// don't delay a "bad" evaluation.
+				future::Either::B(end_result)
 			}
-		};
+		});
 
-		// delay casting vote until able.
-		Box::new(self.delay.clone().map_err(Error::from).and_then(move |_| evaluated))
+		Box::new(future) as Box<_>
 	}
 
 	fn round_proposer(&self, round_number: usize, authorities: &[AuthorityId]) -> AuthorityId {
@@ -697,45 +546,186 @@ impl<C: PolkadotApi, R: TableRouter> bft::Proposer for Proposer<C, R> {
 	}
 }
 
-fn evaluate_proposal<C: PolkadotApi>(
-	proposal: &SubstrateBlock,
-	client: &C,
-	now: Timestamp,
-	parent_hash: &HeaderHash,
-	parent_number: BlockNumber,
-	parent_id: &C::CheckedBlockId,
-) -> Result<bool, Error> {
-	const MAX_TIMESTAMP_DRIFT: Timestamp = 4;
+fn current_timestamp() -> Timestamp {
+	use std::time;
 
-	let encoded = Slicable::encode(proposal);
-	let proposal = PolkadotGenericBlock::decode(&mut &encoded[..])
-		.and_then(|b| PolkadotBlock::from(b).ok())
-		.ok_or_else(|| ErrorKind::ProposalNotForPolkadot)?;
+	time::SystemTime::now().duration_since(time::UNIX_EPOCH)
+		.expect("now always later than unix epoch; qed")
+		.as_secs()
+}
 
-	let transactions_size = proposal.extrinsics.iter().fold(0, |a, tx| {
-		a + Slicable::encode(tx).len()
-	});
+struct ProposalTiming {
+	attempt_propose: Interval,
+	dynamic_inclusion: DynamicInclusion,
+	enough_candidates: Timeout,
+	minimum_delay: Option<Shared<Timeout>>,
+	last_included: usize,
+}
 
-	if transactions_size > MAX_TRANSACTIONS_SIZE {
-		bail!(ErrorKind::ProposalTooLarge(transactions_size))
-	}
+impl ProposalTiming {
+	// whether it's time to attempt a proposal.
+	// shouldn't be called outside of the context of a task.
+	fn poll(&mut self, included: usize) -> Poll<(), Error> {
+		// first drain from the interval so when the minimum delay is up
+		// we don't have any notifications built up.
+		//
+		// this interval is just meant to produce periodic task wakeups
+		// that lead to the `dynamic_inclusion` getting updated as necessary.
+		if let Async::Ready(x) = self.attempt_propose.poll()
+			.map_err(|e| timer_error(&e))?
+		{
+			x.expect("timer still alive; intervals never end; qed");
+		}
 
-	if proposal.header.parent_hash != *parent_hash {
-		bail!(ErrorKind::WrongParentHash(*parent_hash, proposal.header.parent_hash));
-	}
+		if let Some(ref mut min) = self.minimum_delay {
+			try_ready!(min.poll().map_err(|e| timer_error(&*e)));
+		}
+
+		self.minimum_delay = None; // after this point, the future must have completed.
 
-	if proposal.header.number != parent_number + 1 {
-		bail!(ErrorKind::WrongNumber(parent_number + 1, proposal.header.number))
+		if included == self.last_included {
+			return self.enough_candidates.poll().map_err(|e| timer_error(&e));
+		}
+
+		// the amount of includable candidates has changed. schedule a wakeup
+		// if it's not sufficient anymore.
+		let now = Instant::now();
+		match self.dynamic_inclusion.acceptable_in(now, included) {
+			Some(duration) => {
+				self.last_included = included;
+				self.enough_candidates.reset(now + duration);
+				self.enough_candidates.poll().map_err(|e| timer_error(&e))
+			}
+			None => {
+				Ok(Async::Ready(()))
+			}
+		}
 	}
+}
 
-	let block_timestamp = proposal.timestamp();
+/// Future which resolves upon the creation of a proposal.
+pub struct CreateProposal<C: PolkadotApi, R, P: Collators>  {
+	parent_hash: HeaderHash,
+	parent_number: BlockNumber,
+	parent_id: C::CheckedBlockId,
+	client: Arc<C>,
+	transaction_pool: Arc<Mutex<TransactionPool>>,
+	collation: CollationFetch<P, C>,
+	router: R,
+	table: Arc<SharedTable>,
+	timing: ProposalTiming,
+}
+
+impl<C, R, P> CreateProposal<C, R, P>
+	where
+		C: PolkadotApi,
+		R: TableRouter,
+		P: Collators,
+{
+	fn propose_with(&self, candidates: Vec<CandidateReceipt>) -> Result<SubstrateBlock, Error> {
+		// TODO: handle case when current timestamp behind that in state.
+		let timestamp = current_timestamp();
+		let mut block_builder = self.client.build_block(
+			&self.parent_id,
+			timestamp,
+			candidates,
+		)?;
+
+		let readiness_evaluator = Ready::create(self.parent_id.clone(), &*self.client);
+
+		{
+			let mut pool = self.transaction_pool.lock();
+			let mut unqueue_invalid = Vec::new();
+			let mut pending_size = 0;
+
+			pool.cull(None, readiness_evaluator.clone());
+			for pending in pool.pending(readiness_evaluator.clone()) {
+				// skip and cull transactions which are too large.
+				if pending.encoded_size() > MAX_TRANSACTIONS_SIZE {
+					unqueue_invalid.push(pending.hash().clone());
+					continue
+				}
+
+				if pending_size + pending.encoded_size() >= MAX_TRANSACTIONS_SIZE { break }
+
+				match block_builder.push_extrinsic(pending.as_transaction().clone()) {
+					Ok(()) => {
+						pending_size += pending.encoded_size();
+					}
+					Err(e) => {
+						trace!(target: "transaction-pool", "Invalid transaction: {}", e);
+						unqueue_invalid.push(pending.hash().clone());
+					}
+				}
+			}
+
+			for tx_hash in unqueue_invalid {
+				pool.remove(&tx_hash, false);
+			}
+		}
+
+		let polkadot_block = block_builder.bake();
+
+		info!("Proposing block [number: {}; hash: {}; parent_hash: {}; extrinsics: [{}]]",
+			polkadot_block.header.number,
+			Hash::from(polkadot_block.header.blake2_256()),
+			polkadot_block.header.parent_hash,
+			polkadot_block.extrinsics.iter()
+				.map(|xt| format!("{}", Hash::from(xt.blake2_256())))
+				.collect::<Vec<_>>()
+				.join(", ")
+		);
+
+		let substrate_block = Slicable::decode(&mut polkadot_block.encode().as_slice())
+			.expect("polkadot blocks defined to serialize to substrate blocks correctly; qed");
+
+		// TODO: full re-evaluation
+		let active_parachains = self.client.active_parachains(&self.parent_id)?;
+		assert!(evaluation::evaluate_initial(
+			&substrate_block,
+			timestamp,
+			&self.parent_hash,
+			self.parent_number,
+			&active_parachains,
+		).is_ok());
 
-	// TODO: just defer using `tokio_timer` to delay prepare vote.
-	if block_timestamp > now + MAX_TIMESTAMP_DRIFT {
-		bail!(ErrorKind::TimestampInFuture)
+		Ok(substrate_block)
 	}
+}
+
+impl<C, R, P> Future for CreateProposal<C, R, P>
+	where
+		C: PolkadotApi,
+		R: TableRouter,
+		P: Collators,
+{
+	type Item = SubstrateBlock;
+	type Error = Error;
+
+	fn poll(&mut self) -> Poll<SubstrateBlock, Error> {
+		// 1. poll local collation future.
+		match self.collation.poll() {
+			Ok(Async::Ready((collation, extrinsic))) => {
+				let hash = collation.receipt.hash();
+				self.router.local_candidate_data(hash, collation.block_data, extrinsic);
 
-	// execute the block.
-	client.evaluate_block(parent_id, proposal.into())?;
-	Ok(true)
+				// TODO: if we are an availability guarantor also, we should produce an availability statement.
+				self.table.sign_and_import(&self.router, GenericStatement::Candidate(collation.receipt));
+			}
+			Ok(Async::NotReady) => {},
+			Err(_) => {}, // TODO: handle this failure to collate.
+		}
+
+		// 2. try to propose if we have enough includable candidates and other
+		// delays have concluded.
+		let included = self.table.includable_count();
+		try_ready!(self.timing.poll(included));
+
+		// 3. propose
+		let proposed_candidates = self.table.with_proposal(|proposed_set| {
+			proposed_set.into_iter().cloned().collect()
+		});
+
+		self.propose_with(proposed_candidates).map(Async::Ready)
+	}
 }
diff --git a/polkadot/consensus/src/service.rs b/polkadot/consensus/src/service.rs
index 97384040e9c..cae27b16fd9 100644
--- a/polkadot/consensus/src/service.rs
+++ b/polkadot/consensus/src/service.rs
@@ -22,19 +22,23 @@
 use std::thread;
 use std::time::{Duration, Instant};
 use std::sync::Arc;
-use futures::{future, Future, Stream, Sink, Async, Canceled, Poll};
-use parking_lot::Mutex;
-use substrate_network as net;
-use tokio_core::reactor;
+
+use bft::{self, BftService};
 use client::{BlockchainEvents, ChainHead};
-use runtime_support::Hashable;
+use ed25519;
+use futures::prelude::*;
+use futures::{future, Canceled};
+use parking_lot::Mutex;
+use polkadot_api::PolkadotApi;
+use polkadot_primitives::AccountId;
+use polkadot_primitives::parachain::{Id as ParaId, BlockData, Extrinsic, CandidateReceipt};
 use primitives::{Hash, AuthorityId};
 use primitives::block::{Id as BlockId, HeaderHash, Header};
-use polkadot_primitives::parachain::{BlockData, Extrinsic, CandidateReceipt};
-use polkadot_api::PolkadotApi;
-use bft::{self, BftService};
+use runtime_support::Hashable;
+use substrate_network as net;
+use tokio_core::reactor;
 use transaction_pool::TransactionPool;
-use ed25519;
+
 use super::{TableRouter, SharedTable, ProposerFactory};
 use error;
 
@@ -174,6 +178,15 @@ impl<E> Sink for BftSink<E> {
 
 struct Network(Arc<net::ConsensusService>);
 
+impl super::Network for Network {
+	type TableRouter = Router;
+	fn table_router(&self, _table: Arc<SharedTable>) -> Self::TableRouter {
+		Router {
+			network: self.0.clone()
+		}
+	}
+}
+
 fn start_bft<F, C>(
 	header: &Header,
 	handle: reactor::Handle,
@@ -224,6 +237,7 @@ impl Service {
 		client: Arc<C>,
 		network: Arc<net::ConsensusService>,
 		transaction_pool: Arc<Mutex<TransactionPool>>,
+		parachain_empty_duration: Duration,
 		key: ed25519::Pair,
 	) -> Service
 		where
@@ -233,10 +247,13 @@ impl Service {
 		let thread = thread::spawn(move || {
 			let mut core = reactor::Core::new().expect("tokio::Core could not be created");
 			let key = Arc::new(key);
+
 			let factory = ProposerFactory {
 				client: client.clone(),
 				transaction_pool: transaction_pool.clone(),
 				network: Network(network.clone()),
+				collators: NoCollators,
+				parachain_empty_duration,
 				handle: core.handle(),
 			};
 			let bft_service = Arc::new(BftService::new(client.clone(), key, factory));
@@ -312,17 +329,25 @@ impl Drop for Service {
 	}
 }
 
-impl super::Network for Network {
-	type TableRouter = Router;
-	fn table_router(&self, _table: Arc<SharedTable>) -> Self::TableRouter {
-		Router {
-			network: self.0.clone()
-		}
+// Collators implementation which never collates anything.
+// TODO: do a real implementation.
+#[derive(Clone, Copy)]
+struct NoCollators;
+
+impl ::collation::Collators for NoCollators {
+	type Error = ();
+	type Collation = future::Empty<::collation::Collation, ()>;
+
+	fn collate(&self, _parachain: ParaId, _relay_parent: Hash) -> Self::Collation {
+		future::empty()
 	}
+
+	fn note_bad_collator(&self, _collator: AccountId) { }
 }
 
 type FetchCandidateAdapter = future::Map<net::FetchFuture, fn(Vec<u8>) -> BlockData>;
 
+#[derive(Clone)]
 struct Router {
 	network: Arc<net::ConsensusService>,
 }
diff --git a/polkadot/consensus/src/shared_table/includable.rs b/polkadot/consensus/src/shared_table/includable.rs
new file mode 100644
index 00000000000..873c3af94c4
--- /dev/null
+++ b/polkadot/consensus/src/shared_table/includable.rs
@@ -0,0 +1,137 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Implements a future which resolves when all of the candidates referenced are includable.
+
+use std::collections::HashMap;
+
+use futures::prelude::*;
+use futures::sync::oneshot;
+
+use polkadot_primitives::Hash;
+
+/// Track includability of a set of candidates,
+pub(super) fn track<I: IntoIterator<Item=(Hash, bool)>>(candidates: I) -> (IncludabilitySender, Includable) {
+	let (tx, rx) = oneshot::channel();
+	let tracking: HashMap<_, _> = candidates.into_iter().collect();
+	let includable_count = tracking.values().filter(|x| **x).count();
+
+	let mut sender = IncludabilitySender {
+		tracking,
+		includable_count,
+		sender: Some(tx),
+	};
+
+	sender.try_complete();
+
+	(
+		sender,
+		Includable(rx),
+	)
+}
+
+/// The sending end of the includability sender.
+pub(super) struct IncludabilitySender {
+	tracking: HashMap<Hash, bool>,
+	includable_count: usize,
+	sender: Option<oneshot::Sender<()>>,
+}
+
+impl IncludabilitySender {
+	/// update the inner candidate. wakes up the task as necessary.
+	/// returns `Err(Canceled)` if the other end has hung up.
+	///
+	/// returns `true` when this is completed and should be destroyed.
+	pub fn update_candidate(&mut self, candidate: Hash, includable: bool) -> bool {
+		use std::collections::hash_map::Entry;
+
+		match self.tracking.entry(candidate) {
+			Entry::Vacant(_) => {}
+			Entry::Occupied(mut entry) => {
+				let old = entry.insert(includable);
+				if !old && includable {
+					self.includable_count += 1;
+				} else if old && !includable {
+					self.includable_count -= 1;
+				}
+			}
+		}
+
+		self.try_complete()
+	}
+
+	/// whether the sender is completed.
+	pub fn is_complete(&self) -> bool {
+		self.sender.is_none()
+	}
+
+	fn try_complete(&mut self) -> bool {
+		if self.includable_count == self.tracking.len() {
+			if let Some(sender) = self.sender.take() {
+				let _ = sender.send(());
+			}
+
+			true
+		} else {
+			false
+		}
+	}
+}
+
+/// Future that resolves when all the candidates within are includable.
+pub struct Includable(oneshot::Receiver<()>);
+
+impl Future for Includable {
+	type Item = ();
+	type Error = oneshot::Canceled;
+
+	fn poll(&mut self) -> Poll<(), oneshot::Canceled> {
+		self.0.poll()
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+
+	#[test]
+	fn it_works() {
+		let hash1 = [1; 32].into();
+		let hash2 = [2; 32].into();
+		let hash3 = [3; 32].into();
+
+		let (mut sender, recv) = track([
+			(hash1, true),
+			(hash2, true),
+			(hash2, false), // overwrite should favor latter.
+			(hash3, true),
+		].iter().cloned());
+
+		assert!(!sender.is_complete());
+
+		// true -> false transition is possible and should be handled.
+		sender.update_candidate(hash1, false);
+		assert!(!sender.is_complete());
+
+		sender.update_candidate(hash2, true);
+		assert!(!sender.is_complete());
+
+		sender.update_candidate(hash1, true);
+		assert!(sender.is_complete());
+
+		recv.wait().unwrap();
+	}
+}
diff --git a/polkadot/consensus/src/shared_table/mod.rs b/polkadot/consensus/src/shared_table/mod.rs
new file mode 100644
index 00000000000..23e936eefea
--- /dev/null
+++ b/polkadot/consensus/src/shared_table/mod.rs
@@ -0,0 +1,566 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Parachain statement table meant to to shared with a message router
+//! and a consensus proposer.
+
+use std::collections::{HashMap, HashSet};
+use std::sync::Arc;
+
+use table::{self, Table, Context as TableContextTrait};
+use table::generic::Statement as GenericStatement;
+use collation::Collation;
+use polkadot_primitives::Hash;
+use polkadot_primitives::parachain::{Id as ParaId, BlockData, Extrinsic, CandidateReceipt};
+use primitives::AuthorityId;
+
+use parking_lot::Mutex;
+use futures::{future, prelude::*};
+
+use super::{GroupInfo, TableRouter};
+use self::includable::IncludabilitySender;
+
+mod includable;
+
+pub use self::includable::Includable;
+
+struct TableContext {
+	parent_hash: Hash,
+	key: Arc<::ed25519::Pair>,
+	groups: HashMap<ParaId, GroupInfo>,
+}
+
+impl table::Context for TableContext {
+	fn is_member_of(&self, authority: &AuthorityId, group: &ParaId) -> bool {
+		self.groups.get(group).map_or(false, |g| g.validity_guarantors.contains(authority))
+	}
+
+	fn is_availability_guarantor_of(&self, authority: &AuthorityId, group: &ParaId) -> bool {
+		self.groups.get(group).map_or(false, |g| g.availability_guarantors.contains(authority))
+	}
+
+	fn requisite_votes(&self, group: &ParaId) -> (usize, usize) {
+		self.groups.get(group).map_or(
+			(usize::max_value(), usize::max_value()),
+			|g| (g.needed_validity, g.needed_availability),
+		)
+	}
+}
+
+impl TableContext {
+	fn local_id(&self) -> AuthorityId {
+		self.key.public().0
+	}
+
+	fn sign_statement(&self, statement: table::Statement) -> table::SignedStatement {
+		let signature = ::sign_table_statement(&statement, &self.key, &self.parent_hash).into();
+		let local_id = self.key.public().0;
+
+		table::SignedStatement {
+			statement,
+			signature,
+			sender: local_id,
+		}
+	}
+}
+
+/// Source of statements
+pub enum StatementSource {
+	/// Locally produced statement.
+	Local,
+	/// Received statement from remote source, with optional sender.
+	Remote(Option<AuthorityId>),
+}
+
+// A shared table object.
+struct SharedTableInner {
+	table: Table<TableContext>,
+	proposed_digest: Option<Hash>,
+	checked_validity: HashSet<Hash>,
+	checked_availability: HashSet<Hash>,
+	trackers: Vec<IncludabilitySender>,
+}
+
+impl SharedTableInner {
+	// Import a single statement. Provide a handle to a table router and a function
+	// used to determine if a referenced candidate is valid.
+	fn import_statement<R: TableRouter, C: FnMut(Collation) -> bool>(
+		&mut self,
+		context: &TableContext,
+		router: &R,
+		statement: table::SignedStatement,
+		statement_source: StatementSource,
+		check_candidate: C,
+	) -> StatementProducer<
+		<R::FetchCandidate as IntoFuture>::Future,
+		<R::FetchExtrinsic as IntoFuture>::Future,
+		C,
+	> {
+		// this blank producer does nothing until we attach some futures
+		// and set a candidate digest.
+		let received_from = match statement_source {
+			StatementSource::Local => return Default::default(),
+			StatementSource::Remote(from) => from,
+		};
+
+		let summary = match self.table.import_statement(context, statement, received_from) {
+			Some(summary) => summary,
+			None => return Default::default(),
+		};
+
+		self.update_trackers(&summary.candidate, context);
+
+		let local_id = context.local_id();
+
+		let is_validity_member = context.is_member_of(&local_id, &summary.group_id);
+		let is_availability_member =
+			context.is_availability_guarantor_of(&local_id, &summary.group_id);
+
+		let digest = &summary.candidate;
+
+		// TODO: consider a strategy based on the number of candidate votes as well.
+		// only check validity if this wasn't locally proposed.
+		let checking_validity = is_validity_member
+			&& self.proposed_digest.as_ref().map_or(true, |d| d != digest)
+			&& self.checked_validity.insert(digest.clone());
+
+		let checking_availability = is_availability_member
+			&& self.checked_availability.insert(digest.clone());
+
+		let work = if checking_validity || checking_availability {
+			match self.table.get_candidate(&digest) {
+				None => None, // TODO: handle table inconsistency somehow?
+				Some(candidate) => {
+					let fetch_block_data =
+						router.fetch_block_data(candidate).into_future().fuse();
+
+					let fetch_extrinsic = if checking_availability {
+						Some(
+							router.fetch_extrinsic_data(candidate).into_future().fuse()
+						)
+					} else {
+						None
+					};
+
+					Some(Work {
+						candidate_receipt: candidate.clone(),
+						fetch_block_data,
+						fetch_extrinsic,
+						evaluate: checking_validity,
+						check_candidate,
+					})
+				}
+			}
+		} else {
+			None
+		};
+
+		StatementProducer {
+			produced_statements: Default::default(),
+			work,
+		}
+	}
+
+	fn update_trackers(&mut self, candidate: &Hash, context: &TableContext) {
+		let includable = self.table.candidate_includable(candidate, context);
+		for i in (0..self.trackers.len()).rev() {
+			if self.trackers[i].update_candidate(candidate.clone(), includable) {
+				self.trackers.swap_remove(i);
+			}
+		}
+	}
+}
+
+/// Produced statements about a specific candidate.
+/// Both may be `None`.
+#[derive(Default)]
+pub struct ProducedStatements {
+	/// A statement about the validity of the candidate.
+	pub validity: Option<table::Statement>,
+	/// A statement about availability of data. If this is `Some`,
+	/// then `block_data` and `extrinsic` should be `Some` as well.
+	pub availability: Option<table::Statement>,
+	/// Block data to ensure availability of.
+	pub block_data: Option<BlockData>,
+	/// Extrinsic data to ensure availability of.
+	pub extrinsic: Option<Extrinsic>,
+}
+
+/// Future that produces statements about a specific candidate.
+pub struct StatementProducer<D: Future, E: Future, C> {
+	produced_statements: ProducedStatements,
+	work: Option<Work<D, E, C>>,
+}
+
+struct Work<D: Future, E: Future, C> {
+	candidate_receipt: CandidateReceipt,
+	fetch_block_data: future::Fuse<D>,
+	fetch_extrinsic: Option<future::Fuse<E>>,
+	evaluate: bool,
+	check_candidate: C
+}
+
+impl<D: Future, E: Future, C> Default for StatementProducer<D, E, C> {
+	fn default() -> Self {
+		StatementProducer {
+			produced_statements: Default::default(),
+			work: None,
+		}
+	}
+}
+
+impl<D, E, C, Err> Future for StatementProducer<D, E, C>
+	where
+		D: Future<Item=BlockData,Error=Err>,
+		E: Future<Item=Extrinsic,Error=Err>,
+		C: FnMut(Collation) -> bool,
+{
+	type Item = ProducedStatements;
+	type Error = Err;
+
+	fn poll(&mut self) -> Poll<ProducedStatements, Err> {
+		let work = match self.work {
+			Some(ref mut work) => work,
+			None => return Ok(Async::Ready(::std::mem::replace(&mut self.produced_statements, Default::default()))),
+		};
+
+		if let Async::Ready(block_data) = work.fetch_block_data.poll()? {
+			self.produced_statements.block_data = Some(block_data.clone());
+			if work.evaluate {
+				let is_good = (work.check_candidate)(Collation {
+					block_data,
+					receipt: work.candidate_receipt.clone(),
+				});
+
+				let hash = work.candidate_receipt.hash();
+				self.produced_statements.validity = Some(if is_good {
+					GenericStatement::Valid(hash)
+				} else {
+					GenericStatement::Invalid(hash)
+				});
+			}
+		}
+
+		if let Some(ref mut fetch_extrinsic) = work.fetch_extrinsic {
+			if let Async::Ready(extrinsic) = fetch_extrinsic.poll()? {
+				self.produced_statements.extrinsic = Some(extrinsic);
+			}
+		}
+
+		let done = self.produced_statements.block_data.is_some() && {
+			if work.evaluate {
+				true
+			} else if self.produced_statements.extrinsic.is_some() {
+				self.produced_statements.availability =
+					Some(GenericStatement::Available(work.candidate_receipt.hash()));
+
+				true
+			} else {
+				false
+			}
+		};
+
+		if done {
+			Ok(Async::Ready(::std::mem::replace(&mut self.produced_statements, Default::default())))
+		} else {
+			Ok(Async::NotReady)
+		}
+	}
+}
+
+/// A shared table object.
+pub struct SharedTable {
+	context: Arc<TableContext>,
+	inner: Arc<Mutex<SharedTableInner>>,
+}
+
+impl Clone for SharedTable {
+	fn clone(&self) -> Self {
+		SharedTable {
+			context: self.context.clone(),
+			inner: self.inner.clone(),
+		}
+	}
+}
+
+impl SharedTable {
+	/// Create a new shared table.
+	///
+	/// Provide the key to sign with, and the parent hash of the relay chain
+	/// block being built.
+	pub fn new(groups: HashMap<ParaId, GroupInfo>, key: Arc<::ed25519::Pair>, parent_hash: Hash) -> Self {
+		SharedTable {
+			context: Arc::new(TableContext { groups, key, parent_hash }),
+			inner: Arc::new(Mutex::new(SharedTableInner {
+				table: Table::default(),
+				proposed_digest: None,
+				checked_validity: HashSet::new(),
+				checked_availability: HashSet::new(),
+				trackers: Vec::new(),
+			}))
+		}
+	}
+
+	/// Get group info.
+	pub fn group_info(&self) -> &HashMap<ParaId, GroupInfo> {
+		&self.context.groups
+	}
+
+	/// Import a single statement. Provide a handle to a table router
+	/// for dispatching any other requests which come up.
+	pub fn import_statement<R: TableRouter, C: FnMut(Collation) -> bool>(
+		&self,
+		router: &R,
+		statement: table::SignedStatement,
+		received_from: StatementSource,
+		check_candidate: C,
+	) -> StatementProducer<<R::FetchCandidate as IntoFuture>::Future, <R::FetchExtrinsic as IntoFuture>::Future, C> {
+		self.inner.lock().import_statement(&*self.context, router, statement, received_from, check_candidate)
+	}
+
+	/// Sign and import a local statement.
+	pub fn sign_and_import<R: TableRouter>(
+		&self,
+		router: &R,
+		statement: table::Statement,
+	) {
+		let proposed_digest = match statement {
+			GenericStatement::Candidate(ref c) => Some(c.hash()),
+			_ => None,
+		};
+
+		let signed_statement = self.context.sign_statement(statement);
+
+		let mut inner = self.inner.lock();
+		if proposed_digest.is_some() {
+			inner.proposed_digest = proposed_digest;
+		}
+
+		let producer = inner.import_statement(
+			&*self.context,
+			router,
+			signed_statement,
+			StatementSource::Local,
+			|_| true,
+		);
+
+		assert!(producer.work.is_none(), "local statement import never leads to additional work; qed");
+	}
+
+	/// Import many statements at once.
+	///
+	/// Provide an iterator yielding pairs of (statement, statement_source).
+	pub fn import_statements<R, I, C, U>(&self, router: &R, iterable: I) -> U
+		where
+			R: TableRouter,
+			I: IntoIterator<Item=(table::SignedStatement, StatementSource, C)>,
+			C: FnMut(Collation) -> bool,
+			U: ::std::iter::FromIterator<StatementProducer<
+				<R::FetchCandidate as IntoFuture>::Future,
+				<R::FetchExtrinsic as IntoFuture>::Future,
+				C,
+			>>,
+	{
+		let mut inner = self.inner.lock();
+
+		iterable.into_iter().map(move |(statement, statement_source, check_candidate)| {
+			inner.import_statement(&*self.context, router, statement, statement_source, check_candidate)
+		}).collect()
+	}
+
+	/// Execute a closure using a specific candidate.
+	///
+	/// Deadlocks if called recursively.
+	pub fn with_candidate<F, U>(&self, digest: &Hash, f: F) -> U
+		where F: FnOnce(Option<&CandidateReceipt>) -> U
+	{
+		let inner = self.inner.lock();
+		f(inner.table.get_candidate(digest))
+	}
+
+	/// Execute a closure using the current proposed set.
+	///
+	/// Deadlocks if called recursively.
+	pub fn with_proposal<F, U>(&self, f: F) -> U
+		where F: FnOnce(Vec<&CandidateReceipt>) -> U
+	{
+		let inner = self.inner.lock();
+		f(inner.table.proposed_candidates(&*self.context))
+	}
+
+	/// Get the number of parachains which have available candidates.
+	pub fn includable_count(&self) -> usize {
+		self.inner.lock().table.includable_count()
+	}
+
+	/// Get all witnessed misbehavior.
+	pub fn get_misbehavior(&self) -> HashMap<AuthorityId, table::Misbehavior> {
+		self.inner.lock().table.get_misbehavior().clone()
+	}
+
+	/// Fill a statement batch.
+	pub fn fill_batch<B: table::StatementBatch>(&self, batch: &mut B) {
+		self.inner.lock().table.fill_batch(batch);
+	}
+
+	/// Track includability  of a given set of candidate hashes.
+	pub fn track_includability<I>(&self, iterable: I) -> Includable
+		where I: IntoIterator<Item=Hash>
+	{
+		let mut inner = self.inner.lock();
+
+		let (tx, rx) = includable::track(iterable.into_iter().map(|x| {
+			let includable = inner.table.candidate_includable(&x, &*self.context);
+			(x, includable)
+		}));
+
+		if !tx.is_complete() {
+			inner.trackers.push(tx);
+		}
+
+		rx
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+	use substrate_keyring::Keyring;
+
+	#[derive(Clone)]
+	struct DummyRouter;
+	impl TableRouter for DummyRouter {
+		type Error = ();
+		type FetchCandidate = ::futures::future::Empty<BlockData,()>;
+		type FetchExtrinsic = ::futures::future::Empty<Extrinsic,()>;
+
+		/// Note local candidate data, making it available on the network to other validators.
+		fn local_candidate_data(&self, _hash: Hash, _block_data: BlockData, _extrinsic: Extrinsic) {
+
+		}
+
+		/// Fetch block data for a specific candidate.
+		fn fetch_block_data(&self, _candidate: &CandidateReceipt) -> Self::FetchCandidate {
+			::futures::future::empty()
+		}
+
+		/// Fetch extrinsic data for a specific candidate.
+		fn fetch_extrinsic_data(&self, _candidate: &CandidateReceipt) -> Self::FetchExtrinsic {
+			::futures::future::empty()
+		}
+	}
+
+	#[test]
+	fn statement_triggers_fetch_and_evaluate() {
+		let mut groups = HashMap::new();
+
+		let para_id = ParaId::from(1);
+		let local_id = Keyring::Alice.to_raw_public();
+		let local_key = Arc::new(Keyring::Alice.pair());
+
+		let validity_other = Keyring::Bob.to_raw_public();
+		let validity_other_key = Keyring::Bob.pair();
+		let parent_hash = Default::default();
+
+		groups.insert(para_id, GroupInfo {
+			validity_guarantors: [local_id, validity_other].iter().cloned().collect(),
+			availability_guarantors: Default::default(),
+			needed_validity: 2,
+			needed_availability: 0,
+		});
+
+		let shared_table = SharedTable::new(groups, local_key.clone(), parent_hash);
+
+		let candidate = CandidateReceipt {
+			parachain_index: para_id,
+			collator: [1; 32],
+			head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]),
+			balance_uploads: Vec::new(),
+			egress_queue_roots: Vec::new(),
+			fees: 1_000_000,
+		};
+
+		let candidate_statement = GenericStatement::Candidate(candidate);
+
+		let signature = ::sign_table_statement(&candidate_statement, &validity_other_key, &parent_hash);
+		let signed_statement = ::table::generic::SignedStatement {
+			statement: candidate_statement,
+			signature: signature.into(),
+			sender: validity_other,
+		};
+
+		let producer = shared_table.import_statement(
+			&DummyRouter,
+			signed_statement,
+			StatementSource::Remote(None),
+			|_| true,
+		);
+
+		assert!(producer.work.is_some(), "candidate and local validity group are same");
+		assert!(producer.work.as_ref().unwrap().evaluate, "should evaluate validity");
+	}
+
+	#[test]
+	fn statement_triggers_fetch_and_availability() {
+		let mut groups = HashMap::new();
+
+		let para_id = ParaId::from(1);
+		let local_id = Keyring::Alice.to_raw_public();
+		let local_key = Arc::new(Keyring::Alice.pair());
+
+		let validity_other = Keyring::Bob.to_raw_public();
+		let validity_other_key = Keyring::Bob.pair();
+		let parent_hash = Default::default();
+
+		groups.insert(para_id, GroupInfo {
+			validity_guarantors: [validity_other].iter().cloned().collect(),
+			availability_guarantors: [local_id].iter().cloned().collect(),
+			needed_validity: 1,
+			needed_availability: 1,
+		});
+
+		let shared_table = SharedTable::new(groups, local_key.clone(), parent_hash);
+
+		let candidate = CandidateReceipt {
+			parachain_index: para_id,
+			collator: [1; 32],
+			head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]),
+			balance_uploads: Vec::new(),
+			egress_queue_roots: Vec::new(),
+			fees: 1_000_000,
+		};
+
+		let candidate_statement = GenericStatement::Candidate(candidate);
+
+		let signature = ::sign_table_statement(&candidate_statement, &validity_other_key, &parent_hash);
+		let signed_statement = ::table::generic::SignedStatement {
+			statement: candidate_statement,
+			signature: signature.into(),
+			sender: validity_other,
+		};
+
+		let producer = shared_table.import_statement(
+			&DummyRouter,
+			signed_statement,
+			StatementSource::Remote(None),
+			|_| true,
+		);
+
+		assert!(producer.work.is_some(), "candidate and local availability group are same");
+		assert!(producer.work.as_ref().unwrap().fetch_extrinsic.is_some(), "should fetch extrinsic when guaranteeing availability");
+		assert!(!producer.work.as_ref().unwrap().evaluate, "should not evaluate validity");
+	}
+}
diff --git a/polkadot/parachain/Cargo.toml b/polkadot/parachain/Cargo.toml
new file mode 100644
index 00000000000..47cde571e15
--- /dev/null
+++ b/polkadot/parachain/Cargo.toml
@@ -0,0 +1,17 @@
+[package]
+name = "polkadot-parachain"
+version = "0.1.0"
+authors = ["Parity Technologies <admin@parity.io>"]
+description = "Types and utilities for creating and working with parachains"
+
+[dependencies]
+substrate-codec = { path = "../../substrate/codec", default-features = false }
+wasmi = { version = "0.1", optional = true }
+error-chain = { version = "0.11", optional = true }
+
+[dev-dependencies]
+tiny-keccak = "1.4"
+
+[features]
+default = ["std"]
+std = ["substrate-codec/std", "wasmi", "error-chain"]
diff --git a/polkadot/parachain/src/lib.rs b/polkadot/parachain/src/lib.rs
new file mode 100644
index 00000000000..2f3c064f33f
--- /dev/null
+++ b/polkadot/parachain/src/lib.rs
@@ -0,0 +1,146 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Defines primitive types for creating or validating a parachain.
+//!
+//! When compiled with standard library support, this crate exports a `wasm`
+//! module that can be used to validate parachain WASM.
+//!
+//! ## Parachain WASM
+//!
+//! Polkadot parachain WASM is in the form of a module which imports a memory
+//! instance and exports a function `validate`.
+//!
+//! `validate` accepts as input two `i32` values, representing a pointer/length pair
+//! respectively, that encodes `ValidationParams`.
+//!
+//! `validate` returns an `i32` which is a pointer to a little-endian 32-bit integer denoting a length.
+//! Subtracting the length from the initial pointer will give a new pointer to the actual return data,
+//!
+//! ASCII-diagram demonstrating the return data format:
+//!
+//! ```ignore
+//! [return data][len (LE-u32)]
+//!              ^~~returned pointer
+//! ```
+//!
+//! The `load_params` and `write_result` functions provide utilities for setting up
+//! a parachain WASM module in Rust.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+#![cfg_attr(not(feature = "std"), feature(alloc))]
+
+/// Re-export of substrate-codec.
+pub extern crate substrate_codec as codec;
+
+#[cfg(not(feature = "std"))]
+extern crate alloc;
+
+#[cfg(feature = "std")]
+extern crate core;
+
+#[cfg(feature = "std")]
+extern crate wasmi;
+
+#[cfg(feature = "std")]
+#[macro_use]
+extern crate error_chain;
+
+#[cfg(not(feature = "std"))]
+use alloc::vec::Vec;
+use codec::Slicable;
+
+#[cfg(feature = "std")]
+pub mod wasm;
+
+/// Validation parameters for evaluating the parachain validity function.
+// TODO: consolidated ingress and balance downloads
+#[derive(PartialEq, Eq)]
+#[cfg_attr(feature = "std", derive(Debug))]
+pub struct ValidationParams {
+	/// The collation body.
+	pub block_data: Vec<u8>,
+	/// Previous head-data.
+	pub parent_head: Vec<u8>,
+}
+
+impl Slicable for ValidationParams {
+	fn encode(&self) -> Vec<u8> {
+		let mut v = Vec::new();
+
+		self.block_data.using_encoded(|s| v.extend(s));
+		self.parent_head.using_encoded(|s| v.extend(s));
+
+		v
+	}
+
+	fn decode<I: codec::Input>(input: &mut I) -> Option<Self> {
+		Some(ValidationParams {
+			block_data: Slicable::decode(input)?,
+			parent_head: Slicable::decode(input)?,
+		})
+	}
+}
+
+/// The result of parachain validation.
+// TODO: egress and balance uploads
+#[derive(PartialEq, Eq)]
+#[cfg_attr(feature = "std", derive(Debug))]
+pub struct ValidationResult {
+	/// New head data that should be included in the relay chain state.
+	pub head_data: Vec<u8>
+}
+
+impl Slicable for ValidationResult {
+	fn encode(&self) -> Vec<u8> {
+		self.head_data.encode()
+	}
+
+	fn decode<I: codec::Input>(input: &mut I) -> Option<Self> {
+		Some(ValidationResult {
+			head_data: Slicable::decode(input)?,
+		})
+	}
+}
+
+/// Load the validation params from memory when implementing a Rust parachain.
+///
+/// Offset and length must have been provided by the validation
+/// function's entry point.
+pub unsafe fn load_params(offset: usize, len: usize) -> ValidationParams {
+	let mut slice = ::core::slice::from_raw_parts(offset as *const u8, len);
+
+	ValidationParams::decode(&mut slice).expect("Invalid input data")
+}
+
+/// Allocate the validation result in memory, getting the return-pointer back.
+///
+/// As described in the crate docs, this is a pointer to the appended length
+/// of the vector.
+pub fn write_result(result: ValidationResult) -> usize {
+	let mut encoded = result.encode();
+	let len = encoded.len();
+
+	assert!(len <= u32::max_value() as usize, "Len too large for parachain-WASM abi");
+	(len as u32).using_encoded(|s| encoded.extend(s));
+
+	// do not alter `encoded` beyond this point. may reallocate.
+	let end_ptr = &encoded[len] as *const u8 as usize;
+
+	// leak so it doesn't get zeroed.
+	::core::mem::forget(encoded);
+	end_ptr
+}
diff --git a/polkadot/parachain/src/wasm.rs b/polkadot/parachain/src/wasm.rs
new file mode 100644
index 00000000000..a16383acb90
--- /dev/null
+++ b/polkadot/parachain/src/wasm.rs
@@ -0,0 +1,166 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! WASM re-execution of a parachain candidate.
+//! In the context of relay-chain candidate evaluation, there are some additional
+//! steps to ensure that the provided input parameters are correct.
+//! Assuming the parameters are correct, this module provides a wrapper around
+//! a WASM VM for re-execution of a parachain candidate.
+
+use codec::Slicable;
+
+use wasmi::{self, Module, ModuleInstance,  MemoryInstance, MemoryDescriptor, MemoryRef, ModuleImportResolver};
+use wasmi::{memory_units, RuntimeValue};
+use wasmi::Error as WasmError;
+
+use super::{ValidationParams, ValidationResult};
+
+use std::cell::RefCell;
+
+error_chain! {
+	types { Error, ErrorKind, ResultExt; }
+	foreign_links {
+		Wasm(WasmError);
+	}
+	errors {
+		/// Call data too big. WASM32 only has a 32-bit address space.
+		ParamsTooLarge(len: usize) {
+			description("Validation parameters took up too much space to execute in WASM"),
+			display("Validation parameters took up {} bytes, max allowed by WASM is {}", len, i32::max_value()),
+		}
+		/// Bad return data or type.
+		BadReturn {
+			description("Validation function returned invalid data."),
+			display("Validation function returned invalid data."),
+		}
+	}
+}
+
+struct Resolver {
+	max_memory: u32, // in pages.
+	memory: RefCell<Option<MemoryRef>>,
+}
+
+impl ModuleImportResolver for Resolver {
+	fn resolve_memory(
+		&self,
+		field_name: &str,
+		descriptor: &MemoryDescriptor,
+	) -> Result<MemoryRef, WasmError> {
+		if field_name == "memory" {
+			let effective_max = descriptor.maximum().unwrap_or(self.max_memory);
+			if descriptor.initial() > self.max_memory || effective_max > self.max_memory {
+				Err(WasmError::Instantiation("Module requested too much memory".to_owned()))
+			} else {
+				let mem = MemoryInstance::alloc(
+					memory_units::Pages(descriptor.initial() as usize),
+					descriptor.maximum().map(|x| memory_units::Pages(x as usize)),
+				)?;
+				*self.memory.borrow_mut() = Some(mem.clone());
+				Ok(mem)
+			}
+		} else {
+			Err(WasmError::Instantiation("Memory imported under unknown name".to_owned()))
+		}
+	}
+}
+
+/// Validate a candidate under the given validation code.
+///
+/// This will fail if the validation code is not a proper parachain validation module.
+pub fn validate_candidate(validation_code: &[u8], params: ValidationParams) -> Result<ValidationResult, Error> {
+	use wasmi::LINEAR_MEMORY_PAGE_SIZE;
+
+	// maximum memory in bytes
+	const MAX_MEM: u32 = 1024 * 1024 * 1024; // 1 GiB
+
+	// instantiate the module.
+	let (module, memory) = {
+		let module = Module::from_buffer(validation_code)?;
+
+		let module_resolver = Resolver {
+			max_memory: MAX_MEM / LINEAR_MEMORY_PAGE_SIZE.0 as u32,
+			memory: RefCell::new(None),
+		};
+
+		let module = ModuleInstance::new(
+			&module,
+			&wasmi::ImportsBuilder::new().with_resolver("env", &module_resolver),
+		)?.run_start(&mut wasmi::NopExternals).map_err(WasmError::Trap)?;
+
+		let memory = module_resolver.memory.borrow_mut()
+			.as_ref()
+			.ok_or_else(|| WasmError::Instantiation("No imported memory instance".to_owned()))?
+			.clone();
+
+		(module, memory)
+	};
+
+	// allocate call data in memory.
+	let (offset, len) = {
+		let encoded_call_data = params.encode();
+
+		// hard limit from WASM.
+		if encoded_call_data.len() > i32::max_value() as usize {
+			bail!(ErrorKind::ParamsTooLarge(encoded_call_data.len()));
+		}
+
+		let call_data_pages = (encoded_call_data.len() / LINEAR_MEMORY_PAGE_SIZE.0) +
+			(encoded_call_data.len() % LINEAR_MEMORY_PAGE_SIZE.0);
+
+		let call_data_pages = wasmi::memory_units::Pages(call_data_pages);
+
+		if memory.current_size() < call_data_pages {
+			memory.grow(call_data_pages - memory.current_size())?;
+		}
+
+		memory.set(0, &encoded_call_data).expect("enough memory allocated just before this; \
+			copying never fails if memory is large enough; qed");
+
+		(0, encoded_call_data.len() as i32)
+	};
+
+	let output = module.invoke_export(
+		"validate",
+		&[RuntimeValue::I32(offset), RuntimeValue::I32(len)],
+		&mut wasmi::NopExternals,
+	)?;
+
+	match output {
+		Some(RuntimeValue::I32(len_offset)) => {
+			let len_offset = len_offset as u32;
+
+			let mut len_bytes = [0u8; 4];
+			memory.get_into(len_offset, &mut len_bytes)?;
+
+			let len = u32::decode(&mut &len_bytes[..])
+				.ok_or_else(|| ErrorKind::BadReturn)?;
+
+			let return_offset = if len > len_offset {
+				bail!(ErrorKind::BadReturn);
+			} else {
+				len_offset - len
+			};
+
+			// TODO: optimize when `wasmi` lets you inspect memory with a closure.
+			let raw_return = memory.get(return_offset, len as usize)?;
+			ValidationResult::decode(&mut &raw_return[..])
+				.ok_or_else(|| ErrorKind::BadReturn)
+				.map_err(Into::into)
+		}
+		_ => bail!(ErrorKind::BadReturn),
+	}
+}
diff --git a/polkadot/parachain/test-chains/.gitignore b/polkadot/parachain/test-chains/.gitignore
new file mode 100644
index 00000000000..2c96eb1b651
--- /dev/null
+++ b/polkadot/parachain/test-chains/.gitignore
@@ -0,0 +1,2 @@
+target/
+Cargo.lock
diff --git a/polkadot/parachain/test-chains/basic_add/Cargo.toml b/polkadot/parachain/test-chains/basic_add/Cargo.toml
new file mode 100644
index 00000000000..afc9e9f1310
--- /dev/null
+++ b/polkadot/parachain/test-chains/basic_add/Cargo.toml
@@ -0,0 +1,25 @@
+[package]
+name = "basic_add"
+version = "0.1.0"
+authors = ["Parity Technologies <admin@parity.io>"]
+description = "Test parachain which adds to a number as its state transition"
+
+[lib]
+crate-type = ["cdylib"]
+
+[dependencies]
+polkadot-parachain = { path = "../../", default-features = false }
+wee_alloc = "0.2.0"
+tiny-keccak = "1.4"
+pwasm-libc = "0.2"
+
+[features]
+default = ["std"]
+std = ["polkadot-parachain/std"]
+
+[profile.release]
+panic = "abort"
+lto = true
+
+[workspace]
+members = []
diff --git a/polkadot/parachain/test-chains/basic_add/src/lib.rs b/polkadot/parachain/test-chains/basic_add/src/lib.rs
new file mode 100644
index 00000000000..3f877b16d1b
--- /dev/null
+++ b/polkadot/parachain/test-chains/basic_add/src/lib.rs
@@ -0,0 +1,143 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Basic parachain that adds a number as part of its state.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+#![cfg_attr(not(feature = "std"), feature(alloc, core_intrinsics, global_allocator, lang_items))]
+
+#[cfg(not(feature = "std"))]
+extern crate alloc;
+
+extern crate polkadot_parachain as parachain;
+extern crate wee_alloc;
+extern crate tiny_keccak;
+extern crate pwasm_libc;
+
+use parachain::codec::{Slicable, Input};
+
+#[cfg(not(feature = "std"))]
+mod wasm;
+
+#[cfg(not(feature = "std"))]
+pub use wasm::*;
+
+#[cfg(not(feature = "std"))]
+use alloc::vec::Vec;
+
+// Define global allocator.
+#[cfg(not(feature = "std"))]
+#[global_allocator]
+static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
+
+// Head data for this parachain.
+#[derive(Default, Clone)]
+struct HeadData {
+	// Block number
+	number: u64,
+	// parent block keccak256
+	parent_hash: [u8; 32],
+	// hash of post-execution state.
+	post_state: [u8; 32],
+}
+
+impl Slicable for HeadData {
+	fn encode(&self) -> Vec<u8> {
+		let mut v = Vec::new();
+
+		self.number.using_encoded(|s| v.extend(s));
+		self.parent_hash.using_encoded(|s| v.extend(s));
+		self.post_state.using_encoded(|s| v.extend(s));
+
+		v
+	}
+
+	fn decode<I: Input>(input: &mut I) -> Option<Self> {
+		Some(HeadData {
+			number: Slicable::decode(input)?,
+			parent_hash: Slicable::decode(input)?,
+			post_state: Slicable::decode(input)?,
+		})
+	}
+}
+
+// Block data for this parachain.
+#[derive(Default, Clone)]
+struct BlockData {
+	// State to begin from.
+	state: u64,
+	// Amount to add (overflowing)
+	add: u64,
+}
+
+impl Slicable for BlockData {
+	fn encode(&self) -> Vec<u8> {
+		let mut v = Vec::new();
+
+		self.state.using_encoded(|s| v.extend(s));
+		self.add.using_encoded(|s| v.extend(s));
+
+		v
+	}
+
+	fn decode<I: Input>(input: &mut I) -> Option<Self> {
+		Some(BlockData {
+			state: Slicable::decode(input)?,
+			add: Slicable::decode(input)?,
+		})
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+	use parachain::ValidationParams;
+
+	const TEST_CODE: &[u8] = include_bytes!("../wasm/test.wasm");
+
+	fn hash_state(state: u64) -> [u8; 32] {
+		::tiny_keccak::keccak256(state.encode().as_slice())
+	}
+
+	fn hash_head(head: &HeadData) -> [u8; 32] {
+		::tiny_keccak::keccak256(head.encode().as_slice())
+	}
+
+	#[test]
+	fn execute_good_on_parent() {
+		let parent_head = HeadData {
+			number: 0,
+			parent_hash: [0; 32],
+			post_state: hash_state(0),
+		};
+
+		let block_data = BlockData {
+			state: 0,
+			add: 512,
+		};
+
+		let ret = parachain::wasm::validate_candidate(TEST_CODE, ValidationParams {
+			parent_head: parent_head.encode(),
+			block_data: block_data.encode(),
+		}).unwrap();
+
+		let new_head = HeadData::decode(&mut &ret.head_data[..]).unwrap();
+
+		assert_eq!(new_head.number, 1);
+		assert_eq!(new_head.parent_hash, hash_head(&parent_head));
+		assert_eq!(new_head.post_state, hash_state(512));
+	}
+}
diff --git a/polkadot/parachain/test-chains/basic_add/src/src b/polkadot/parachain/test-chains/basic_add/src/src
new file mode 120000
index 00000000000..e8310385c56
--- /dev/null
+++ b/polkadot/parachain/test-chains/basic_add/src/src
@@ -0,0 +1 @@
+src
\ No newline at end of file
diff --git a/polkadot/parachain/test-chains/basic_add/src/wasm.rs b/polkadot/parachain/test-chains/basic_add/src/wasm.rs
new file mode 100644
index 00000000000..fa1bf64f43c
--- /dev/null
+++ b/polkadot/parachain/test-chains/basic_add/src/wasm.rs
@@ -0,0 +1,58 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Defines WASM module logic.
+
+use parachain::{self, ValidationResult};
+use parachain::codec::Slicable;
+use super::{HeadData, BlockData};
+
+#[lang = "panic_fmt"]
+#[no_mangle]
+pub extern fn panic_fmt(
+	_args: ::core::fmt::Arguments,
+	_file: &'static str,
+	_line: u32,
+	_col: u32,
+) -> ! {
+	use core::intrinsics;
+	unsafe {
+		intrinsics::abort();
+	}
+}
+
+#[no_mangle]
+pub extern fn validate(offset: usize, len: usize) -> usize {
+	let hash_state = |state: u64| ::tiny_keccak::keccak256(state.encode().as_slice());
+
+	let params = unsafe { ::parachain::load_params(offset, len) };
+	let parent_head = HeadData::decode(&mut &params.parent_head[..])
+		.expect("invalid parent head format.");
+
+	let block_data = BlockData::decode(&mut &params.block_data[..])
+		.expect("invalid block data format.");
+
+	assert_eq!(hash_state(block_data.state), parent_head.post_state, "wrong post-state proof");
+	let new_state = block_data.state.saturating_add(block_data.add);
+
+	let new_head = HeadData {
+		number: parent_head.number + 1,
+		parent_hash: ::tiny_keccak::keccak256(&params.parent_head[..]),
+		post_state: hash_state(new_state),
+	};
+
+	parachain::write_result(ValidationResult { head_data: new_head.encode() })
+}
diff --git a/polkadot/parachain/test-chains/build_test_chains.sh b/polkadot/parachain/test-chains/build_test_chains.sh
new file mode 100755
index 00000000000..6523e46f14e
--- /dev/null
+++ b/polkadot/parachain/test-chains/build_test_chains.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+
+rm -rf ./target
+for i in */
+do
+  i=${i%/}
+  cd $i
+
+  # TODO: stop using exact nightly when wee-alloc works on normal nightly.
+  RUSTFLAGS="-C link-arg=--import-memory" cargo +nightly-2018-03-07 build --target=wasm32-unknown-unknown --release --no-default-features
+  wasm-gc target/wasm32-unknown-unknown/release/$i.wasm ../../tests/res/$i.wasm
+  cd ..
+done
diff --git a/polkadot/parachain/tests/basic_add.rs b/polkadot/parachain/tests/basic_add.rs
new file mode 100644
index 00000000000..c5fbe467a43
--- /dev/null
+++ b/polkadot/parachain/tests/basic_add.rs
@@ -0,0 +1,170 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Basic parachain that adds a number as part of its state.
+
+extern crate polkadot_parachain as parachain;
+extern crate tiny_keccak;
+
+use parachain::ValidationParams;
+use parachain::codec::{Slicable, Input};
+
+// Head data for this parachain.
+#[derive(Default, Clone)]
+struct HeadData {
+	// Block number
+	number: u64,
+	// parent block keccak256
+	parent_hash: [u8; 32],
+	// hash of post-execution state.
+	post_state: [u8; 32],
+}
+
+impl Slicable for HeadData {
+	fn encode(&self) -> Vec<u8> {
+		let mut v = Vec::new();
+
+		self.number.using_encoded(|s| v.extend(s));
+		self.parent_hash.using_encoded(|s| v.extend(s));
+		self.post_state.using_encoded(|s| v.extend(s));
+
+		v
+	}
+
+	fn decode<I: Input>(input: &mut I) -> Option<Self> {
+		Some(HeadData {
+			number: Slicable::decode(input)?,
+			parent_hash: Slicable::decode(input)?,
+			post_state: Slicable::decode(input)?,
+		})
+	}
+}
+
+// Block data for this parachain.
+#[derive(Default, Clone)]
+struct BlockData {
+	// State to begin from.
+	state: u64,
+	// Amount to add (overflowing)
+	add: u64,
+}
+
+impl Slicable for BlockData {
+	fn encode(&self) -> Vec<u8> {
+		let mut v = Vec::new();
+
+		self.state.using_encoded(|s| v.extend(s));
+		self.add.using_encoded(|s| v.extend(s));
+
+		v
+	}
+
+	fn decode<I: Input>(input: &mut I) -> Option<Self> {
+		Some(BlockData {
+			state: Slicable::decode(input)?,
+			add: Slicable::decode(input)?,
+		})
+	}
+}
+
+const TEST_CODE: &[u8] = include_bytes!("res/basic_add.wasm");
+
+fn hash_state(state: u64) -> [u8; 32] {
+	::tiny_keccak::keccak256(state.encode().as_slice())
+}
+
+fn hash_head(head: &HeadData) -> [u8; 32] {
+	::tiny_keccak::keccak256(head.encode().as_slice())
+}
+
+#[test]
+fn execute_good_on_parent() {
+	let parent_head = HeadData {
+		number: 0,
+		parent_hash: [0; 32],
+		post_state: hash_state(0),
+	};
+
+	let block_data = BlockData {
+		state: 0,
+		add: 512,
+	};
+
+	let ret = parachain::wasm::validate_candidate(TEST_CODE, ValidationParams {
+		parent_head: parent_head.encode(),
+		block_data: block_data.encode(),
+	}).unwrap();
+
+	let new_head = HeadData::decode(&mut &ret.head_data[..]).unwrap();
+
+	assert_eq!(new_head.number, 1);
+	assert_eq!(new_head.parent_hash, hash_head(&parent_head));
+	assert_eq!(new_head.post_state, hash_state(512));
+}
+
+#[test]
+fn execute_good_chain_on_parent() {
+	let mut number = 0;
+	let mut parent_hash = [0; 32];
+	let mut last_state = 0;
+
+	for add in 0..10 {
+		let parent_head = HeadData {
+			number,
+			parent_hash,
+			post_state: hash_state(last_state),
+		};
+
+		let block_data = BlockData {
+			state: last_state,
+			add,
+		};
+
+		let ret = parachain::wasm::validate_candidate(TEST_CODE, ValidationParams {
+			parent_head: parent_head.encode(),
+			block_data: block_data.encode(),
+		}).unwrap();
+
+		let new_head = HeadData::decode(&mut &ret.head_data[..]).unwrap();
+
+		assert_eq!(new_head.number, number + 1);
+		assert_eq!(new_head.parent_hash, hash_head(&parent_head));
+		assert_eq!(new_head.post_state, hash_state(last_state + add));
+
+		number += 1;
+		parent_hash = hash_head(&new_head);
+		last_state += add;
+	}
+}
+
+#[test]
+fn execute_bad_on_parent() {
+		let parent_head = HeadData {
+		number: 0,
+		parent_hash: [0; 32],
+		post_state: hash_state(0),
+	};
+
+	let block_data = BlockData {
+		state: 256, // start state is wrong.
+		add: 256,
+	};
+
+	let _ret = parachain::wasm::validate_candidate(TEST_CODE, ValidationParams {
+		parent_head: parent_head.encode(),
+		block_data: block_data.encode(),
+	}).unwrap_err();
+}
diff --git a/polkadot/parachain/tests/res/basic_add.wasm b/polkadot/parachain/tests/res/basic_add.wasm
new file mode 100755
index 0000000000000000000000000000000000000000..83f52db817f81cf088221070e7db06d3a9ea8765
GIT binary patch
literal 44941
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
X{Ls~5O8(frTX~$XF7(Rv(PRG)^`N<2

literal 0
HcmV?d00001

diff --git a/polkadot/primitives/src/lib.rs b/polkadot/primitives/src/lib.rs
index 1db009c7354..b9a636162c9 100644
--- a/polkadot/primitives/src/lib.rs
+++ b/polkadot/primitives/src/lib.rs
@@ -36,7 +36,6 @@ extern crate substrate_serializer;
 extern crate substrate_codec as codec;
 
 pub mod parachain;
-pub mod validator;
 
 /// Virtual account ID that represents the idea of a dispatch/statement being signed by everybody
 /// (who matters). Essentially this means that a majority of validators have decided it is
diff --git a/polkadot/primitives/src/parachain.rs b/polkadot/primitives/src/parachain.rs
index 1dde3b508d1..3a87b1faa2d 100644
--- a/polkadot/primitives/src/parachain.rs
+++ b/polkadot/primitives/src/parachain.rs
@@ -37,6 +37,13 @@ impl From<u32> for Id {
 	fn from(x: u32) -> Self { Id(x) }
 }
 
+impl Id {
+	/// Convert this Id into its inner representation.
+	pub fn into_inner(self) -> u32 {
+		self.0
+	}
+}
+
 impl Slicable for Id {
 	fn decode<I: Input>(input: &mut I) -> Option<Self> {
 		u32::decode(input).map(Id)
@@ -86,8 +93,6 @@ impl Slicable for Chain {
 	}
 }
 
-
-
 /// The duty roster specifying what jobs each validator must do.
 #[derive(Clone, PartialEq)]
 #[cfg_attr(feature = "std", derive(Default, Debug))]
diff --git a/polkadot/primitives/src/validator.rs b/polkadot/primitives/src/validator.rs
deleted file mode 100644
index 0bac607594c..00000000000
--- a/polkadot/primitives/src/validator.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2017 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Validator primitives.
-
-#[cfg(feature = "std")]
-use primitives::bytes;
-use rstd::vec::Vec;
-use parachain;
-
-/// Parachain outgoing message.
-#[derive(PartialEq, Eq)]
-#[cfg_attr(feature = "std", derive(Serialize, Debug))]
-pub struct EgressPost(#[cfg_attr(feature = "std", serde(with="bytes"))] pub Vec<u8>);
-
-/// Balance upload.
-#[derive(PartialEq, Eq)]
-#[cfg_attr(feature = "std", derive(Serialize, Debug))]
-pub struct BalanceUpload(#[cfg_attr(feature = "std", serde(with="bytes"))] pub Vec<u8>);
-
-/// Balance download.
-#[derive(PartialEq, Eq)]
-#[cfg_attr(feature = "std", derive(Serialize, Debug))]
-pub struct BalanceDownload(#[cfg_attr(feature = "std", serde(with="bytes"))] pub Vec<u8>);
-
-/// The result of parachain validation.
-#[derive(PartialEq, Eq)]
-#[cfg_attr(feature = "std", derive(Serialize, Debug))]
-#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))]
-#[cfg_attr(feature = "std", serde(deny_unknown_fields))]
-pub struct ValidationResult {
-	/// New head data that should be included in the relay chain state.
-	pub head_data: parachain::HeadData,
-	/// Outgoing messages (a vec for each parachain).
-	pub egress_queues: Vec<Vec<EgressPost>>,
-	/// Balance uploads
-	pub balance_uploads: Vec<BalanceUpload>,
-}
-
-#[cfg(test)]
-mod tests {
-	use super::*;
-	use substrate_serializer as ser;
-
-	#[test]
-	fn test_validation_result() {
-		assert_eq!(ser::to_string_pretty(&ValidationResult {
-	head_data: parachain::HeadData(vec![1]),
-	egress_queues: vec![vec![EgressPost(vec![1])]],
-	balance_uploads: vec![BalanceUpload(vec![2])],
-			}), r#"{
-  "headData": "0x01",
-  "egressQueues": [
-    [
-      "0x01"
-    ]
-  ],
-  "balanceUploads": [
-    "0x02"
-  ]
-}"#);
-	}
-}
diff --git a/polkadot/runtime/Cargo.toml b/polkadot/runtime/Cargo.toml
index cb6c99de354..95044242fef 100644
--- a/polkadot/runtime/Cargo.toml
+++ b/polkadot/runtime/Cargo.toml
@@ -5,7 +5,6 @@ authors = ["Parity Technologies <admin@parity.io>"]
 
 [dependencies]
 rustc-hex = "1.0"
-hex-literal = "0.1.0"
 log = { version = "0.3", optional = true }
 serde = { version = "1.0", default_features = false }
 serde_derive = { version = "1.0", optional = true }
@@ -28,6 +27,9 @@ substrate-runtime-system = { path = "../../substrate/runtime/system" }
 substrate-runtime-timestamp = { path = "../../substrate/runtime/timestamp" }
 polkadot-primitives = { path = "../primitives" }
 
+[dev-dependencies]
+hex-literal = "0.1.0"
+
 [features]
 default = ["std"]
 std = [
diff --git a/polkadot/runtime/src/lib.rs b/polkadot/runtime/src/lib.rs
index 1cfcd31497c..9b86eb91cb3 100644
--- a/polkadot/runtime/src/lib.rs
+++ b/polkadot/runtime/src/lib.rs
@@ -27,7 +27,7 @@ extern crate substrate_runtime_support as runtime_support;
 #[macro_use]
 extern crate substrate_runtime_primitives as runtime_primitives;
 
-#[cfg(feature = "std")]
+#[cfg(test)]
 #[macro_use]
 extern crate hex_literal;
 
@@ -55,7 +55,19 @@ use runtime_io::BlakeTwo256;
 use polkadot_primitives::{AccountId, Balance, BlockNumber, Hash, Index, Log, SessionKey, Signature};
 use runtime_primitives::generic;
 use runtime_primitives::traits::{Identity, HasPublicAux};
-#[cfg(feature = "std")] pub use runtime_primitives::BuildExternalities;
+
+#[cfg(feature = "std")]
+pub use runtime_primitives::BuildExternalities;
+
+pub use consensus::Call as ConsensusCall;
+pub use timestamp::Call as TimestampCall;
+pub use parachains::Call as ParachainsCall;
+
+
+/// The position of the timestamp set extrinsic.
+pub const TIMESTAMP_SET_POSITION: u32 = 0;
+/// The position of the parachains set extrinsic.
+pub const PARACHAINS_SET_POSITION: u32 = 1;
 
 /// Concrete runtime type used to parameterize the various modules.
 pub struct Concrete;
@@ -77,19 +89,18 @@ impl system::Trait for Concrete {
 pub type System = system::Module<Concrete>;
 
 impl consensus::Trait for Concrete {
-	type PublicAux = <Self as HasPublicAux>::PublicAux;
+	type PublicAux = <Concrete as HasPublicAux>::PublicAux;
 	type SessionKey = SessionKey;
 }
 /// Consensus module for this concrete runtime.
 pub type Consensus = consensus::Module<Concrete>;
-pub use consensus::Call as ConsensusCall;
 
 impl timestamp::Trait for Concrete {
+	const SET_POSITION: u32 = TIMESTAMP_SET_POSITION;
 	type Value = u64;
 }
 /// Timestamp module for this concrete runtime.
 pub type Timestamp = timestamp::Module<Concrete>;
-pub use timestamp::Call as TimestampCall;
 
 impl session::Trait for Concrete {
 	type ConvertAccountIdToSessionKey = Identity;
@@ -116,7 +127,11 @@ pub type Council = council::Module<Concrete>;
 /// Council voting module for this concrete runtime.
 pub type CouncilVoting = council::voting::Module<Concrete>;
 
-impl parachains::Trait for Concrete {}
+impl parachains::Trait for Concrete {
+	const SET_POSITION: u32 = PARACHAINS_SET_POSITION;
+
+	type PublicAux = <Concrete as HasPublicAux>::PublicAux;
+}
 pub type Parachains = parachains::Module<Concrete>;
 
 impl_outer_dispatch! {
@@ -128,6 +143,7 @@ impl_outer_dispatch! {
 		Democracy = 5,
 		Council = 6,
 		CouncilVoting = 7,
+		Parachains = 8,
 	}
 
 	pub enum PrivCall {
diff --git a/polkadot/runtime/src/parachains.rs b/polkadot/runtime/src/parachains.rs
index ef46a25146e..1a6a77d7feb 100644
--- a/polkadot/runtime/src/parachains.rs
+++ b/polkadot/runtime/src/parachains.rs
@@ -17,44 +17,70 @@
 //! Main parachains logic. For now this is just the determination of which validators do what.
 
 use polkadot_primitives;
-#[cfg(any(feature = "std", test))] use {runtime_io, runtime_primitives};
 use rstd::prelude::*;
-#[cfg(any(feature = "std", test))] use rstd::marker::PhantomData;
 use codec::{Slicable, Joiner};
 use runtime_support::Hashable;
-#[cfg(any(feature = "std", test))] use runtime_support::StorageValue;
-use runtime_primitives::traits::Executable;
-use polkadot_primitives::parachain::{Id, Chain, DutyRoster};
+
+use runtime_primitives::traits::{Executable, RefInto, MaybeEmpty};
+use polkadot_primitives::parachain::{Id, Chain, DutyRoster, CandidateReceipt};
 use {system, session};
 
-pub trait Trait: system::Trait<Hash = polkadot_primitives::Hash> + session::Trait {}
+use runtime_support::{StorageValue, StorageMap};
+
+#[cfg(any(feature = "std", test))]
+use rstd::marker::PhantomData;
+
+#[cfg(any(feature = "std", test))]
+use {runtime_io, runtime_primitives};
+
+pub trait Trait: system::Trait<Hash = polkadot_primitives::Hash> + session::Trait {
+	/// The position of the set_heads call in the block.
+	const SET_POSITION: u32;
+
+	type PublicAux: RefInto<Self::AccountId> + MaybeEmpty;
+}
 
 decl_module! {
 	pub struct Module<T: Trait>;
+	pub enum Call where aux: <T as Trait>::PublicAux {
+		// provide candidate receipts for parachains, in ascending order by id.
+		fn set_heads(aux, heads: Vec<CandidateReceipt>) = 0;
+	}
 }
 
 decl_storage! {
-	pub trait Store for Module<T: Trait>;
-	// The number of parachains registered at present.
-	pub Count get(count): b"para:count" => default u32;
+	trait Store for Module<T: Trait>;
+	// Vector of all parachain IDs.
+	pub Parachains get(active_parachains): b"para:chains" => default Vec<Id>;
+	// The parachains registered at present.
+	pub Code get(parachain_code): b"para:code" => map [ Id => Vec<u8> ];
+	// The heads of the parachains registered at present. these are kept sorted.
+	pub Heads get(parachain_head): b"para:head" => map [ Id => Vec<u8> ];
+
+	// Did the parachain heads get updated in this block?
+	DidUpdate: b"para:did" => default bool;
 }
 
 impl<T: Trait> Module<T> {
-	/// Calculate the current block's duty roster.
+	/// Calculate the current block's duty roster using system's random seed.
 	pub fn calculate_duty_roster() -> DutyRoster {
-		let parachain_count = Self::count();
-		let validator_count = <session::Module<T>>::validator_count();
+		let parachains = Self::active_parachains();
+		let parachain_count = parachains.len();
+		let validator_count = <session::Module<T>>::validator_count() as usize;
 		let validators_per_parachain = if parachain_count != 0 { (validator_count - 1) / parachain_count } else { 0 };
 
 		let mut roles_val = (0..validator_count).map(|i| match i {
-			i if i < parachain_count * validators_per_parachain =>
-				Chain::Parachain(Id::from(i / validators_per_parachain as u32)),
+			i if i < parachain_count * validators_per_parachain => {
+				let idx = i / validators_per_parachain;
+				Chain::Parachain(parachains[idx].clone())
+			}
 			_ => Chain::Relay,
 		}).collect::<Vec<_>>();
+
 		let mut roles_gua = roles_val.clone();
 
-		let h = <system::Module<T>>::random_seed();
-		let mut seed = h.to_vec().and(b"validator_role_pairs").blake2_256();
+		let random_seed = system::Module::<T>::random_seed();
+		let mut seed = random_seed.to_vec().and(b"validator_role_pairs").blake2_256();
 
 		// shuffle
 		for i in 0..(validator_count - 1) {
@@ -83,16 +109,76 @@ impl<T: Trait> Module<T> {
 			guarantor_duty: roles_gua,
 		}
 	}
+
+	/// Register a parachain with given code.
+	/// Fails if given ID is already used.
+	pub fn register_parachain(id: Id, code: Vec<u8>, initial_head_data: Vec<u8>) {
+		let mut parachains = Self::active_parachains();
+		match parachains.binary_search(&id) {
+			Ok(_) => panic!("Parachain with id {} already exists", id.into_inner()),
+			Err(idx) => parachains.insert(idx, id),
+		}
+
+		<Code<T>>::insert(id, code);
+		<Parachains<T>>::put(parachains);
+		<Heads<T>>::insert(id, initial_head_data);
+	}
+
+	/// Deregister a parachain with given id
+	pub fn deregister_parachain(id: Id) {
+		let mut parachains = Self::active_parachains();
+		match parachains.binary_search(&id) {
+			Ok(idx) => { parachains.remove(idx); }
+			Err(_) => {}
+		}
+
+		<Code<T>>::remove(id);
+		<Heads<T>>::remove(id);
+		<Parachains<T>>::put(parachains);
+	}
+
+	fn set_heads(aux: &<T as Trait>::PublicAux, heads: Vec<CandidateReceipt>) {
+		assert!(aux.is_empty());
+		assert!(!<DidUpdate<T>>::exists(), "Parachain heads must be updated only once in the block");
+		assert!(
+			<system::Module<T>>::extrinsic_index() == T::SET_POSITION,
+			"Parachain heads update extrinsic must be at position {} in the block",
+			T::SET_POSITION
+		);
+
+		let active_parachains = Self::active_parachains();
+		let mut iter = active_parachains.iter();
+
+		// perform this check before writing to storage.
+		for head in &heads {
+			assert!(
+				iter.find(|&p| p == &head.parachain_index).is_some(),
+				"Submitted candidate for unregistered or out-of-order parachain {}",
+				head.parachain_index.into_inner()
+			);
+		}
+
+		for head in heads {
+			let id = head.parachain_index.clone();
+			<Heads<T>>::insert(id, head.head_data.0);
+		}
+
+		<DidUpdate<T>>::put(true);
+	}
 }
 
 impl<T: Trait> Executable for Module<T> {
 	fn execute() {
+		assert!(<Self as Store>::DidUpdate::take(), "Parachain heads must be updated once in the block");
 	}
 }
 
+/// Parachains module genesis configuration.
 #[cfg(any(feature = "std", test))]
 pub struct GenesisConfig<T: Trait> {
-	pub count: u32,
+	/// The initial parachains, mapped to code.
+	pub parachains: Vec<(Id, Vec<u8>)>,
+	/// Phantom data.
 	pub phantom: PhantomData<T>,
 }
 
@@ -100,7 +186,7 @@ pub struct GenesisConfig<T: Trait> {
 impl<T: Trait> Default for GenesisConfig<T> {
 	fn default() -> Self {
 		GenesisConfig {
-			count: 0,
+			parachains: Vec::new(),
 			phantom: PhantomData,
 		}
 	}
@@ -109,12 +195,26 @@ impl<T: Trait> Default for GenesisConfig<T> {
 #[cfg(any(feature = "std", test))]
 impl<T: Trait> runtime_primitives::BuildExternalities for GenesisConfig<T>
 {
-	fn build_externalities(self) -> runtime_io::TestExternalities {
+	fn build_externalities(mut self) -> runtime_io::TestExternalities {
+		use std::collections::HashMap;
 		use runtime_io::twox_128;
 		use codec::Slicable;
-		map![
-			twox_128(<Count<T>>::key()).to_vec() => self.count.encode()
-		]
+
+		self.parachains.sort_unstable_by_key(|&(ref id, _)| id.clone());
+		self.parachains.dedup_by_key(|&mut (ref id, _)| id.clone());
+
+		let only_ids: Vec<_> = self.parachains.iter().map(|&(ref id, _)| id).cloned().collect();
+
+		let mut map: HashMap<_, _> = map![
+			twox_128(<Parachains<T>>::key()).to_vec() => only_ids.encode()
+		];
+
+		for (id, code) in self.parachains {
+			let key = twox_128(&<Code<T>>::key_for(&id)).to_vec();
+			map.insert(key, code.encode());
+		}
+
+		map.into()
 	}
 }
 
@@ -148,12 +248,15 @@ mod tests {
 	impl session::Trait for Test {
 		type ConvertAccountIdToSessionKey = Identity;
 	}
-	impl Trait for Test {}
+	impl Trait for Test {
+		const SET_POSITION: u32 = 0;
+
+		type PublicAux = <Self as HasPublicAux>::PublicAux;
+	}
 
-	type System = system::Module<Test>;
 	type Parachains = Module<Test>;
 
-	fn new_test_ext() -> runtime_io::TestExternalities {
+	fn new_test_ext(parachains: Vec<(Id, Vec<u8>)>) -> runtime_io::TestExternalities {
 		let mut t = system::GenesisConfig::<Test>::default().build_externalities();
 		t.extend(consensus::GenesisConfig::<Test>{
 			code: vec![],
@@ -164,22 +267,59 @@ mod tests {
 			validators: vec![1, 2, 3, 4, 5, 6, 7, 8],
 		}.build_externalities());
 		t.extend(GenesisConfig::<Test>{
-			count: 2,
+			parachains: parachains,
 			phantom: PhantomData,
 		}.build_externalities());
 		t
 	}
 
 	#[test]
-	fn simple_setup_should_work() {
-		with_externalities(&mut new_test_ext(), || {
-			assert_eq!(Parachains::count(), 2);
+	fn active_parachains_should_work() {
+		let parachains = vec![
+			(5u32.into(), vec![1,2,3]),
+			(100u32.into(), vec![4,5,6]),
+		];
+
+		with_externalities(&mut new_test_ext(parachains), || {
+			assert_eq!(Parachains::active_parachains(), vec![5u32.into(), 100u32.into()]);
+			assert_eq!(Parachains::parachain_code(&5u32.into()), Some(vec![1,2,3]));
+			assert_eq!(Parachains::parachain_code(&100u32.into()), Some(vec![4,5,6]));
 		});
 	}
 
 	#[test]
-	fn should_work() {
-		with_externalities(&mut new_test_ext(), || {
+	fn register_deregister() {
+		let parachains = vec![
+			(5u32.into(), vec![1,2,3]),
+			(100u32.into(), vec![4,5,6]),
+		];
+
+		with_externalities(&mut new_test_ext(parachains), || {
+			assert_eq!(Parachains::active_parachains(), vec![5u32.into(), 100u32.into()]);
+
+			assert_eq!(Parachains::parachain_code(&5u32.into()), Some(vec![1,2,3]));
+			assert_eq!(Parachains::parachain_code(&100u32.into()), Some(vec![4,5,6]));
+
+			Parachains::register_parachain(99u32.into(), vec![7,8,9], vec![1, 1, 1]);
+
+			assert_eq!(Parachains::active_parachains(), vec![5u32.into(), 99u32.into(), 100u32.into()]);
+			assert_eq!(Parachains::parachain_code(&99u32.into()), Some(vec![7,8,9]));
+
+			Parachains::deregister_parachain(5u32.into());
+
+			assert_eq!(Parachains::active_parachains(), vec![99u32.into(), 100u32.into()]);
+			assert_eq!(Parachains::parachain_code(&5u32.into()), None);
+		});
+	}
+
+	#[test]
+	fn duty_roster_works() {
+		let parachains = vec![
+			(0u32.into(), vec![]),
+			(1u32.into(), vec![]),
+		];
+
+		with_externalities(&mut new_test_ext(parachains), || {
 			let check_roster = |duty_roster: &DutyRoster| {
 				assert_eq!(duty_roster.validator_duty.len(), 8);
 				assert_eq!(duty_roster.guarantor_duty.len(), 8);
@@ -191,16 +331,17 @@ mod tests {
 				assert_eq!(duty_roster.guarantor_duty.iter().filter(|&&j| j == Chain::Relay).count(), 2);
 			};
 
-			System::set_random_seed([0u8; 32].into());
+			system::Module::<Test>::set_random_seed([0u8; 32].into());
 			let duty_roster_0 = Parachains::calculate_duty_roster();
 			check_roster(&duty_roster_0);
 
-			System::set_random_seed([1u8; 32].into());
+			system::Module::<Test>::set_random_seed([1u8; 32].into());
 			let duty_roster_1 = Parachains::calculate_duty_roster();
 			check_roster(&duty_roster_1);
 			assert!(duty_roster_0 != duty_roster_1);
 
-			System::set_random_seed([2u8; 32].into());
+
+			system::Module::<Test>::set_random_seed([2u8; 32].into());
 			let duty_roster_2 = Parachains::calculate_duty_roster();
 			check_roster(&duty_roster_2);
 			assert!(duty_roster_0 != duty_roster_2);
diff --git a/polkadot/runtime/wasm/Cargo.lock b/polkadot/runtime/wasm/Cargo.lock
index 77658199f1d..bc00ce5ccd8 100644
--- a/polkadot/runtime/wasm/Cargo.lock
+++ b/polkadot/runtime/wasm/Cargo.lock
@@ -498,9 +498,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 [[package]]
 name = "substrate-codec"
 version = "0.1.0"
-dependencies = [
- "substrate-runtime-std 0.1.0",
-]
 
 [[package]]
 name = "substrate-keyring"
diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm
index 134df026b54534d6ec84e85bf60c1a8a2ee8651a..35f1cfd18b2c55732ede75049b876d94ba9d76e1 100644
GIT binary patch
delta 139463
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%0Dc>LbnxP{k%_;b9$Q>`y=SdNL8Un
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
Luzej1PyGK4^yeMh

delta 127771
zcmcG%37i$hxjx)g-Dh8CA7<@yW?*L69Ap(lY4$}F4DK5kF>xR&h(?X^pdl`aNzj9q
zH!(_XOw_~$MLlFO5=EmC6_*&}ZbYxf1!FYPNc4N2sy@rWp!w&17k+cPySkRQ-g@g@
ztEyl5LDMb28nkv|G?>%>ti^##r}rFSiE|f+&-MR_+~Pov_ts(?SM!TR``ld4TI?W6
zUr-*24y!?F>HnT<-TI4hqON-BnX8Uldcxjg$Bx?PxHFcnJn6)<th)SO^7KHRz4YWW
zRBL;%E&n^&CYab5IBn@Fyna&*Z+uKXDlK8jK)|-_KtTUlmbCIM_PAhx|LpwX_O$#}
zc6)xa?d0r0<$wRd68vYyVpbq&+aW7uS&p!*Dy!PEEZYuLp>CUZc*I5U#?eo>6;{Bi
zvG8Nrjui-mVj>i)x0v0ki|Kz6VKp>}hK5GFVI*#>#+YSCL`)2_g&1U6p>$I^U0dq}
z#HpgaJ%9?Uf)SAu-ugf0&v8aH{#-aGu3Wm*x>3ZIoWAPIr>s0_)k#ZFv+m3P)~U(e
zFH=iSJ$3n6#{q#WPdfRulfGy@AQMZ^T>8b+S1mp6_~oa3ahdg?OrChs$xD`>bXqZG
zt4y7N=M$E!I%VZ?Up(dXlUG>}%V;U-H0u!=@r31xSlh(Q#1BM4{94{6e<Safo8|5D
zCUK{@UECp_lz-@wPhkN5D4&*plH24n@*a7wd{+KeJ|~}-TV(W)-)(plsUo1hy~I9c
z;~RkkWd6j+UZQQ|6_M{t;pRuhHw7|QES*(uPIlz05=+E$8&6AICqyUS?UP@WS`iqG
z_e0c@J481BR_X-t;KqgNv9=hRzp&==x=W-8<~l4dy(}v`EmwNhI2q3`j<$$+{_D{(
zxp>z0at9=A*Pf9OuALUy(2RuRhCB-oL!06<=2|SnqUpX)D;4uZCKPjp7w&Uy<Z|4A
z8**(on3h?A<lM|=UR`@$vm5L~K{*9)#r%X-tSFQ&SJv&KopI8^CB#N7U2SD^=~ncv
z#mYC=ZWUWLzFzy=pm=-Z&zkoRR&74-8yD<+@zYPvaUIWI<+-Qjrwr-c*pRIedw8|9
zW1HOl)y649-t7=KZX7lDxX|uz^FLU4*?_6N8^3(;{q`PSopk7X-BtGjZ4-btF;4D_
z%T@d2pTA?!#&72K3JmaS?Va5l-(GWTboW;qZ~5L~_U_5~TfVn$<InTc<N&YM-kI6x
zUNIsvz$=z|@0$6w;+~CDZofnfkmLC~{(FGbwRf%--_BPR2FXuq^TP{`^1a%PGYj)X
zWD5tgu`hjV{`;G{8gB!W@V0LO$#_=!3OuB5#?LxORjm_))YsRF=6vE88C`#`LCqMA
znvMJaqRP?9u1W4R$xH5<CsX%X>5Zr*YI*B;oB!3_BgDpyZ`^&4R1f_?d~4&_drvZ0
z=vOws<gSyQ7aTjD&)k1b4s_KmtxVVz-O|ZMGC?^7gekl@le5toAWtN^j=piDUVM39
zHs-DB%fvk^Bk(R^PjM40hHH>zl9(^T6Mc9abAzZT8=RG};!ccDPG1jNOOf)uPpuW%
ze9iAVIum|=G#r@Wi4_S8b=ht}=SX|2#Y#7wKk|3ob*ZWDMb~Akbb3gqhul<N{cdQe
znCpSxbx%yXRq5HND|H=#PNuCG9^!6rCY~HG*Ozq?LIV@;%LD<G8}a)k^Gy%*q$Hq?
zu}E0=Ie+j2e+r);aBK)4siw@5t@#BHCi06Ptk1a;Ifw@QIRIIr@{H67#Khf81P?-s
zXtNJU9${IT0GbD09F}w90&Sobi#Q9gDQj=xOm#1C#Z7B6L2?r}kYP3?;MvN6_hbTW
z3akgLBAB}_BXku(jh3(*@SAip7K+)Z9rZh`-(vkCHXd@F%4RC6w_>itYEi3;M%-ep
zen)^Y%MF*iV!64nCs*}(?^>FIEVP9dfMid&p=BB&=-cuPkuHdIV3p9b_jZh<D^_@Q
zBn_!w6!GD`TaQZ0xY49X+<**i*CA81$vdnZ9s#6AST;D`1~>#AeLxXe(KEDfUU<L*
zo2ftwv5|?OCNL#b?6P89BCIz!^;7&yePa#k*0^DDK#N|WjWp*nssl7e0H9tym;@Nq
zpaEe<4uC+v1u>wLO^Mh;`CmMAuX^r7JJ#fQiFxd_>m-xbxT*WuW5?_>A~0M!BlFj6
zy=an)Cd23jWNRjhKZ!pIoH+gx_)Fq1g}*fZs_<8hzZ(42#uw#}e|Wfv=D+uF{jdm0
zdIWnCA7LaFK+9BN_Bnb8YjLONeWoVA?cp)`x!a<-TDQh)S>BgHH%C~#S?M*+N(^>u
zW+ZA||5Y~aozR!5b8GdGJEksjjsyn2(dRCXSF7(*NHa~uac6i>5_f6+7USUc_Gyga
zZkyGY&VT2Ts7R<KEutZR%Ol}%+zd}rZ3v3C{PT}YnwlbMM=;6VwCl`D1mZ0k)X`pg
zRi@gt_p(N1>fJ<-&FN=%%Q2Y*upDQhxaX|O#NBBA$VbOcjeDo|W#f8;>fP#<D4L|;
zkAj*~ASMtjt0EFuGvD{CGX_5N*rO9usS*mS&;v*PwN~^Vz*}}^oWWs)ILx|LGZHDc
z3JevaWo0BNCgsY$Y}7|!%#$+{VK>SlssV#CxJu-&*fuf%GI3)n922dF#ZBF0v$Z6&
zFea1>Qt8WLwC5ydpqFA*HVGaVag%eJvq{gI%~Y+`bjw9RP7=yZWJY2-a^L}+GVUhx
zlOJnH_%EgswaNUF#|G8b>Z&;gWEFa_YVzNGtYKdeBOBH!i2=GBh`H6^kARZwHC~O0
zAbgUj&cFOvO^k>ucJb54h6QV9B=&P_^SzHx=uLqilJAko<B&C+03`0Zcw?E0t5M!i
zaaI1x$7dg31)?I|Ml0yHg^VHUR{4b5(uawU+393~jX39?Pp%*&A2yPvAy+T}A3l(9
zw@hbZ`Ewp=7B%We2g({XzYc06=ra{I^qCqbTfjx)`THN~66yS3pQvepTyWDQyEM2a
zCNnr8hFl{omVfh!5o42(2|$xiVVPP(yJ@#(7uwZgDNNc8qk-f8xPKjnr*>tg77ggh
z5a(n_=702L9cOQ4X}8!$KT@tUnZR8+JwO6J_v}yb1LOkli?OW$WGEQJ%&gOlNtOT=
z;U)q8aC9B-YV}JqiFAI=L{K;arU=<P3rsbsB`zMo`hk`RM<qrYjrb!G$6b+K;B7jS
z%3u121`z`Srse>#Wk88|993XK&+rtX(=CwmRwr8HZ7~-x%}NC0(AE2QFh-qz*Cev{
ze#k;SbrmQj*;Lm+A968UElkri<vU1SeG(Tf`Tu&VK4*a7oNtMvG*l=EL(Fwf{l1xr
zNIYB~^spK9Xn*EX<h10oY_QDoqHdV12)uMAB@sv-y)WVqEExD3^jQcza)Cx2xE$~_
z5b9!>tpK_z(G+hs^@Fd(e5k835slu8F_ZbXwzrBT$0mQwJ5%yk|1msE_NyJEYLv2y
zftiu0hR#N|;HD~Zqq_txO`}V#j>C3)@#%mKjH=6}`0?Hpb)PE|<3nO@t$`Zk^7<d!
z!=NQnP(LV#^@ma`zEm9nWf2E65>;+3psdP&<(V}T6GbhP{YfyV-Gk|)g-kDal$EI?
zzw&t%*e-NAtvbZ>!=BBgs!NPw3>ZZsf7G+BZj3|%CfXxgOg)W0uVY={fB7q)9X=xp
z0>DIVVY9e4vSl!*l|T|6LH4$$W7?*!Yfly9?M61Bb>^_vnZsyKJa=p^<yM1>^kr(O
zYZd>y)vP!LzL_BT_<0~UPVLLI0tlpoMWixypt8D*qt*VR%#TxGQpt=$j8LX$G1IJg
z5ClZ#NzETBFa=rzKpGp>Fhw*>RKY`MWW&u9t=YOL6bc*c7(WkKeV$0q_G`ZE`MOX{
z7m4Lto}U7>;F#x|=W5IafSFd#1k0_bnqRNgd<{p`t(j#Q5PF6==+<z)pbOC~-)D$a
zEeT@zJD$(jv5cd>GFprpq`8RZS-J*26*OA%9WQi^WGNp(K#yrzR~JXkaZ|IFE97R$
z{FyIg?4)0_TUVL}al(e0Q5jSM;GQEI%fJ1?;Nf~ieeI(kQOJygv7iv78D@xM{EO|N
z@55d^^`t0xAq}8_Hh?&}i=)dc1dzQVtF>w<#=ryc4WVpPsS9xUWwBF`wy6xU6oXa*
zED=QLBaSZ2dv(-kG0pRJ6T<E*FS-YAoP%#;@KZC~<Vq4IEEf`}p|NVJK4G+Aa9xki
zqh-u5uwj&_TS<<V$p7=DW>K53e|cd{7H50BCjZvUZZFw&w+yo}3$ovha!P4ONnkwh
zNOY^**h(g2-p15pwrHrM7QvdRE^8GT*F^rcmq&@3{9W6d)K|hHG8CK*-Tr@*LSz0t
zDFl%WSxpq6dsS+FqZpF^&8uzd$cU)ws0A=ZJ-?{m_X9ZItvO#UmHu5h-{rT88Y;g~
zp*h>i8gJZf(1ev=xV^nSHpvpeO=O})WZ8Y-I_Wda18^8uM@2*?zhQg)z_gJ?(4lv$
zFoD4bwE(SUJQ->8nZm|k=yQclwVS3;13dskwHiaJEeYqSEWuo@4vdJ_{M)bAHuOUe
zutF3j;++~zoy1`YP1LT6N@jgYU98T(_}a`!HHf7V>S8iK@_)L&0Nu;<8H}o$OpgCS
z5L6Js+{nVHGt!<nW=#$5j0pqX5j2?r$HPQ{5`;?}{*K!G4gb?ZL5~{Jqw<TNsL${F
zKk@vI|4CKHF#`6gY`8C5<;Kap;`#LJ$9I5#xK&h*K<4D0eDsBUm=Y1i@|V9pv<Yk)
z4>VI?sX42%4qOm!4eX$3UcAvJs`4Mc-j%L`-X7Ma!(`;K{9bP~90j>C3wiOT5A#s^
zJP7px1Wqb#r@-*(S222x6ykvzG3(+CF5yRLM@KyWqc>(kBYypj3Dv+8+W`9rqoca<
zz5g;eTtn(wh?%$H+1gAM=!trP@3IJcXQI0!EDN5d2r&}NulvhBX{|kL?#MdhA@*-{
z73Gux7?lvc=nlq*i4>FQ2+}pN5<O%%R2h#dSEjouAk13bDDVo|MfETq13F<sqHCzt
z-K9z>xsbSZ#mvwpb+G_s9qNDR&4ois_4k7c1VNy{SV>@@im7i+&Ov)iH)m3Y%8;D{
zl1-DwYH$y25q!wX%4M!Yf0BehDI0U;oJ1EOgl#8XhzmS7!#Ia+hg3=^7zl(J*1d#z
z2jmVxCOo(`_%G)*r<<F!$|YmDQeLeA``J5b^hvT#*5t-`M>sMdN3_-lssPkYP>+}j
zn2-UmYq7#H!hLCA%6Jt}yZI{O1+=E)P3Y^+fBo%rV>z$wVVds+{7mShYxpN`cZhrQ
z55B$MzExfT_FAjKdQp56Gcbs#cbJ)o0rY1g#)NZ^c2_k2@jFe>N4;aBdIlp&tD#!w
z(<4X8UXMu=jHPE-FcplJkTjYt>e*u}(zHU8gRLBONT~%n2aRK*+=3Q<5OH)T7*7I8
zfj$bjM0aDeoE93P)%l<A$bcdxJ4CHR>JFXr=PAQrTVXD;le$Nmxk{2Sdz5nHq|$oL
zNvre6ygLp2;CtIMW5E`8<C}3%6&+I?WB|pckU(Z8p{?0ot-4c+3lb%EiaKKXZ~gV$
z8l8EO$-F>k4y%F`xscC$^FMm;z$576?eyywW<Eg*3fLTMFM>PcDyqSq8ObuUrf<Md
za};-RqexOA22_@IvE<ME+cJ^LZ~t2-RG`TFgVW$%>9NRC#n}L7Nq)cgha$sC?~gmS
zirvKIE4e9vI}AoI^fj%1*FssQT3km0miob4Or~0!i9!ZwVgN&)iE4{pnN(5nf&5rF
zcR_ys2aU~X4qh^3N!tkoLlz_v<{`MkVen<I{$OMkB+i_~;m}kug=sNX=kNZYB?z_P
zFx<ZUL30>+4~4E~<<lPxH@Oe1%<cVM=RQ>Du1(dI8aRX=1{NBvn>e(h5Sna8H^C*4
zIwMif;a!x0TLhq?<wN|s8cbbCSp*Zo&c{C-mEY$dbHYgY0&NDJ@T-5!A+!ghO!UKZ
z2<<{N94te7a7DxUhd$KME;KD9T1wC^06LN%`RG_!S!Di4y2t`kq!pIChPIll*}qE`
z@AB(E>WWpz>q^g$f7IhuLxNCafK33Sgbb{@=(Hl`_#Qc5&_m5B(LkFakW_x(e>TB;
z<9^bSOEyDtKs$z3<>Ed7z6Th_@Sdg%q#G@srkRPlcq`<!!RPcC+h)U1dB@2`ZUbo@
zN-zed&rSQ_HI%?h?-9JZ479Nld~hw1fK&P8$0f+pp9@)ayr~44_kRRg(|-h6D&A0n
zY`^~_$Y2DQaMt0E=4at7f6va|qyJ+H!pzdG;ZouF)eNTDywYS<1mv^GD!=Yu{|i8j
zCJRBZJ0OE90QvXnI|x@@k-o?NAB~kUIsRYi+opHTpLu)#A3=s$SfZj4{{|J2C(KGf
z?@#7m_;gGZdMn~2kpFf09iL_=K!QRaV;WoxsQGCfNlVmoI@CfaAULMgfASYTY6TwR
z>GCtg&;;s&S%JDzsQvPr#2`_9`R@e0&6n@suWAtbvOh1?>PtdQMB;y&#NV65_spe9
zif&|?CdH^RN$3;M(V;>3<^Y;8*0bq~0EhMAr1+)yh^y<RIA;O^Dcb3vtzg;@kiPWP
z!+%Bz3~SEuWiem|53HJzk$9a{N84gZYix!qSE41YsMFyB>4{Lp45rnpYiuz#Kl_#1
zgLYF|Py<b23x824Ft|wmAfO1>2!9g%Nm4H_nttVYS3-?<#B79@Ry(3z{U$1c?M4YV
zS{H|!wh>Gf?>Vav>PkZW$`Q>o;pLbK%>XewZS8>bQ%iz9M3WENJh?pZ1jSDDP7<?G
z92NcRqffsINr43!>C?Oq#fmdjDj?c)t2wP3z<_R}89|YyXKTp}z&N8yI@9Q@L1+gp
z&PlYx4AZ(plHRtWU`Hyo79$|_bijbLAqQj**Z{P4qx(Y?7PZjKRJabQgX#et1633@
z0>nu+Fdov*cB2!mUR)5<psSK{4gs)iauUN~Zc=*>M&~C#xgZBxfvN>khG!44T~NL@
zh%_uoZO1|`0vvdfVI~{7n50}}_b3-pH{3YBT&&f7WiBYSz=*c&TtC2qI3NQoFiU*K
zj`#WXPsG$CL6I1g>=*U`^MmNr8ohcyC<Yt<FNR2ELZTK5BVs7yVUj?Imm&w+=NEC!
zS^&7eb-cjDD|7&hZmk5|-&cghWru*a;bAQ!ly)O<NtBXyc6G<V(lZ2x3g~4TVIdNU
zxvl+8pdW2!RRTBWGl8pta}CWIcZqgHYxL)T_-dvdgCtxau;e%~!$r>zFr8ADHHyxV
zo>cJ$?J;SmTdbdo&xyo&WTsL6_ph}D$e#mR?^YvQL_}R16-_zcc@33NKu3gYuL=x+
z{i}5&i24}?9)3i`No*Q2Tm>SHt<JDDC<CTWBZw4CV<zA&nZu>Ikl-Ys<qVNZv$%%O
z#ds(Dz3^wuNwm6tz>{WbDd34z!lfy(P6s@}lv<Dj4<_JgW<?za5eBZ#r>$XzK#>)i
zQ^EzQayo$K7O`@y^KyJrg`JL2gjO+2anY1|I3^k=YP4W=47+7aUTAI<BNcjq&I2J)
zg>k02Prqp(mLI&mb8?(|dRX&$WS~%h>yUvXUo=P-C?#qE!H6aN7|6$n$zGyXZHU8z
zI_;_YtW)U}1WZ*7Txkyr7qOvGmD(8>V}kUSBEY;>itF`~f;|!hh$5vvO^EjVsoO&$
zroPrFy43unsBKKfYX@SvNp)6I%#M(W(8h|YOV>Ni44<ZEfoW+rTO46<-jtingh4{u
zedM@d4!D*k;Sp8>E<#*j;4?i8IfILnNvlaIF({W})>=2t3nwf{4SW-x5Asd82v=nj
z+7prh-%QXTLTZUZ8Zenf7NV#PdGG*Sg7+H=X{ex(8q$iN6^_@Gn=lkoGp?E>g4X&7
zqBcU}>eZC!Yz9A|8m}Xuqzc%naIR<{m+DN5X*Jq!MDD{WkqIM9wK_X3+QPa=@Sm&o
zX;F71Uaw+z=+HqIYS;yrlGZ13c$v`!xFFh*0}p5j0GTdOX($r8<ei@th6`A~N>zzL
zbqu!}f`)(Hbtv56?w?#Gn#+JJt||h82rrufAhiaUWk7&D14tWk5R(L?)&N45*$)su
ztHx!m2BfJ!AX@vX_Hw6rXRcJAR*7-*D5%^pEi$-)u(-)UYGx27vhQSpwMK4C<z-iH
zTn`j$CreVTt`^<X5ss$o1Or3Y3Ak!3j))P97i(jBWmvtQas42@%ZTnk1qGtssun$S
z{hCk(mR_K%2$p_MHNLl(A#uIrL`xyocU+Aank?4`Ei9>2jaaVMOL66Fy1YMgisF60
zl|hW<7S*A$C%j6%QVVscN)4|Q6LTfWMOVC8F~P}%g(6sl1#W={Xhg;35uCJOY>WgV
z%$GH5$I4a*7L`>l#K2Mm@;?~Ssq|RjUq@THhDXZ*G*Rz{Bi{KJti}ol^>&?TQEp5G
z;ziB?mX}adGN3-q>*0OD{}iY%Me1wr$Lmv|K2+a?9CaY?IR2-0=k-z2p`R6tO41OG
zw`8DFCsf=OEl?4b{IfQPNjozeX$BSfjsV;TAU_~2AfcNfgBcD$N6~?hOJ8!0w;W8z
zTfQqf0vCHC$7GQl`{P{5DeAfg(GJH}bR{5wRL~0ts?_-nVvfh)IaJ&txf?=*DnY{%
zFcQKHYc3(0;RDuF<69Ui-YBME=oyYW&<_!n!!7+nM9Fa$^#_Q*z<A4okY^Nak3p+=
zjn*rsQ^^>RMya3c#nWltRq>}<uif)?1G@Z-^Dm~ZA0)m4DO2Ah#)oxRFhO+nJzVfM
zVD(66)1}36D$^{w9Tc{CSKBHpFoe}s8Xd@A6R!aeV8BfMuvr|ON@~X=X&z(eNv-^(
zcx%LX65_pE^=eAp6fo<72%!LZMAd4nUc*uxa0kdT$Lofq)i;OtW$QSnv`BNjbM%~Q
zMvgP}9hWez(s$6^y_MS5fUnM5q3`I`I#u6sxzci-56hXnFY7z5vpYfG`7=}1V_C*N
zC7&l^!_-a7vdEv2lxLigB|8l1nAZ_5VN$2Iif|Pevd&RjYNVE2;k3iHyrEUBI#TOo
zabvIOpt7XgWq2adZ8Wo#mH?&Mic~5%TH{LSDF|$IArBrZXKO-zwM`6P1~rSyp@EhL
z(k=}OBj|O5T?00VRGKOM8)R@~w+55#Vs`HH8ie30^>E054I-5ipnrpd2WSv;n39Gz
zb&M7=@8;r`6Wb(01tgOKhB$R;kyR?B&^BO8Xl;W_u8jBwR|T>#gw-5Ey8$ZRSXXpn
zRg$g;Ue$lQ9@>k3G02a9yO`fRE)^<o{?jJ{HUx`$$rXp^b{RxpThoIGZcbHa7pke`
z@g=Hh8W^WV4MXemKK$VE74Q!>3jOEcPd%3bsF+S<-TlHf{>r(AB7^lOI;Xbg0Y!1i
z>1kFI(!JrYnxTKiEYYCcu*@<xG6|^lG;WGvoO-u$Mxr4Qucz$alodVdE1e=Gr22ZN
zXjkbD;Y_5G0UQ*ifUoq_x=rM96+o6JH*B+&T+X8o?0_MNDGlFxT%FY+9+<6J+H$?B
zMX!{hSK~kFj=H#0WJFT^yi<IsCrS3MJv5r-*YL5HKiW-0`42N4KhWX_i!XwyTr*f4
z=^zeMqaGOrHDJ&X@tTNU(FIwREO=ewFzEp3sCl`mM_dPMXYo++vV$&$)rP&r7u1!*
z#0ae>ji;RYw`2tJRhJ+Ot98T0LRh)44Hq3095w3EZqcZIIT%B5;0RIgV0u@Vz`IfP
zj)bdCs%0a!K)rFK=uk7eMXK<^NO8DupryuHK~^2zE53mqzSJu^M2b+iEA-$}HEfuu
zhvM<jDDg7TcGKSCG7(i%MvF6WDU246m!1k@toYRIWjUPleVjZRm#g+ERP8S|gvHRp
zJ+p+wey75HbHynlaMeCw7wY4K(cHa-V-64}o6R%*imFS$AsW=M{YAQ9FA#%89rx-y
zy&7xwS^abR=Bj<v<b~n{)cfBH#W{P(QW*UOahTafGjIdR!sbPyNuZWz4-uyeiCPan
zObiETxx>W!BBY^p>s0y-(T2qTIzl|{?3$>K9k3IH`s2lQd+1zO;e(~(4`x@)Zh&>E
ze_kLGh15ynN=bljSf+9H@G|io;SeCT{sNH|_p0;0B3|4z;i$r&PZodMLzlY>i4~}H
z*D|ezH%=2X_5@Ag#52S{_Eez(^}o*)3kRrm{MW?a_gL%Fb49b+Y1Iz_1q}VDJz@=r
z`GUk?9eA<0(hT|f)mqk$lh^7Skln}Mg112&Ul?|Y*kC)0t=ReM)+;b+KmH!5WvN=c
zRvf8!GR-#Bbbuk&ht`Uy>16-(*De)9q&Pt()`>%Q-xrnN{}+c89#|*-ES(dr*f&i>
z$vefD#K~&!E5-Gst1HD?Q9}Y=kJT-t-)ngVpyz&H%oolnrE&{aNJp)|6AWjW`odM>
zP~F@DQ)ZDV^2@8lm!<Q?QlIYsHu|(&-F$^OUo26-T`z{K3G2oAs%Jgs@}uiTXCd|@
z@kvnrC9H<uESlrNY}kv=1A7m7VYTRH(LD~PLY6CHY`9>cc=C!xsv$3k<h=xB!ZIYK
zS8{~~HUeTLf!_L}ZoXNp40G8uw*{*1Tg0(+yHX7Y=k}~gBFGC1#Hpfl|CP5+V0{Ve
z#!^bEuqoVbF}G>lCbbp`=M(NzefR+g)c^s`y0ZWbS9!z%EnaMe%@!tDI_WJug}jT@
zMH@s@XBaIP<zJ0)+E8G?`#(t#TyES@_iqs0BCOusAnInJ5$xxLyj#XjMqO=fgoqU^
zYSvi6GDeLR7*r;sj}WNc>>t))Vatx1eXCf$PZ1${u?k!OC`y|P8;dj=P-V<J8x6v{
zj63$KFDvjWsCL{c>Jn@f?pNKaQ1RQupqOp~?shiOdz&~><6L**>f6N1TofjdiwTep
z#~z4@6nB!oWG~AGI^nm3sh|y(Y!LggvLQ3>K`N_ymt8yyA;f(ia#c3Qv5)W$Hf<RD
zMI+1bK!ku)*~y?crY{R)(hGo0@S0aV$ATp~iKq*%7gKX#msG=wLz95jptsKM%VGxt
zBN%jAQV9=vpMGkuAZ3|0;Hy9z95r1y8zX^&e)_yCZSE9{=mifUjw30QKyxs|Zjhjb
z&`V^3K?+ni0n?VDJKzN_fbkMr;NT{3BWm#tqCWSMtvAVXn_(EMpm4z|6FJ4(!mYJX
zXi=Dz84AXQEyM_W0E<PuU)!KywCgV%Nt)EgKInx(?-EI$17j6BFJfhBq^{|g%6*Pl
zUl;Utic)4gz3)G{>=f3g;HOCZ5t0c9iNqemFyP%fsE8a2lLQPSZ3BKInz(dcSXI?t
zkV62(m^neUF6Y*iSC3$z4IcHXDz2G@Rms`M(K9Mv0O1ada|)W9=@@zybs4ZWkD8dO
zijQuf$9DMwGuux~yHWoRYyW!eoGHhQxO3@T=NQC6o<Tk8#81?KAkYyrRYJT=kuo)2
zqMU}IBK1^KC<t3qD0-$T6y)OP1+qxZ>ggNBJ~{Yld?E$AC=+SQCsM=-;KemWDvHf$
zzQ?)7qS?qi*wjH6B}k&B^*C(Tkba3g%V;fff|w=(W(6zIodmbzqd(AWJyx1mrCEX~
zkRe9QM6OffOyrsm&P0IAej=~wX9UCMGE}8!0GKvsfQ=vhoMQr~BYuh*xY{3+1wPEu
z1db3lHGm7qxBFn)(^erhM0P<9+?|9Bi~W4mkmyiir^Ljxr?|V$+-5YQNzR|T=!Ky+
z2n%)TO$g#>2ezKJI@n>6?Q7aXGZyE7E^c9Mo@VGsYw>5OUU00JU2_`w6OqKGOAcq!
z1g=Tua{#<ja|7&Oj|D6&gz<kVIjhykjlxye+zHu#+eYfx8*#V)?YPrvTW^OhKKd7s
zwMX0`hMKqk!@I9S%}}S`DXvswR>-f)i-dakc5#XPmbt2{H;LQST~~{x>W*KCyTqgF
z?6YK6UH(h>htQ3+k60&X1Kzv0=9a4m&XO&mAn<<`9^O1lo)E=C-;=YJem>%Cxkx@R
zNo_b=HWs%0O57W6{KaX37&Zq_&e`YM5CmBpo<G}L9Z}b85hKKA_3##v5%;JaTf~pu
z_4Xu@1S9u1S|VVhEqxf3g0D8K+wKz`Ejc$p{un?u<7f@hKN$g|NPkWJ?LILM8He64
zW{C}I<^7^#`erP6PvbpUk?q~)P@dCC;#1=TffBWWe<H``Kwpt0nW<Z+75;R;xJ5v3
zy7&PxMl>J~s0FJDbU<NCz<3ci7oL1joFp1qgIQvpbQ9WFo&Ks7OP{F@c}NV&nfkfO
z!`l!dZ!=Abl^F(WUkdbPxc1~-T)AH8eO$RHW_7R+OVMm^4X&-YuEmurvDV?*j_Z0{
zU0gTdn!$B5u321P!nFg}ZMb&gx;=-R!MJ%B*CDvRk82mMs{u<lu4{1Z!F4UJLvdY?
z>o8oe#dSEYuLGbFxNgUFB(5Lgx)-h&p&kUny(@7=Fu=PW*S&GQ7T3|ZZo(B2a&O`7
zxEYI^2XMunPj3sZ<8gf&*9o{jiR(VNzK-ieTtCEh60R2kfPHbj64%MNuETXdT(4KZ
z-wIuJtvc#qF}TWLH#@@{VH{zb)uj)MBZqEqCSk}MJ%}ja2z$=4mvpXA2)0)}(b^0@
zFz4@<Lfs=cheMAN_H!FU%Zv~tzuEt+Nu;*)1O|95mw-Nb59BiIVYV&28enj<-qzty
z=2|OpyPkId!{kY$d);z_!;S9nLH5Yo9T%%IVE=Eq2h7I}=ra+#+hR~L(@Iz|Z{5AB
zZyQ|io7IKeL{A3o=wPzx8mQKV#GIK;H>a-zfsU{?sK>U6LCFmcr66@Jwyr+hCcc|1
z192t1=sL6G-N=pVsHIkiAtP=>CJ2V9yMe+`AWTDstD#EtrpIRO=$Gc<MNtgxya$PF
zwg_7g0xDXBEvf>KqZ=Dk_Hi+@f#bqv0e&%q20r(=Xx<h0>mL_W#{!pxXSz{{?5W}L
z_F4u?nU0R8FBR@|vI?y8>XvI|W)`7P?N5jXG&%kWk=-8y!y2kSt4A7PMQs9(qKY1=
zE1!T>w?RGdgmA?=^~Mw8hj_a1N#ThNg$JJ$X^{g`r<vGnfJm*Tz8C?MM}QX{ou;o-
z@e4(OTh#*YRFVo^VCehifX8?@pd%^irTdU_)KlpUL#MU`%xa(+pykS}dbu#O77lz0
zkxtR7Ry-~0)VH1%Ee#>JZn-&Aq16Wl8z<e6y6b7tGd~Dk>OC+?uTS7My)bzzpw*^P
z5O>B!7l0B9l@l9}-C#3#SP*4+heg?d90m>h8dCfJNp$2GuON5kNKl_I)_`8UTR%>&
z#)wUY<Xgjy5U3^GoNd$<hnw{t<!(g&v3?!fPe^yf1HwqtaSP2CQSc@JG8ccHh{IL8
zjhU&q&)9&X_+K6Uj_AtG<+iSXK7j$1!}%^;ZX?Wa-2uAgW@jQui5Mid*UZE&=xR2C
zKo*oh#3}442zp`ohzTqo;PBOgXpn)cQQ(EdS^>aU4P2r3Rjk57lCGjkSCO-eb%=g-
zR9Dnd%{r<m@j3}rz-`HDxb!li0D?b&3hNNiiOgKxSsVhw0St_jz1W5y<W|`Ld~;}7
zX9Hf`YOL{Qwp=-%1D82~nd)}WL>p6~j-f+Sx#g2JcOs>wFAF>ZDW-qWwED7H?178J
z-HMWpEa`xm>TNEKEE&NQN==0bivVc7+Q2g9fC^YYGr`&<dJbj2g{|N)in(qYz@;+`
zPC;Vz>x-Z_9Yu&Nzet8f)L)+!-BS{7lObG8fX-PASAZ7MU)QObh*lX)AR8}MYZig*
z)CD!4S}oNP&x!5TK68#1-+7zWLC?b$+f2^=l2zo*|D{E|OOb@uw8YVbr!mh??E@Hr
zq0C@#YS1H>|Cp-LL$Di2DRLJkxrS~j+9~RNQXYz1N_R?qB<1LQ&=QxTeFhRK+Nlaq
zv{MD3Xs76>NOy6ih^NTkjw?AFCHfp(DdDLCP_lR6O36-Df|8x803|y$07`bM6b4lb
zFh^~#0IYZ6dZTT$fnVcF=}&&y*_WB=-y&Ey1-D!AmJ9iwM$f1l6m<gX0=?>2FNjIw
zDb*?UDb*?EDb*?6Db*?6Db*?6Db=YBT#xHycOTXIq8KKEg}E<^8$}HuOn(~+J#e1^
zBkl(8P~n%wh)ghx^(l+IN36_2@$Z4%)M7-yF6iWeQyZDpqL;-<3plizsS5DVL*j?R
z9`J;b{iWoC;tQAz6|rCLh4F*Q^3ZC<E0y@OXwNlzHPkhRV*G=!bZ8eNmZRx|L>HxF
zh!8^<>M<YFmu)wu!XRoMmOIQmnYSp4GeflYf>ocapvfE0TrJ)jZ5Or?0Lyi~ATJqj
zVT{*VZbVafKV2r^&M{SIO+y`~-ewmp!vdH2qpoR)fgd}p4Y>QNoqray#bs*7E21|F
zwv2;h$fi~96)~c#atwe@jzK0!oY8MX*2uIqQa%2P=&muEmak{w4P|9wyXYK&S}<)=
zl+cx<Nl9Iy7ZtUaW4DVTMNu6xIWV%m1;3l}Q8e=VD<A6K?P9OC4ODJsB@XhEpp>&H
zaJ9Ea6BB?=zbYC5V$Z8$FfIqZD(agqfR%x~Uu6e1#`Pp15Gwa7yzgVw)vt<9@eOtF
zt8mGlC)8hF6(bKZY87Y8C2%joMK}sevJOBgB>5dMFN)nQXVvOUWgagLClJn8J6C<>
zH8FMg8VPA_@ZRl)bO6&-O08#?O4YNkiJ3XPsI1T2<F~Q^+lO9QOA_dD51=7xW_xYl
zREJN)eI<)M04H<1nRBKwbg`M5PqW==yl8UK8Zq?X^|qU<=wtf(V5dHJC2<&dqvUx;
zxsK8e%l#mzr>OtT^X}usUdDMzrrBQ)n&;imw|#hP^dYYak0-@k>i5)%VspKFnd8eb
zcZBMFT}*)5eA4TpmD=;`&`<Wl<Sc1bv%SsCyCmkeBROq(t$11-a|ijA&GIHA;kY6w
z#%EkAJ<Hn<Z;y?+!%X2eJRO4-Gk)Qj-XtU(9dmmtn#?6;dix?7J5FbqQtfy;GUhh<
zrDk~hAmNCZJF22oVum*nsfWkh{Y@bkPlv_a7QfJRZ#)vf;r6a9G~Jtk)I(zKNK+_-
zryLgJwfUu{d1I0Cg_t|0veYzh98wRCxuZ>~ES?s|T-Pr&)f<fjaDZ`@g{FFAka|$e
z9cv18;OW4aoAC>I-Y6u@kGa_6Sb=`e+Z)LT#N1h?R41P1#oVl4YKpfP66VI-iIs(>
zc)duS6LaU7LWA)%JLY!yh4%MGAYoR_oun@Pi>O=HY;p}j;tc3oey;tzVMv%BbN8*R
zdOvSCQm4h-@upB0o~Fj!A%3CBUJnwym^-<$&}45YQm0^-g{pc}j0>C&<Nu7p0dI<5
ziX7YxC8KgH?tP2$$?`3H>w5CsUNR>k1++Q24PFO5Da|b7!i9lMN!pLuBu_n~$f04G
zndT<1%M5~gIzvuz_oMBw4;QiO>4aZsJG*cWOtbV=+91@{vi7qWn*kMWQony2evY6T
z`;Ispms{TvSPv8}3)`*lh{a?3iO&Q##_TR^!+P0Yr9@q_L)3=+qUxL-VsE*{Qn&0t
z(Dwm#{|@min)~s);<Sz+x0ole>2+az5W^Ud_q7!uc)`p<we1}Ql8^YSnE3w(EU)}k
zj36vk?}-|~GWb1lY2B~QfqmfXK9*^_tB2kbSRJR{eor*!5TJrs)Z<0g#f-i1Rno_q
zzM8C%{0t@q^)tiTvTYzGDuZNZnQ0g=+-(kIU1PgULxcc!j6Qr5_tYw;ah)&1OUSBE
z$_qeTaH$q{c&Igh6P<}^{#FbKU^l4l_?yVmDn+%cC890*Ksi1^ut0TZR3@GXV=FR(
zB&Z4gdD?+^W1<hZusgo1mM~v}@B{Tzq-$jXiU@2vzoG!u@eU2BX3(_ux@CwNy^Ewu
zzK<|>tLk}QbW}ljFe(Bm6uF59%nee<ye}GpQSLO2s<Yo0?dUA-xh~Rj9iA$hUIk}J
zDl-q}f)~L>svF-IH_WG>94a}ZJZPDbG)*ooIuG_``Q*Yr=(7V6eMI3gQ1CqLHZcb^
z!rhOvNb#$#`9QShcsOGwh<c&qV8uC>qh)Io?Lf@D_$XAUmF8V_#un~&+@0tfcrsU|
z8VS1#`e-8v8TC>7?q5-&#S7J;9h^!RNMxXm%!?0a1<=SA{9TO9K`(*MNhf!}iyf5c
zfXJE`A4Yuzo(%)C4%PI*^P=&BL@Wp{h7jP(H3JI0G=M2Y4?bRNO_rlx3`L@VapN=k
z;wH7Lnu>zj@pq9P4X+I#0CwP>=b1tr0_ws6YQNb?k7Ysq(HhyASQiQ14^wH>KSW)_
zzW&<-&D$@Vw`0^X{}2mv?u<l_=b$@Xkia-)soN(?(0R94jr74Z$#q;87j`2+`Z05f
zbg2y-5-9>k!_b*>G|c2d;Ajq#%i*v#Je8tgJVP;33WI?wMWFeRmV@pP+{2Zx(NoKw
zBTPcF(oF^!42bA}Se!^}hFw-`;$8ta&M352i3rqCcUV!6^*JrzoZ}}M&56S}!)+^O
zqXP;qZTQ=OVuYt!y%r#%(;sixpcsVg5Yj&lQeLxIatIL1Lk@3GX~;wF5DpZ)?q<M3
zrM!VvIYy^KrQr^7xDgX~=Z}|&47mq_21w#VP!vHUh6DTb18_kLjG?hObR&C(TU(?y
zlw;Ggd_p5$NG5b8`Bcojeq4+$2199K({$K09aeXLBwBLRM0Fr=Xc0GBIn}|yGFFXd
zo1Nv(DCQyteQ%{vf>8<JD!$fwF)Be|xnB~7A?nU5Cb@RbI0E5uq!)<tsKw(v&2VzE
zRYa|uIW2S?3ejdQ*lD4|`XLg)8npZ#${3^$K@KZHF{9i#!Cfo$fZIlhuy&kqYN!bA
z;nR$apx3C?YXAr?#IZXagv0O|oUb7~m@pe2!gw$-I6T<ybe#viFkBjya=whwbPfa3
zkUND^R__;qq21;+qK)<(_#QfEtP#knAw?q;>koDJXiZR+0fkWpuD4+$|3^LDy`wXM
z>s&pc;Kp~({3($5^GJ+tB54wVWZ3?LklGAKIz<^qs1?S+JZ|+KU^R&8xDKYbVe05X
zMGw}22bd1&(>xsA7wjPNMuP8fCz0+fmd;bk7;27~wICc+Eh=H%K#pwPDF)3kV~Nx@
z)WG?o?aw$x6%sIWx!wT`m<R+6<P~5$YzUmg5Dk0lx@!8r5T}@?KK_?DEVgrkOd`mJ
zbr!BV<`Z#3_ia^l3WPA|p0$^?p^DKDEUv**k9B<&c`VM$?XlLYH$D-I<G(DYY*dGQ
z3Uk&~XMZXt#~&=exTpBy^-ski<1eo^bzs{es`;+}#MXMO3;ZY3+9%~I{$8c_P0Nl0
zU2`J%U}M%wfYPc9zT;;#mA>IWnMz;wpG>8HDp&fLI!wsUUFyUcyZ`$-frN8}Y{_BX
zN8q65WSP1e|2FG;Fbw+cxz&my+gX`DPkRdKjl{&KXO{1&?CoWxCs_$hLL3$|D;uSn
z1Kz^H#2}0#E2YE-Q|1CA#={Yvf`P#igb!9tkn#sJxjqGYBFGkQS}X>khnuq=8(-Z3
zk4a~%e8gGm*Z|^+dDw{}+{FCE{-^{%Vfz<$=(gB$mWZnpZ23q|2j69Sy#_m-4P!Ty
zu22gQ2$wn7Go_CdCY+#5EI?rcNY}?55>T{SSpmG0ItO#>3gA{WQTSad7=$TE_N8kO
z{|N}xmIkT-Aom9$vj-3waz+i?4FnYEUjuxo19n31MBg0?IQ*A~#gI=xs$eTJe640<
zZhs`?kPk<4U^Uk)43tkySR6Ggn^>W@qi8zfQXo`Ag8_FY7G!8mFA{>wAJ9@0AgzVD
z3lk4!s~s9AafJ<Wp$?x8!-mX`t1c25Vppge@EVfrH`F!UsW`wu!C>i+rNO&mN&PM;
zTcc&#QSab+Q2ALGpOZ+(5!gUiRcA=<t!dKq2$<mZ4hKu@iWKT3rtJ<2);}9i&~G2%
z5U~RxJduiHgV62+mSDKrkinc%Tj2z}(EWRe`8FUOBzed{v4&y=YD8EzRrY>iSoSz<
zMV*H?N2aqPp+gFov6!BE{J={v{Op97lVEFlJ9mGo!G=4Y@Uq*?;f|-F29Y0z<=(w)
zsXro%kYS?J@ou;U7F?qtpjllSk@aoG2_DgVEy{U@l=BQP=J9QJF3lsJuuE_dD9;=r
zuLTureIg>W!>MxMST6K(4x1hji6MQ^tCv<d!KpD<OP-3r5^dftzqfQ0SJDC&7wC4m
ziL{6}%r-137!YsfOxxY?wmZ|qB8A+5Ae!y^yVZcrQt@_;dCh;5hW{q#0Ucn&W?~ym
zF2l&;AoDJ4dkW9TiPFS7*68W6$8Cm(BIyEZT1<8vo6xTDWxyK>VIRBe%ume1A~wA_
z82R1wESxir(zHkgEmEOlZH749bj5%(vQipwES})daKJ|w2UDLu=@*Pv6yz$EQo-(W
z!D+>U=J4;`kb=GHdUVRN1Zzb!Rw>8~hf$}*W#<I5CEQmD>WxaU5Ar0nO7Qc3y2MZX
zCny;|R1cwaN^`};1UlQ`d#P0`nk2Sisg{Inj&CdH{=Isvwv>BZ9LMOCa(A05#>OYd
zJnm<QqkSxz59;RkRK=M1z7<uV!FcjB8r(ZRu_CwMAU?xVYH-x&HrN}VP*DXM-1%7z
zj*O41$bGQs;fVOynAdE2I06kep@$=^_jCk`HXaqlcdLz}XmqaE`yv0OGCH4D_oZYf
zp!iElHjlfkrcxLDw*O?R_=f*v)V7byRs2m&O6w{Xr#}O8L*qEBrZiOJOh<a)aq${V
zM|#i^EO!J!+|v)(UzJ<hs1jAO)5m&uytjn)?mc52T|2kxGvFE$A6Ws{JOkHYcxXJI
zf(N7S&!b?1IQ0rBlrKqy{plaApx|Sx2WlR0{R}Vm+Viy7bEW=V!LI-QE$vq$n-lB(
zaRMU0U!z7f$__O3Exc*kb5rW>8kueS9K8Fjw$MRQ>Ytz39Pg+|tTR|_DxS1Q>(#c3
zGx}$>1L4E3sF4P5sdk^<8^D!|^xp8lrS~26vIiLXVI45?IX(89uf?Ypip|&l|IxhP
zSA9@fsjq<P>Uzw<|8N?!TYkOzm@!@NHG^cUKV6d8P*>!NSeW@aTrr`Km?IHi)1cY#
zT@3>b8eonz4)nr@B+8S{D|>j}fVol4!vntXs|jhfOhZ%d5D(}oc8H5uKby@5;#l%i
z!U-C@YtZM9zmGZ|xK(V){@j+NR=6tW|M!|cza?0v(15U)4?seq>rk)}q+B}eJ$Wyb
zZ8vNd4{pH&)RFQ70`GfxfE7`G<M<EI16Xw|Y~dR%{&$rExAVhFh2_n1y%W$YTnkmM
z{AsQDL~R-)Z<H4cwREiflK7^2c&vOwY~`ZjDgXI;;=lwsIwgLRAO2vcI%bwk_WQ~Z
zjbiK@*HI8e5#WpQKQE-+i-Jd~YQHVbvJAd9V;o#rf!)qnpQelH&(k0QJ@h{U6u`GN
zpsi57GT#~s+=OTN=<z4mAdFbVh~3b2nSib$q`x&3bg?K<x9?;GYA=FCbye5zM-htO
z8q&>hm7HHa?l_pNl?}VQ)QaU)h*8i@<XxH55sr+dQ|L%_Dtc;scmi4_8pJv*4`aSe
z@2*Ez*V!ngjnwkDhX9<7eZ~HVn%p39As8r>X1fr&9Pn}Fe}^asjJq0f`jikNE(4DT
zH9a~)OmveSxB#77lMR{g5CzQVf3SM0qSt^0{bk4<B+VhwM}--LmA*rS3Q@0dkHIfD
zHNWVgw7PnZ>>92u5X+uIfL-9-l*Smjmez`yOa&J-yhD93N3M)vm17h=;&Ml|YOd^z
zFaa|ak3XI(_vbqHSLe#1yjIVXKNoA%Z|2Eks~DE$@-0MVxf%;Q=0+SK&lci-b^UyK
zOzAbkxO}~RbfMuuxhU+*QJyP8ZN+G^pdo6q-#k=)E&jV&YEe36vx*-kC*?NzDaIYP
z(SI^})zAGWQ`?WrWq-h11jfh!IOl;aJ(+)#5DD(X+AQ=Z{Yb54qUS<PE?LAtI-1bE
zx2*J$BFnG)k<8H#9b>`8xF8W@kysh;ZMPWu!-#QMfM2}j*(o^Rj1z+EeS+B_2rsJF
zk$O0P1_SOjsD}@eC(dpPL_-$#;6|KqFow_RR8`m1*3~yO4ocC)r6I|dF(9OLY^US&
zF*U-})OAq_^TO(Dhs*X{Ku7BW_>LfUA!pzX4l_y?rB6KL;ruy9#K`e!d(28Sqg!Db
z%t4T=q=%&2l_RX~%1GR<FA_~yf*7Xy<RqHuLzY}T=9fE)A-rmyi?M5M`T!6Hs^IA4
zA#sR&j+0nR2Uu)$4C`wIM;<5UjgzR1pW4Dl?sOp3d<k%~T5*INmP0A5`(c#CK`;k_
zHSCydf`2=#wJ6Y4afg!L#~0!wzOm@<9|WKz|61;PGdubG_VLW>xN*sBsPreTqmzLx
zZnu#jo1Aglf-v-1WP?2TJsIl2fw^>2<3iHlS?tK}lZK9j_}eN2Xx`se8O5#HR*5Y|
zxYu4!^a~zz9Y+fyV8)7T>0d<n5X{a-EQ(*v!KOq4gzvAhQN2BD5TX${w2l>FO(8>T
zK!tB*Ca@>R1uAr;f}LbQ3lv(y20Wx@U!xffZhP#94J_nFx9Dp`v_o%=it8#F?$h-K
zO?<0g%>)xe3wf)Dm<}Ee8#X*v;MvrS;B}bc3apA}=MB2G<qSKt5wYH|jv*t=lFMLY
z8Y!rSbVnAXNyWtll+me?jvoZfxcVP1-}DMi(X6Hl)!^7DJuYw}3*2qSBGWjo`|^x>
z384Yx>h}nVClOi=>r;>@GZBa2WdaT_<Q1PV;w8$;dk~OM;wh{5Qh{4wDI`i_YJ?aV
z!UXD;!_~=0V|oHc0FIHQml3doMDVj4w268Tz8~V7G-pWeDlDU?Szhne;}uT-ga|gH
zuSt$!4FkH~$qTA50tqcHcY$z{rKP@ejEp0kszWv)eI|woWiV@Vtg?DDm-fk9gi6O>
zKuf@;38aAkfU>|m!1yt=I;00dr%9g|%okH@32x1T$@p-D1NlY`cGy9cfO4xJah4BL
z^|?M_sH#}X5~gy>EI98Wh6@&O*tkHCjNpQ!A40f9Vjfl-z*~kupI)VbL*THYTN4si
z<=5fKiD@KaO$5gg>-m`oz8hf)tj4}0pq6|h>I=U;RvwfPt5wx<d9i9;A-{`F3pcKi
z<D9YgK@x$2_$f|r%M%vP*^YVdZ{fU4o5acod|~t2N2v%loB=IQ+@i#p^1Bh_mKd4z
zt?J4%<;(v|<!_DIwf2xu!&k_hcv$T?Uye{`o+lS$s~YaVqn`SjRO-*?$<_G<>1g4s
zb7YfH_&r}m&y`Vi?`nCWctPhBFR9qMa;SPVCyx*R86D&nJJoxk{Hgk6jhv(G3*@g0
z-(Dln6zb7$$X~0wFOa9Hr!JJK+^zg5F8DHCnIw8HHNa8|2u*GjjW5S0b~r=9eX-1f
zFZjVp^40iqavi;kM4$+YlKO)FMqn;kxCC^C9oBt7I!a>Ed%uz_1YD}yA9vDN$IqA$
z-fLa~zDr0XL)Iv#LE&n2@Fo`G@_AIP*QaMO9;`M{jKmvpEvKM9zQ~5>K?4YJ(L%<u
zk;;--vOg!`t5T@GPwyiLxdGBUw(04qMgJq}24lbm4n(5xZRWf!0{t*$ATz6@L!A1Y
zwD5-Njs}bI{t!$IXb*@@TNXv4UU|Sxex>Jhjv3$>Fd3ki`*#80w|6;kz@4wi@;dMV
zIN4!T->XMJcx&;FoX3y03-2PG;Fc3s>jXex;_<@!5Nl^8K`;sUeDu3IMLQ=<Xq|^-
z@ox8VL2>YXD77RJSsoXlN@JI-1g~i=xUx7d5R||x#zpEES-k@}<n4rT6ZU>c)<f#z
z%qV|gFc4Zd!XR*5e3r*;_TcmZoB#>rm~q*pE?Q!@6y!y;&VLrS?VLO}t{!L#bja<^
z>g}e$&=$~lFZMq|3HB_{O2Zb=iXr2li`9P3f$7Y-ra3TEzS*p{HU|brQ35(COQ=tp
z1H*B+%dnO}8(+_B35*`YV{V<;RO>pLAapZ(R}S??n{906yN8B)S)G=C2NsWtwg%ee
z^UZ2lYhYp>_LWU>g^9pg8W8WPW_5OJU@xpQveG*=-9s>yHQKPT8n_!d1Bx%ywgt`;
z(BlhNwg*lUW8T#zreGTuPg+g?Rb&LvjX|1DgGYZY6BE&Vdm3^QhVpwtjm-pRwQ{!=
z`n%dlCe7hXefW_oOt*)~$M#V#PPe;gHAH6E`_-1-d!;_!q(0g^&?(<*R_&t$J<K_8
zbf6O_;hZ`;FgRYy21Kb-$Kl)FJDb&S#symC>K66<xWMdTA2riUt5?ctIRwgrQ8B{$
z7~cm2<Hjt~YvW)7EKv)_2L`c)<>LdB<t?Mt&&QhzKN@c;Y@84{PK_TF7$;s<ClA7e
zd0AaODDZ`<SGXIiw-3}L5OPSSUs19tuy57NOh#;pQWlCw`ek)cQ{bT1Ek;CK<zIPX
z5%Rrc0T4G)*zmNoMu;~HC;V6r6LMXfy7XFku>3)rdi7eVyI=Jaxrxt6uTd}jM0OD3
z9XH95YVV)I05c`@n_AU=tBmmVr9YK70%iMMCnw5R+e<~u8E(2xUR)}=dV_3HXWt^z
zkr6Nu{|-ZUxO(|kIY{2%w~7p{toD)X<#1H{@%8ff<Ugn=T`&5)|87fvDAckWWV`%G
zs7r2;(-Z&XyNd*PP5NU|c>V_2DCLja)sAOngG%0rK-G2a93(1!9GV;2Roip2r7-nI
zIZ*_D*3SCQyGhmsb^?@c1In#_F91rddj2Mv^0BZ`{<REbtvcyunc$nVZq|_g^k(_v
z-MZP-@-M)L1)k6{`9)gkeF!>+YJv?k{}O7$EqGVNH=E;W#Ev9y0e3TVS)<?E0QCQ*
z+`2~5`VI2X65cRcWt0!QRfBZ+t=M7yiBON-is7w<J%wflRW>sEHeF!xZF1khn%_Z(
zP(Qj&J}9=SWgAgNacs~Akb1j}vfItK>msvnm)FWqg?i_9IXm!{#^<CvWLsi8kDP-v
z)Z?N~yu%FHg?Gr~<lhFOlIA;6UAvlnr<@~J7cRR~eqFHIs!eja1g3JEfT>SJ;f77}
zn~uat_uhp=VMzu1-7Oc$e~QA|yXBt)RZm$iR5zS|Vbr6mo>JeqPmUCi6mGju3P+wN
z)ungKX0`1>8Or^^;x|A|#<%c*Pj2c59Hwih_XmTqT{k@i8rM$!(%A3bntSvdOJ}f{
zJd2k%{@%>FGJhH9Zs!9g*KMxX;cp$z`32wq9T+@VyjJqcW&hdkjWRiRKDcWO&tZtD
z3YJ;a7C+@TZQgKG>PA0hoqxU2uVr1awp@w*Z}ow@-CWbZfHs!igrABAHnn>rOvP`Z
z0y-YOx9-<az>af?F7GP8n(hAeDhvh|vYL)v!iS2HS@XaNyY{Nw_s_oju+1B0Kq=>Y
z(uW09vIh1KPNsl_AmiTjkUZ8fkk_%e-Y}5Pt+JD(Gk2?;Qu|NAh_~eD0`SX;i8oho
z#m-dCTDS{FvzGU^%Kh!ZwC`TR)YR%D4YzLjlEk6@Q0}+*h<)xsb?7#k7hUQv+bZVW
zyT6gGYQ|%7zBK%$Uj6JbIhM2k<;Ub+K8qQtyvOBqGO!CDm+iapuEL#<%X`G6Qn$e=
z$VAayYE!0n=2ojkkh#!_y0vEowv_J1#wX<t!Oma%l+2>@SWBgqCdtcc+rwOc<|#RX
z@I?QpXZZL(%GX7wa-Wuskv|m2OnFb^%!)3x^=Wjm$RED<2)fwyC%IK_Xj32j2_3k-
zjm(!00W#k^+f?T>nAP2?^I7?zEVPkLx2J#AFVkIZ1#sw~<m(lu1)BZW(ys%r7rr2u
zNEgcyy5($WRk%!{gVyvzcPGtmJpK~&D*$rz%d*V}M3ew2eCuU-q+lERwE>~{`mQ#G
z*B7cEydrN(Z23J!ui5&4w>o6IJdn8g-fMD@x_i5vK9FAVQK8{giPPdtzT@PTLksV|
zhJh0wDZH3h_~dmtwDPUO+bnFpTmB-?)#<%&$p!Iu#Gx2i8=4i^-6e0y2Sl<o@YHxd
zQpdj|XR`}8z9WlhDxw-)*l}c_uJG17QtB%Ix&w5D`7r)nIYfM09s90a6y4CqLvkgE
z8CyqW{cfXG`18B6QJ4PLU*%uK@73$?$<tG1ARYi0_`X{HH$$-+3L|ZcP(a%DhvFaa
z%QgLb@lAE{2XeUlxvL5v$i0EG!doB6OJ%y;$`*2?`wHLrP)?SV9b5k?=ZlL~)5n;^
z?+7*JW7#Cv4p!GB?M}7&V|h5y{_Mvfk&io>IGoR4*(s;Mz`l7WG!1AmIf=Y)@03Zt
z`(&s56*P@s{!31t1*I2pk#2dV#L_(&<y@@t*?O|~<Zk@`p`mKOPvks#u?9-F|I1IH
zXc-{&^W;zEX@KX}PXSK_m>+*C$D>bojIosvud1!WzEz$-nBeMCH%t3X%(?H|_Lux#
z3{xW=dp}M<-TliPyOv$L!Lf&-OMh_e(;+L>0Rg)OQ@+p_upbgs(tf^|JzRY;WRI1q
z1Y_aBkR2Cdd*P|DJy?kI)Xs>V&6S2>Kr9UOwk(t0@-b6RfvAJFnlKWfoIJoCMJq&X
zIL2dl$j5&YwU1|~i^J^D-kDIecXrDC)YiD2R^N)*C!ps$V)owb=(t{cgjx`{t5WOQ
zJouwfA{_+?j#`+s8*%o@By~yLz5^wuChU>v%1jm{f*KXKYt=DHe9Kw$M=1N`G7~(I
z;YJi7uD2&_DlSz?dnl=Ma?+mefQ)Rl;uGki6*TZj(w^sQoNXz433jTkPT6fxcCJa;
z30u5YxT)HHF$7iRJ56@MMwDYln?0Cno9^=3HalG&+Up)|vq2$+ZS5GdLm*mHMTZcD
zZVE2@;&Y{9<M9Efp&Koy8Rx=L%fZ?FB`pUh@|wX}bB`L8u{)weFbsqB2o#RZ*wHY!
zcL6qdS}WP-46|E&8C74>uM5`?v!Av>rswSi&J6HDY!_4JVJv1++@0GC>kNpyuGjt=
zpV7Txg@Z=f8BzUB>GfoW#vc+i?%*UyUr;!IZ@dt%t7}KwGsT7K&C&Lz!S{BNZ*{nh
z^n0XWUvtUK@46^zQa&6Hb`>5NV~^6zYv)*dw796yJI?O4f$k;y*kK_b>r%@m+AXbr
z>Y}ZN|2_7Z<L$%IE;V#ZD*_j*YbV-22CRj-lk9_q_?G(NzV<2d-7b}!j2ZP|S7G>M
z`!RvI>L>fzSBP&HF5lmdiv3EnB7F~8*S*x0UhMJq*;QvL<@25x?6sJ;&plXpeu{mH
zU7mR9`&bE?V1+hz^<Z!8F4chqYP1?wuC{zfs$d|eIQOWHVL6)~>&I;yr=y(f=%|#n
zENjD7v>5<|*jY8he%U5-K5ULXzjv*41Xj26j}a{7m7NwH1@MT|kK|OS5|;O0!_|{>
zFexz9Vy=Bf=2}_=Fym<xS8$Wk<iA^Onv3ke@1i8=f-^<iKZTlk_78-3M%{9NeN$7p
zN2Ovuk_%_dM`4yGsPWBhfuIknR39INU`rOkW`xzU0p%{R>m4lj592F{v(-fl?B4P4
z-_iZX^8!4?bm4B%9%eBQ{zDR(?ZM3hzxfDj0fTW2oWP!IQN4%Q-3K8%qBk}?G|liz
zGf0Q;9JxWgiWg4p`7GEi7i2>>O>I0k8)j%4-|Prqhs@YMh^5(Fv8lKCVL^9$OnHlK
z1P>=#3lLjlgd7e;I4QNK6Hn&QMz~A{1XlfKp*=cQe2ZQ6>YBsty1fiA!VAq$;Crb(
zHV&8Y7)r;2S;?T=f_}|7>g6xkHOc;HP)iQBhvJNnBASYIH&xWF^-a`0l`3(-^h7;-
zupMprECj3M7won{^r8Rzz?}F6dngXOG{C5jzihXR;5Z4QyGo-wV*?5uwb^42=lAcS
z@%HJVwh#pXQFFKvr9*sA;xL`0W2KWRa!kh949YytqY5Y{m7r)cP{8od*j$2y3UxSz
zb7Z%&Fev<?>a9R0TnBonrV4%*3NW#9?QV+F&#6zq3#;cB*^AWTL+x;Gn4vT56a@-;
za6mf;S#YtnmR<w53gQ*O8;KXBMmm_26-DwD@NH@sqJRNrl4VvBXc%zFlMjOrje2E~
zeV~R!T%=Aq)Xp}79uS%?Zhn&V*TJitb<~d!wMXE9yvGi;Tk%Pz;7pvYFX1kO5d&{A
zH~g@tI>m)2-#-u1PeBEUs`<WNod<iw5QwZy0W(6-sF=botQO;K7gchG)9+nsBg_;R
z@g;ToVRmMpa>Y#N)T^w;#n^eh2!mnH;uIu}8=fI*yD|0XVfHEQaC38_n)wQ3>e=cy
z3&x_3Io!^=3`OlSB-mTz=PDAys0u;==QMLxn&mJ339wjJPlJiT9HLd^8<+|hJ#Zd;
zXbvN%&oC)FD=h>`%t<4Lj<A9B#YOhP>N`i+$pNPMxC(G!_8M?(&@?=ZpFv%k{otrO
zGcCY=klU1XP!`Jz%!pu2{jELb86yf;H3`f-V?09@!eszTcFDCXDA@%9T%Qe}K*rEM
zA7=!WNDxt;;<#$6M1vT^eo2~!iklJ52*5%{L09<s;34wwLKxaNkF?urK=C82gQ-$b
zB5I+iT8^@3rb*!XxH~sEf?JA|SZ>#-ZysfLL^Ku<p}SJudX!z8BO#cH!k7wBKqN82
z#9xrW1rbaz@fRWqNVQ1e3uv!6_~ILq5L<<}g2&OgaQ9I}V^+adb`ioQc->|flLM!|
zt`7czVRDMh;gJqYbIJhN$QsOi<iK<=ISiBGVYpB!^dc_JYakQ(2IoK#%{T|@dBpHB
z7ua&Qba5V(gfIF!7SrB)ofrf-m`W6|jmwcUm=WsLlkA4eqOQ96SUY)4C%=Lb#1{jw
zdmX!$k&81s%sGdE0;!5;M;kg0(jgw@PCu^CpaAE41jyzf80G_kT6mfjAnweBm3N#y
zD5lTr(X%0}mL6vxzxS`GaQ%`$u(C0A^hhF(MQ)~tP!AwcXjlaJ*}smnkL`;1L(4a2
zcu=IwPs|V^^ZASI{ji4dw~OtXp5mu4bg<j7DbS8ZhNKyfegMBh6N~M0M7VJF5<BUL
zpQ?+O!WMk1aQcZf*1oNtUu|D3u2wr|IJeTyo$0(7ctdzQA1Yin%SmW$_eZlGSN^F>
z-8<XK!hC*hwnNQUT{6d+n}G@ktB7uNQmkDu(=HO;FS@*_x@D;|T$@W>bDhahqL<Ef
z4iMryh1=#iAtCSWQolODX-gX&ylDMH2Y=%L=V-C-cO`}y<2{9J6WHmoCvdR?;yjrk
z)kmDLY}UBh4C`PC$)bctdp8UKb>4x_cji5VA)|-OxZMK%t@5iL+SMC+yPvYvzn0a;
z?GF`>ILH}7Gi&vs&Sf@Cikc&xzp)45qn!5LdZ5N1<-9MxqlO>t{2mJaKaO@_2YgS>
zJ=Qr9CtcoptkW?Js<d`&hK%K8yq^984Xzr{?-f+v-};04^jN1Qi8LHeR<g5tj&nLP
z_mbT1!4H&)I^#`6y@>9ZY?nNxzH*#1OFq-3?mP}){#hG4winfYwe4MnSC4a+2=U#*
ztR+sHXve(omfg^Pu=HRZ&Z_j#`i=MMD;mC3tvTLV@!5m^YL^$|pm(Z?Uvy$5l-XZ&
zzTfd~mtG>}ZPt{6S%$-q^(<ploi0AuM1d2W{RHg4=}VnIi3<vCCp!4Z>xG4JUvj2O
z7;<Nw<lG6Y_x3sU_JuO0R-f!lQ<wBP)7ZJk`UdFSoy&lGj?mWS1B?*f&Ji-bx-j!(
z$I+C2z$s1(DZTF$rx}!f!70uQ@iGO#J9Fx(&H;ODt?>4#&ID~YcCU2kMOn1cSwzp-
z&sI7oh)$I{&3POY@aNN<t6Q;I8-0dSgkuaTVsY~Ax54G$B1T|R9d??1KGs`2bDF&X
zmtm`*@@!Q{tg;WpW!o8cquRX6J^=TL)9v}V9Cx<ep#JNtc3h=$c1V5mbbA6)Q~$Jk
z)c>50^>$lT!x{DxvGwv>99O+?x?QhsIm335jJi(1<%OMgMtyvm9aW3JYG=gO!uel?
zgU7r-R?W%T6V-yV?IaS=(m2rc6=&P8<0<zw`)9ZeJ;(lr$=s;!KSzVy@O67>G3oNJ
z>m;;Qr#}9=eHYSyaV`w(a#v;+&_+P?Zoy(?65JYp^4;hY;IEB~-rN4TdH<Zr_lO$%
zj5EKzNLkRh%2dTwY(7=}=ozO<kIGA@JMAiXhLcjSJnM|c_%uA{9LDiE^*QHAj_TIu
zz=?L9AnKpbInRJ7|M0x?B5nUWUohP8=@*<9(8vcbIGZAR@eHQm-_^f{2bPfLmy8H3
zgXiGk5rMzTv3XgxS^=Y32x(*&LJN>|STS2BGyhI~Z8gR$ulcj{PyjmbdGqa6D)p3e
z47lf4o^q}ia^o=iG>56FPdiza?}MLXXyKVYdjpR-{`PYFa9+26#lBbKaOvw$wR^>r
zg+HBYe^qAh2C(Vh;Ah9LML2?kooVtWbCGjHu;)80Z(E%@@qGIxe0hsp*Lw-)_}iZA
z+UlU6*$ttguuzbuj`)V%e!Pxf+f<UsX`zl$UqAugmNa0<SE%PE9k<0J1SlUF!`Jz7
z8!f6)<n%AasKP)QS6^RdcjR7*7!l(pjB>|kRE6XG%g<;s<mzHt>%y1E#@jEUex|*|
z*|iyk5YH&-W;%hv@M6O{fs|BC(2zvN+qunz(^wbK3~;C=|K?;vu-vh(5o$Z;FxSJl
z{7iyYT9FOkC@|~HpxRKqhmSZ&tC{^`1=g%=2&J*#5d}lbvigfxSQNq)k7-tdV^VA^
z8mqz)Y+x5y8y=dMm<XZgB*RuP9N9M-2!Zq4rcRq5_G6s^)ae+AaMTVK3>ja9;2Ed@
z5*0(y$LZ?iK;c!eL{m6WaHV(NC-w?*q|s2%w$%VD7;^mK!-Ii7mHVch=E(Dvy5gJm
zkQ~1U2#mv|V(!ZE<_DoLt|lF~{7fH5iL(;hB~3bRi-!zj>0OV#t;UQukMQTfQPxq_
z&gub1&v>r~-|^Pg^?BUYkEM*JUM7^O!DIkzSe>fhYh{X+u0^PpY1?W5#aaz@NuM_f
z71Ur7Kn>=r0@Mfr=h`|{gW|J|vV%RbSfi}}=47jzvt0U$m=dXhA8rgT%W5@IARAT^
z>HWaf*sshgv0yVmY%adZZp#6+e85^2NPR5HPC;u$VZETyFRUF(5l%H1dC@(dx#FX~
zXp{tqhH5_@x8*M^5Z`_}Zux;vq6SNzH0pD>$B940u|`=+e_PSuzD9qTAzQ2SYuuv(
z9HCTxMngDZqx=lmstxLO{kl$|KH#H1;B7FdFA@fh!(s|>U+xDJfcqk^&=nE)8*0!C
zJ%_L=3aAIY;~Osc=nHWUjE74YH>>zKjj*76lqWpt;WOWyM***TCP?0^g6{$<*v!N*
zqQ;(yfx!e~iIlqOBD)c%^&h>_ZsB-w_VU<ZjMt8f1{kkuGuV38Rt|QQ<24ioffKCi
zEsj^Y=fE9%#Bs!JU2$AERqFk8+%^=`E5^%wrj=N4aO?f|0Hc`Gd%9Y)Oqe^~i#2`S
zmhPAt5IqBUYyA<^?&%`IwD*m&_@$jdxAjB~j=079S86gizkDyTtp*D}0wb))YjBip
zVC-n?%^IB77VtKiuUnA2X@*7ko~|BmZvx+8r`$ALxB6#}T7SD;w;Q4BsnQJA1Zr<#
z6_waad;8B%^q{5*Wc3D1xGge{02Vl9Tm5w07LQm8&>z(9r{mTw;l#z+8X5luJVaUl
z1<s51?`quQ5Y)T7A|03pn8=vzAlBR5R^E5=-gVn~KbZGfH^ciOyf@>K?c%*2ubh?b
z=7SlsY!C0zuUdboDxN_NQCH_R@Aah86`5y%pLTU4<{AC0aWw$u8ThDkHE`w`c&m3i
za=Jl|lJ3PejG>F(fFTCFwHk_&G&Bh`jgi^F$s7=%MP!*AFgeQu!W`ZBq({FZy?rID
zPB&#H^p!{!WQg<eAo?JpHFa(SXIV?Q;^XCZr1gN9GK0;a;SgQdZBZk4*bTc;QnTB#
zE6ddUwuMu$8|8t)A`8TA8AM<j%&9m9i&IIj4sP(%F$G)xKla`QOpdF%_wA~#o=5le
zOpo5u=uzDoNh4dbWP=}AJX8vPfFXtixR4hnaC1N=hmbhLBsML;fRmVWlweXKI79>!
zL}CYV0+Hbm5J5={As~Z4@I7&e07G<m7y%{-Y~cR>YwfD89*u0{<lOH&-#wo`O;_!z
z+K=^KYp=a`F(mZ}Z6%SptQ^<sl3H9`I=qfgKTH-pJ{=lz7F-`#5XLkXoDD39&@vW;
z=FdG>EVz-+oCSMp&BQ2~@c49v37cX<{do{3GyyhXKwUM(ew%cvHS52wLolphCW3wa
z*wMIi)vs#P)X|r+!j2u3G&eygU}L)8-keBh(lvTV*_&eCLRE1&Qy$kN?$u85l6_pR
zEC4L-4eC&r;xY#(BwuhfmjzdMN@`nL64ml_KDxjb2gFbn%q!HbOjqc}7-)^1A?aKi
zIN2C4Xg*^~M|JNE^~90gJ2Nl^#s~D#O)K}1R4=u6p?97`Z(Gv9+<TYy6*%r~Ex21R
zFwV2mz}>nB9@`4;);)mRE=CP1+nCo>YQem>nY2%}&zDfQ+JunaUzQe9ZgINBLD@%M
zZ4FRelb#i>R;Js+)l9lQTp2^&HU%j`iXwceV1$ME!o@{+Q4FMlGSOO`=Heo}A<U_O
zWNqNDo(ab)Df78S3@X^pOtHNovQdGbty2tsubUq75xVO$qKsN7R?9{`dU|xJ%@hW=
z0%;|;Bt%4m3o@<3GAgRVe9iCGSM-muQe%`zIU74*blV;b^Gs`*cWzo^p`o#YsgGK~
z1QOgiuak}NAbVNYtSU$@Yo8qxI-P9PmMvMj7;C*)XobC1xDhOQqu$ZJ+c2cQvC)Wg
zB1?fn#n>lL#Sqc_L$9Oxzpl<@U&nNP)LYz66>@wqM_}w!N5Iz5RGk1e!XJ16jKK7F
z;RSFsIDUW<4w1l(E9v_>4jL~!g6I5xea)tEjw5(bp8%hOI`iop>&yCLdbp<0EfpVN
zu#;c2v<DF*fh63x=Sy{PVAt69&<wPxOS5Za?VE5Z?3%>v8chP#`exX$at_1BTp<h_
zHn}mO+UBz$R58K>LzTuqmJPK+lvt<5jFUYSo1jnIrL@$3VI~8OMwz9o52)#qd7j#-
z=rPiQoN&jClr(!hDq~gKjge(Yxq$hSx76281vKEQ5cr!}mH+6E>#OF_dIA8V=X5^W
ze<(iG$RolB@N|4^(2_;)Vax+Q=$_$Yf|`S!DLY)8QN;#vUsF08@dwy252Ygv#~+wN
zF|oP^<Dnyemt|O01Q`5{otgJ&q^t|UeK4LjzL2wAIBXz+d|x4f1=TF|b0n~U`x2J4
z)w_0RaRs$jb29J)#d=A_2gfzECQ#)A|9f#VU_IOob1w4@e^8(6oBuzOF$H!u!@_N3
zRM|cvEYP1k>LA*@3~No^_fQ!kP*gBfhRv2p68l7ve~a0cNETPiw(r*Q>&W9lVgBy7
zV#Xiq?1(;xFca=zyM2;t*B6~~-VPo|lHE?U**YslR_U<Ht-~s>bXw)sX_Z$xu5#;m
z(4b|f^uT(r4=N*2Iku;ZjLINXjs@!F=$0@zjYVOI>%+LD>uzuI+7aF-BR$Dv&)L>~
zed(Gc+s^~*spJ7Yb*<&)HZqknvTC_O!sSO<zNe^X?{GaTcL)vFv!~Ak2PqE#X=nfj
zsvV!+5gnn|A{Lp_`@^-g<{l1W?M^c#-)0+~Q@CLeH#)sE+U|_7h`B(m<3t=uD!~cc
z^AGJ~dTM+A!+rI0pS(RC!<F0>y}GL<kR!Wl-3?j|iDJ|;ZkNjQ=~7f<gRPK)1l)(w
z%ttv(i>wSGruBFXU#j>9&SeX`^Rb2rB#){!Xh=q=ka<4*SbitY$B!)`f^OiN^~a_w
znEZR$g}AlI>iFXJ7QH1Q<kY=6`pja&G)aGR^f~#v$>!+Gi}6LAVT^<Z<YP=}<W?ay
zF{+Vfg)CLJ5ChH!h~9I6^h+9Dkn>N&cop8PlD6@q^<C^z>Hq231%vf;{1q6|?7Bio
zs3IH80u1crd@92`HB(*@5GCI|wPZZwJB_Ab&ML{D!jF+zk@NX6f9sp;i~E5Ei&y5e
zV71))>?~L<uX1207l~B3E^@AeP}wHx<d4?9de@5UyX#RQdmgvvfzg*jdtI0aTXX9p
z;ELwa#lBHxFazWf8*2qKpa=nL5o=*kVjy4-NQI8bEmo@-2*KFXWf2^=ATFW<8$(q1
zaDuq(r|ePOK@`g4wlem~bSR`$5kq{$7MxiO7;uHbKsV(U_c^=i6pLYD`^^G~2ne{I
z0HVwQ(uWj#z0&P&VvCk~!uE<f76>_m|GN<vnG?Lsz!;VCW|s^OG7YB2C~IrY)`+n+
zSk}RUTCD?*s5$E7aStnEv%vkoPIb@I=ckII|D(FW+W)qyJ6)`OS#I4m_u6#hE*&C>
zIJpjC(y_x9rU=BeQLxk6sl=rK%dyeTn!wRA8vZe#b7h)8;T!dlfvE8L2D5?91cpz`
z2)fN#*tEl_goUPbhP{a)VWGW47ZMhQ5W#0FrXvzI=o|=(BF4{zNe~gN{GKl?u<5P#
zsUnhX2F}Ct_;4gbB-<T~skCnbgA>N)dwdq@pYLH<elo)=rhG=&f<*_?b^xs=9~KS3
zhY$%OMAHwdXgr&GDn`=4EhObWJ3~^0StCY?eW7?Nh~%)s!&7)a+#*QWOdJW)YRRrj
z^JIU0#nuge))w0VxJiXs)zSt`CSRB<oW*)Uw(nh{2YI%?epz292$+3{uoRrF+L8aY
za;RdgEX9QRKXM4tElruylKJ0P4iS@A9Qe9jW3R=EkW7;3Nf14Rh+XtFkTv{=KiJ5^
zMbGG!2%}2Oh(!e)3a`0Nn*vgN5i=!Bc=Dw1k{6adh0K^g*Idj*%%5v6qW$g`X|B1C
zhhI!LasqjfH$)u6RT*gd_edUu#*pN}^RNIuftkL=Hss7dNNi)i<YC)+BoF_AtlYJZ
zW|%a?A7+^moWZ<nO6;t)aY;vr^@$St>?X0<bi7Xv1E;zQMO4)E*duT+EuhgLzKA<=
z)<Lj=TBM~dH5-V~B#suL6Mhg|^el+222LLPDK8l3R8z_oC)UyzzTMgqwsmDO&NVLN
z*jAl-*jeeJ>N!m{tBYz9s^M6PQ>xjip-Xye#RxGO5g?PtB>|$Y45-$r84J8J*ik7V
z5Rj(L{FOKPER>fa`9;ja2i1gB4hlmxHW94Q9U4?W(v)158qaL(P>#7>(6Q~af{|(O
zQ&%xN$=*lhEEGf#Xm&6qOeaFwXkl*4Q6B{8tO8e`x-0^w-cS)R9kqa|0<u04%zjJ6
z=jcu#;?Z;anuXFnS%HW}6GEj`FCUF?Dce1H5!omZ9shy6BHoJ}@;C_!d55^$Amlxz
zkoSz8xXk?iBCmz45Go`^#%s~8VjTHPd(D!Vnnp})-KDPwdUrs$i_VQ}SoEpcOhN6A
z7HSvWxn2rZ8*aJDG2btDBZr3sDw>7Q8zL3w;FB5AI(~VHu+ZS0!lAF0S%gF18I}H+
z-zhSpe%`bcIwKth&?i|L3n`DGP}qds=S*6Xno)#JG{uTU^fOEn=9l6dl_5hE>FAOj
zwP{^K0i2<tsirKsxQ&A;iS|YitB@a3M1!mSG1odq7*lU^eGGYHflA!7bNNzA;q2Ot
zOGzY1vUib7R!CM6Xifb+R2F)y%nCnL7J6XK3je+=#M#m3eSQDQvXm%GQR!#P!tKR5
z38#iA%V_eps1niCELZIv8egzd6%ibSO{yW2#}ew8Z{R5WF+b*`viUKe+w(jAkU)eU
z5n)(Vl8Fi|w6IVpq_iK(NC-@PJAi-CKuCxWT7ZPMpzAWAsL4=|kXV}`EK+<hKP*x$
zw~F?b6<IxczZw<^?;9Xb2}Y(`+4ij0VxoqrWLXrA!lFn?={CPxzVx)Vv-7E9*im!&
z0bIqrJ!NIwP-XcK|GK_HT*WG;hi2mehZgZhEwvfb<YQ-F?0eP)&XfcXZM(1p3_7Q0
zs0<KDau;P1peAdzd0f<GlgZJPR3Yubwb(?XWZPK0Q&W01gkqnqpO#q--KDI-(B8O<
z>N_bQZUHNrNLRc<!3zZGDkgbxCMsGd%o@f!sgoE6i6~leu}Fe@?^4Aruydr+5}l(y
z+WA<NE_G$D`Ni&HJMvwRFXG$+cEr%Om}H2MjwPy-EMS#{Pf$@4^4C^M__w^NHBO5&
zGT5c;iH{_NPD>?V3liPj=;84w8w;<+r1`jMV-#^e9S_o+DL_echGBXb#i9->W;UW-
zrkAiTq=VwEf#%NbWVG^{@I-i1c?SXhUbbCj+lR~MREE%S{QG;b>GQE&i$Wy<_+zC2
z_>~d>!Y9~^x`NPHJmVGo7zB#=wo~8#BRXB_vjTA5KUoBRrHrFf`n-)<$sfDZlXMyv
zl6fxC?r^FcNdiL9BTkjmj(3<v(13x2%ffQE)W%1cr?a@UkOp}=gWMfUY;aS^TP@5V
z%a7}B5Q_h0F<OnhxPM)Yl53nBV+N5IcTRMtrNNzDW1e7^@**b(8Z0v3>JOTALjsJY
zzRd`fr=-5I^&3=t+SE5P@(fBOi>#8~Q-TE4T&BcvIY^09>e~X@Gm9Q>_Do29vmBLG
zsgiX(lP#pdS#nEAp0UIihq))o7_3Qsdz88uvS%Lc-F1D#5G(fzH>dV4<3qnd1)U<h
zM)xGoEH1KZbk8`K7TGnr2Oi6c<Qm-r!sY3vYU&%Ku+%sG7O8K@j56a-f?s-lkPM~*
zq(xzW7r87Y^t=GpFD!R2Ksgk~`J9)a8j47`5uRoXl<p=>rZZWZ&MchXwu1a6LUVSq
zb|4hXHl2}!%#PZEl7`}Hs&o{LZHi1%06Q2W-o)zgK9{6rIRVK54(V;~PIz8aNLaMI
zC^GGY{*ccki-ZbB3JmC;hQ<mE=$^i<2<c7cV5?5$ys69(;7bN9C(G$#r%Hfc;l?z=
zDuH3(Da-AcpStP*T$CM_vOAUMAm1X^fWj)`{F>w!=PgpETas=py<AS*OlNm>2y!U$
zFZ4h}N@jEIQcj0h3Tly62;C{EtmMO$IJx!#1Ug_)sJF;j<+5PVg%VF!r}MD_`_Op-
z-_orS9=f(H&%l$G&=z=dlV!REES{2f8n9T&QUi<Y3ck|R9au~Ytol?QS#BXERrhqi
zS4~=Dm|LnzYuk7C$#M%hsQLgHo)r?soeUU-WwG&VWDv608re5mMVxoWQfmd%<#fiO
zyR^)1TU%zgttztH(iLTL+oFD%-6meE{VU1s^D@~mH(QqWj5wdGeX)g+#Eai<Nu1*p
zw7RIAt+g+-x}?0FTf4u-ERe`R;sE=?yHn)4VO)5D1hWYYCT_h%7*~nAEexiRIvA7w
zhImwOU`cv`m{SFqkzQcpLKBKL2-QvF35>Djo@6A2eAIfyMbWi>C`6P^$@cMz{6(bM
zlx&}B8Me>VppX6@GHnV59(oVPoEr4h-$SrX4LUoO9Uvo-RT>mJR<R4rUI?)^<nNR&
zZzEg$z#`s~oInOsnHg|pdn&j7tGqG>mD?CpUKxkVZ5)*MtAo)48;m}v3`pfRAeEQk
z_YPVARbFCYD!YgGNe7v-z)I<2+h8>RiCp7)8;16dsDBSP+2Nw$y~7Qw+!|JSrD2s@
z!zv#%ENJbefy1hEe^KYb;W|}rb*jAcvjep0fmNyp!<8PS(*4tHyaB}>wd%M4K*3zJ
zGU{B&!;%5ZkrRbn<O0&Gez*PMTiq1{R>p(Z@(@P%HkM63qE0hy@*mylg=}pJ+4)vC
z`-pok3$XI_P{y`_;FWHLx#KQ+N$$$bLcM!wN$kqu!u0XdQnc7C9T{uEb}H*doG-Uh
z(m6_Mvq1Uk@N!8ONw&wRg!7LRW8`w%YmbST5VFeyu<ssqEXem2T#BI}0~aj*gfXoQ
zPtXcOkE9&KqsqX7epwTqR0gLf*b{5Rlai6WAqKfFJgJOP-=N)6f6^b&f08|bn1Y*=
zz}CzV7m*b>+0>IlE73iqRXsp{fi0_{`7W2@(@OJNa6|LG@TAhbp3pqmMfMF+v4ntR
zBh_u?k+byB6RJBaJgHRY@{|N||7K8|!YqgBG%I=xIs3H;U=h^D-pWJ^NN`fD=NPAS
znxrk8Iz|DET9~f9LIJY1@V&eMp<0-~UVtzy3}i1rNEG&^7a(woM107RN-3DpCgjot
z)<vwPV^F(#z6UXMRFuEh`&ZafUO@kf6#`yB{|ckZ3+P|5R=^ABUtwN(0sYfD9rFad
zg#HvpMUve>yG9C56ID`BD0{E<a~ou^Bf3HTJkH`L+R$<zDP=F9jUwUR3uq$b-TN@_
zT15ND$zjQE_wS2Td@tbpA|u}m_<mc_g1{t&c{`_0a+D7ujMO_$22d6%63tou0#UOt
zSm8lg20+lu``ZWfrw2gNA5{2H<p9*nE8M4Y#_Z)4;#WCc_wov@s+<vcd7xAa+6H}8
zkVUW#j1Z1>AOvQ{ENaO0ej?GqD&WGYqkxE&+sIU29T)=42Bz}rz}zYb6;(&(ny(<8
zp$2SZs;D|LlaQgF0S}tEG%9j(8loZ%Y%$pfk|;NjLW|+!;?h9s^i(z+?2>}4hRO}3
zdVkQcpmm%abnK5pG;!fHR(>my)fo{!ZlB7Zdk2a5dSSSd+o|L*hx+O$D%`k&sLDE!
z<)U6;wgPX&xOhUP6=<WM3awQEH3F~DTKx(QA?*saRe`e&)yb&rf@>$5b1JG5kNoK%
zTO|Ify2-R3SgY{G-aeXv0htEmQDs2V84OAqP)1Q@P(e3I)#*uPU_m!Y)wv;6_E=9C
zU&zoK&`}?HGvyRM8K5F)CY(iA!KJ0?e1Wjk0tZpj0R&Q2H!YwVgKj!iHC`UpiPDJZ
zt<rqZOes%9H5EMR31cZ#U<FsVE&78$Av@eiv7(2hlWtq&L0s2CCplabIaPS~Nu~nW
zxR{6c0{C~Jlk^4>X`qu-0N)IBk_zC|Wdr*{B}PA$aUCzpoQSHlgBU-_x^{J6%ILV(
zxF6tkdOFZ+DxjwWy`}<sTKMYhm#7lDI#6ILpsND~rUJS;P+%&so;o#@baON1NRu@~
zVgzM$!20RR=w|hEk2fKO7xbG-XhRy$)sqUW4N=1YA{wsN?Cw!D$J*A@fl^cfwG5P;
z3al29!Eh~7O~=|qJ-Wn|nSi~Rm`Ww%(Xml>r_675ybYBDEGK~q*_C<IdcVSSDhK`r
z$rS4gy<sp_5Z6!xpw!C;!a%I_xpuj(0aBR1u;I7?u%MX1!UjiPS$}+cGvD^f`m$A;
z$+MB@g~~{H{-aMw_VV0%uIF<DrL1!6xXLRcN#)jYl~+5C<fpS?;R3WVf8l~tQ9(mR
zo;0$@siy4tei{JTUS8pAl^f2Tgv$5J=|Lx(p>nIosb{F%>M<fJqa!B8Zk`-0T-d`1
ziiHcu*yLePGhL#|!O<`|xP%$8X&g@}DNTJhHFqrw?8ln=mLB#)pV-qh%zZ0=ZfFjC
zMB5Cq^DkU7nD@5nm4ElNcfXvXc2L(ef`>QntvCPO)85GGM>_9a5Gcgy?kxrdWk$>p
za<$B?NZ7SnW=ydn{~v!?Z~p&z{(Fr1@BV8^!>Y`Gml<`H`R_(|x}{7{t=ZXU;ui~y
zO9Wpjfc*(-nf)d0Ny)zc1e<Gdcv4CtJ@LiJOT(j5toldTKg+_CQat$+Y$ly8uP#6X
zu3`KMMxzeS)RR&~vCS>AwS{bLr(AC)dj#3ab#{H<$1|gA8&43g>>4+r;W2T*rOBVN
z89ia7?0#!cDkIesM!G6Isf<)lutwQ7*S;wS%As<4#7NhMN0pK42_sz>o>WGvCybO`
zk*vDvNH-&h5yoMpw>J^S+F0-iU$7fsSC<T@Fz5Q*@8=P{?&*?8m0s%!Bjvcskh@XB
zKu>_q*6^f42YbA>vv}h2x%@^?sBK$#VsJBKfj7On?cvd&I$`ce6Vc2Vgt`5UXMecf
z!}XpCt(i`zvr$=g_3Wf=Us)P*UVttr3^^}A00cu$<JUKciNcce0%S=MUGM@lVqt}O
z0jjXD!koZR-XCPQM<Xz_#>p}2KJNXQDaq=97Zk=B_*V%%EUYsxpofKZ<^^=H2rqa6
z9W25NUO)#6W6KNZU|~pEr>>_{$LW+hcsp|*2e|HMH`6>OUN@*`a6tjh7hwc1po2vi
z!3)r%MdYBK9V5?{Pm0Ka7w}0DIq(8L*<KKX;dO!#_06F}`{~f0aJ`4?V;ql|9rk*;
zu)VX2kFA{Qy}ZJIdY@Ljyh=m_rp9qAN7HHBiq?0>)NWz@Krx|eEzIw+4Y8G$72DQg
zQ=znEk5~-NzSMz!${OJ1#i6w1<yd^YG?bQn%)yyVi!TesB@?rM*fuC>M}#+Edx@PK
zlLZ}HR0XD6&ZW~;pel|mGA9nn7aKX1L-!|)iEZ-(p_TpAH!Emg$7zZND+ALb2B*W8
z^rVzlUL6C}CTx0A8KAylkZZz|${_UwVYN0qsg9G)7>+YIVsJLl16*VO&<w#2q}4hu
zojwC~#v!VV<ckBLmgA9=&PcoANd<fEz9ZoLn+kM}_VJ*ReOq|sL_DaDCsemJJgHX4
z6VPy0crvI?c)NLQM?|R3hO>v^5J|G@W1|*)0dwZfA_ZfSalZ<754o__hCQP7vNP@+
z_s$Mas!c-LRDFCJ|CSxvE<p+|uo(ph398HIi1p1KgK8=2FhyEVr-#ab1~WWEMUVo^
zMuv)@fx*rvUKz+AOe1>{SRd?)0vNVI(g;Z%{uWzxC;Qr-_PF<sJ&#I)KHx=zom8MV
z>o7E4xVm0Me`iWx*Nf=yic+3>5&dQ3m~sfJi~g=k`-M>T*XZz?Qmi`O2$~(Ilj^X-
zum{xPoB15_T$`>d>2eQ6bY)#Ba-lWva9Vn=UIZSxrF88>cWi9Im%UQJdJ(j@r4+GV
z#Ftx3A#32=OBC<s&^v{m_7vB|4~}Vr_rqTKS*0lUA}Zfz!r1h$mr?un^y~se8n0#`
z4yzW<wFF#c=5CzbQs?gR_&olMPtW$<@cbUxY;iEZLo?XUP=1FZvz=u8u8$hCr1v;`
zH+9nJ$r0bI^?lr)qu$_`#My_rGupMgk8)>JYj<~WX9R0^{||RYt9JK!?o8F&-T&my
z)V%JLPWZ|`Iv`ChtnJY+d$?SuUy0w*9nq_F-Plokjs4n6?bmUceVbZ*;kJ7AP2K4b
z52O|g3$z)L7KO*z4Z3p}-N!qYIumEtQ93Jc5e}iWFEEd|c;CaLWhDpv9(O!E5Ww*!
zZq5F%y5Gv386S4{PVS5;?C#y%nR#J%@8ix)3%mO;cg6*F_t9i`->nL}y_1Kw=pfEM
z&E?vXw(sChqAd*b1h<8y0rPTKm>G~McSW#<)5-K9(X24Qz2tEA3IfZn=Wa_8EQ1=j
zEi4LP<6j<Y7--VT^WuFX#P{%$Ss4bvTeve5!|rb8&g=`_soBGg^W&S?4iS)c#kIsl
zJ>`Fl5)wZTldzT_Jyu_N0ZW(tF*|-LPe=Kw^^gNfQJDiunvM{Ml+cEpr1^F~UtjiQ
z#aa<2Q8}_XWsq5gGVF<O1(AzfLZgSMZLe7BW7dUi4(fX)^)ab!nx|OaXd9Kv&QLj=
zRzxjrjGFSt?zOc<zIkF~>-s!HC$aP|-?*}oPSO$INO8ot$2XE2HQw<oo-uI_nR0<$
zrMPKuykKA5BRQI$RO7|~l50`H(0XoT49u^405DyM2HgXwDNn-j?}25<cWboquv;S{
zNj5;(u90D**LiEOvzZrB(O`YI7tz*KMVskEx-)G9cNS9-J)SJn;`~DfrKDBI6Cybn
z45a@SxD!1|{G-n6CQu4sOVkv=mJlj{E%8(U+W>Du&(?W_lqp|;S-?7I_<Fh_h~!`l
zL<O*QPuI0h!i+)PGrC40X>|_(Mhal-9vF=lz}7ur9IF8P=n{>B8JiN=P}!b7!v1jF
znd!lWI0hxTWjeZeK$M)3TxP?;_uLH#`Y!GUWPg;q0dw5WU1@~~tfpn+RE)Jp+}9VW
zm)mHG=;^lPE{3B=ad;kBj#3QGYAGO)pujM#mI5eAfHDr`H2_YX5rE-aeRmbqAoj-m
zsuqty_<8sDIO>2oG<C=6GQ6YxhgDGaMx9VW*%6aKMv>tYJD$MkF%+0gp`dKI8S22?
z3q1i|HTI4$Q_{`6SZ3dvtFkq}p7o!MbZWn&8(HE##^6hP9O~nKaYL#0k>Z!yWH+|d
zb<Q-?&Uqa{z5saniUxE8XIZ@owk)4o0CcBnsHJBQKMF6k{%KWXl>MAJW}Oq4*v<KH
zbY(B%Y^F%72llHE`}1G@*ZK=FMOhiZl5sXP+sXsF%J#x58BU$;g_C$@rZG|{qrUpx
z6<?`uUAHp4&x&Jh&_-V<Q8IX_{EFlC?Yk(NqhRRpqNU~GMewi=oAJYo7O}QN-I!Q0
z+}Nj%*U#R#yl70v=`5#n4UW@kwkFgut;Y^+e)xaZx3A`1;uCBL$MOJ9#~7~7y1uNa
zjg6JP>y*r|h9a+qgMeB(Kw>@w`b!7ZH1v|Hx|l=%mg(L75$Aw)-pc9Us-@R@hvA&L
z5WdQEm;?T?y~V}m*c6kOW3zcV<QK}R10Z5mf;NebOPT3UCMK5-_vz$UI2eJZMg$|d
zAtS(OqS<ofm3VpjSL@r?Pdi?^HDJ_WT?gk2HMB-%J{0;a&I?e8bPmj^U3Xc1YS%-#
ze_nPyehMumTC-6=Xmg+t4%X;soHsk-)Ny(<KEUnIeyzUk1#Iy9AKaaAj@A5uuWlDD
zkvB7L%j<_}`;0zFU}HF~FPsR_Bn$1w2M`DAa3GBgzNheG!xOk@Hqi+;m5xDCoL8C=
zoZ*zEnf&H^>%G-1TXld~@&{WZRo>74;NJT7B_rh<>~N-KCO|&l_>KCy7S@(yAx`se
z-dmq}k(ge2<dPC1QRK2NA!S__%A&wE^4*^yr%@jj5=KPRs(r_0p}Q-C%kTI`eYUS7
zXZCBLs^|gEOTv}oNP?}kKZ%rl6=gbemkQva>`+w5UN5H2qKS3I!af?<7VVFAMAsM~
zYwx1|7lNAF+oCSjZLYlo+M+Jblv1S4c2oC;IHp(pI2eTrU_?J`hi_H$H9MjgIEG#b
z3kFCUXsFY{71TokmQY^mkpd)MZuw`fPXwBpgM<7_7SXech!t5*5>UpaOmqPmQQ*@+
zk{!Vl>HL`P1W#fXg;@^}IGf|0ynxW%gCMYFWZ?)NYujH49CryDVoT+)Bur9DoX5<9
z9zI2yDarss<rp5yFRdQK!?8MalEVB$->g3;dP=_XTlI|{^C6WYik!m!pU5x&7M3(0
z+R-_p#rP>m=D2H8>Bp6WjQ>(YL0pPM4#Z>X<ksuXhkbN79+h(lIxCYp<v~2HzKC9J
zIe`TN2yRt@6eBYygp!y=`GL}$B8n%XhZpRK_JBBsRKL_TP$O$d$w%1{BQQ)v?bi>5
zX-m&JBW3KBq6(FWb4uflnzm8nj_8SAsfIWgI<8=9`JqMvfXkZF#)UP>4pE0b-4;D@
zNA0OxCD#1qY-^}a&Y4)@P(YhPDtk$Xx7IFqKJZS89UU`elSN<s0R&x&_ieSOmOT~)
z)8jeL3<J|!YfnKyibB?Qn`rhrgqdg>RUn!*7S!=49A>rizWRns)az(g{kN`?an!B1
z_@thV$jphd!<>pz%Q*fqbPr@EMNI=-=C|I*PH_QoqT(?DtJ2?Sc7QkHg8L&ok*y|P
zV6S5>$Hb3QVqz^FzpysOkE5kF&gIB?wF!PWL8_w%620fgD~R-I4mWgy9d`1q-{EK|
z>u^ekJFER5k9|7G<9L4ep8D_PzwvMN&qi-PboqDdXGK#V-IT~!3rAya&tHGC{uBA<
zPAaAPvUW`@UHro;8^J28M-3P#?%4S-XD**h<6Xc$70@H?QyF7o^KfsJEaB)i-*A-O
zth8X$cJk44Zqp8H6jH6#W0P9h<{CFqK~CJtfB$>+Cq}dRXTMk9GO@%KSL)a~D%F`X
z7Z9vgi>Pb>%)mJvR7UP)?Pakn$3|^YXW9=t?9h=&Rmyc<k^jo~>uZ0O#v=~i>d<c;
z?j@5Pg2oW%+#z<fU`9`lzq;kS=hzd;<CN_#R?z}4a<&)vFd>9?Qfz@%vQGY%R<drA
zcO!QHlcAw5FT20KIZq#`x8)h`sy%%eLitPXN9?8f-uvroCsX#fO~)<RMH~4C?yql~
zU@-`5OG90px3l>%^M}vab!^7P?0s8Tf-Q49S)GkRZD2#=|D!0GX>0K6u?;+b<pcG#
zEsak56>127M!~X<Iudb2l9QFzS~3)l?>RHS;QO3ay#0at_)icN$*?Kaoc1B*YvJ9%
zotm#U2T}z`M20C<_)<g=foMB16X0;BQ2NAzERZ3Uu_bD}9GeUe#-<6Og~ry&|1g3f
zJNbW)I7O<H|Bnc6NA3#&oGx_c#sQUrZP5&s4R=}n&$s=cz9E{*pZSCO&+v2b2lb2i
z`L`d`KQ|Tc1oa&3s*k~b{x3hQKR24rpYS7CY5I-Jli!b`e9NNb3L3Yv4rRZ$iynyD
zo7wAQC`;EeDk4cHMW0@e91%F6I1yvdf{MIK_zCJVO3N=;lAOJA5=W&rF{$e2(ezEz
z$);ZffiS>;p+>Zwh@WnyN*tY{Nju`{^k|ADimPZs3V4e;WNG~-+Y{PG6sV~4dR)U(
z*eJiLlgwQCAUtD2Q36_iH~YePD@f>$pky7UUF<%C6NlK0pwf|tY<nf{h!`#EO9SM~
zxp+zb&FSRPQ!I-GNZ9V`A&7s;WU@T9TzZjeajKqmzi#43J<s1YmAqhwf1_%>10vu+
zyMza<?J;j#(4lQ%&Dx&Le`*>8L7%jZg*y*Ho&4pKMwov%X@vQ{$s}t78Qirn)O>U*
zIn$QA&;QhD#RMeL7#oK;d}th!fRIv&280#8Q)oicOiiFrUC0&`!Rb+fBCtnAY241X
zCD6ts(70QYUogdx5Y7yV6z}={%J)qqUFiJ%6E>u7i(}AMx06YB53$yXi-)nf9A!fw
z@RwiGPS*2PG?A>Hp^qjbOZpl}={LSFSzQV#7pp^`7zxi~g7kjQ6uY;TEDH6nF6t*E
zeSYtE=ab*7ujHKdWHkTBX3`9w3<<#>HEn>5>@ptzaw}QAR5+82jIu}16ZjiLV-7pX
zRp5(Xp`eMF9sH;h`K|3_YyN{J$@-^kxBcO@VS08X9644TF?RE(YJTQjIC|`!aDUxD
zczHN_>_{BNe(H7p+<W3D>cp>$&u)Bi$>0>Pe>fxS**V+q%O7`6<0tjTe>tZy%c*03
zc~0Z8&GN-R%fEAVa_0D7o|%m@wu4dr!SBS&@+Z7JS;i-ap8fLVCnC-fyXiNRe~38@
z?1k5I?AO|S`W49!x@8rezt(A9AK=d)C-pkEL?d)9dQ@X|eD{U<x<@r;^GjczwABl$
zT(<~of!!J4B>p24*%~STaEqNtScI;rX#85})+FMsyCz=IOBAD0Cg(ePv38z^zU?f`
z4rhI~W7~PY=6eBPs)cj9@i^tkAS50w7C0~7j&Uxd3^j8BvfK`Ij0h-pIT5QnYJSY~
z%s7C!be!l;?}2Sz!FCV3y8uXsZ^A%&@@S8yZQtFwljCtgvMQg8xBEH>yBeboIx6%}
zyqM3&x^aHum7JBg^I46t{%Cd;p;-?2G*{-)Y};>^j@DGz2Z}%@+8t*+HMuK=4fES!
zxadLK@WLD9i;M7@0O;oU(fR^~BCS#aqf?%@HaO=kf5BbJleYZ@Sj+3th%nZ%Q_*P!
zStGu|uB3i+uznKG{;FN_hVvJ1>N6^~<zQ4>Ypotv82cVj<jeEe<A>40ESPv~>tnlW
zuob!Qv4#Lo!juYonrTXfH$Zkh)d_@RoC%eoou!DxxjJ&4`+DVG9+kE;1%c3k5G+$1
z@n%Q>JM;U`=8M{<MCO}1z-DCz9E{C|b%7zks~QX^4`1$pys#G0teGv=HB+YEp=X}b
zqxn6o+;gttJ_&+_M$-D)7470w`jPyv|0S7ua_3dCjulng`#7*w0SLtg0f~P0CD|?F
zQ+wEH@_QW3PzfIJ9*J!U@%(z;eR;Gde|)<!w(|BJ8Qj6i@O}9|R?}^<2t0r8WMd|^
zk8T5=GEQZT)?c-&_ET&aS<7xG`1_XpWuH&ZSqJr!C3siu#k*mEF)rk}*RsR0De!v!
z_n%K@&tV$%V#t9Hi5E3xN#DAw*13nHeD!5^puZbcZ%^s96n{Nm^M&Nx>6n<g)Y#hy
zM~mW;{P|x%S=^Jq?h8rpl0<r`PJI(;=UKY2KTn_OB|5o|!juaZPlHe{bSM}7(2;n7
zYng*oZ}SshNM=a5g$rT!xT9PY9|kG*xDbi4Vr?$|IF!Y%l_)<p3}^2fo!{GdYI}s9
z-$v|45of^xQFK?$6sUnlHF)``%71kg-LVhsEdv(dTq<<gk$nCP3`4Q`AAd1fx;4(0
z6k%6?hyf%~uzI-E=P~ln^T`w9Y>NPAOoLM%gZkUdB4Z9p?ykD9*Jy<Ku3|REi!fr6
z{M>tzpB&fOz;p2yAauh$9Fd#kAG;@+8-pvrRhs1AzbDzSIN81Ho{zov(;vCzO}AYr
z6HE`z`BK73_Qh*2_)@Z|BPN!X<gqw1&fol{WaZDx_64qc>x`A(eRZ~jm8&P<$=<{Y
zMyl<Tla3(63lze6@kTb_V*pO%#WC7OzsKwFvFHy%pZ;>PYWeXxGlq2uaw-V}%+NMJ
z@#W<C<d>Ad*8CJi1Do6ycSYjDXf3-d+TB^NCgB4jT=;rG6;h()1B$MfotUh!W2F<j
zjT@b1%c(|VEIO8-7-_Wnoe7;3+|(vLBkeJM2BJ87|C!l2rmVA4ZD&V<1u%G4D%|Yu
zkIQ8k_Y-!HeA-NdRBU2uOCh=fl*EOuf?-Fyn~mtjl$}>gAf@8pB)g)ddqKhkPX3jD
zO?v$sfv&(|3pWwWwO-I<kUkYQ9*l{E0s&6Av=g&WC(Yip<#f_)n+d&vI13o)fYX66
zL(&Kx5@sgK#tq{1xt{;a@#H1sbr6nq)Ym#UGr=j10deVY;Q=tec4oG99`I9iCpojw
z$!Wy!{?m56((gw}4htiO6(^zL0nlHmOqa$s#60>+vi2uolhZW(j)&8*+O^sUKZyzc
z^H;Fu;1ud!mf!T1WYsSrf%eHvFcHu6OajV4>gCc8P=%WrdP4%fI}-0iVmhxRowxf@
zqC{;7jzw@GpFu3p6rT|{<}>CGAh|eS{ng};qk8^<uO{2`k9{L~<~Ur6e3I~Z^4F4?
zQF=)lDyO=hNM4(N>uX8xMQaJxQL(Bf7(Hg2kHxU{GR39`I2&9I7^b}Po@(NorcC^q
zc5%x>R6ZxsckS1coW3o+H@S4uBxB6JV%cL6VEL8zCOdwbZ|CB>BL|7bc3ylJ1ZMyN
zTqQta0ffB=6~;1v@Y!9Fn)c5%-0*om^VMX3fCpms>t9Wt!QC##y)DKd)fdNz>!Eyw
z8OiPKS_xC>y~^e&%U^mTS^VS#E)Mf_{yJG!w%udwHiK1xcVhcQR?DP=q=7>j^?l+*
zvK7PrffLEOQJkOi&E&s<(`5>NE)!al{F~oQ7URjTVaHO`U6=hclYG&)lArG<UFIAu
zR|9hvw6l#Iqy(ZxNPtt4RG?3AoYFR<^JOwyh;)@VvmuqsURxbDEV7#=gr>^ZFe^=P
zd+L<U9n|uBzm;tMDd_pGsDhNnfJ)PrsFdY3mt$ZD;--_}Qm5|duq|2Owd{Hqf8BIa
zQZUJ1^zGzMko5TblDGUchxs@}k?p$LixGkr;jCZk*8J>vh;VfR{px|lOsj)gnMGZI
z*u`;GTI<MFyV=Pl&bNIh>0gLo9b-3BCCr*zDL|1didHXLG_i~!pfuRoq7>65e`~9;
zct=X<z-ZuR!e5aQkl_h&aPMN-0TvLrfQXB!Iv?P9|CT&&1!nJKyIr>Q0kC%wPu506
zqK^Ds|Az1Tr}_Q=mh`p+$&V&M{dH&gzk&bE_H{R=JyQg=?0{wnJNHNVlfIj*xh(E{
zPrR~^(4QN6gsiblBY=iQqp7MIszEKqdZD<7R%I%e_t0~kzx%t%GMO3JGW6?{-^C#k
z@fuC#C%;P!BFUGZOuA3_8cmwfFs0wUb#{d{F>2hIYTG`}SujgvU(#dUmI~-W+xKNk
z^4~a_tm}s@)`PvBvIV18QZ=_rL&^qa=JsiYJanMxRCIo%=vz(B3FH&B0l#8toKnnl
z#Yy|}e3_b{_k4qI)k<5kh7y~?Cumvd?p-<xw0R9uW8#_~TKyTfUem)UVrNCn;&kIR
zJa1wJ_a@MRy(pdFIoPUG%;OE$q)ofxli6!}v-Wv+1Einl-%FMe%KVG(B`cou-PPH#
znybcA;HEt@&a&(2?eQmcP72Ms4)(kta(#qlHQxE1H~@w8rE7W<yW;E9jcS=5<?Ftm
zZ0hmcr0B^SNs^34c4+p)+DkiM)*#V4asI;ZC+A{kheGOpp&-W;mo;}?cMcld1dV*?
z`^l;$arO#HAk@!gN?iJpYRbR<{bU1<#Nzvt^AT*9-JkqgzrO47ue}by)ag>MbKTPr
zauaFuHT0nV8r`98imqMYZp^7Y(>O1njv4_3?~K(1pa(T!{+MK$D=P6}<d1tGS#cIT
z6{Q^<ty{Ytg94NY8Z#-21%~nJ2a;Kaao~aE+~qO#rgP~g`dWvk00E71O!<8eB-@_~
z;N;~&O%|U3<Q@7nn{Ln-oo`3&Si9xSrqQz~+Gu~C&ZK~7GvZ}lvX}XYm-CnYAbBOZ
zaLlbV;+<*C+)AUKDDr9CL?b#3jwVUK>3luX?(584nXZ(YKaCCZu#BgH4U@n0hslcN
z1chu|GBxJn8)BKGkV(G(hsmR&efga~OuAD+POXrEIs)|&YdL=;$zCXNp8Y79dp;st
zOmF>$Ow?~C(4?#$q`U9il*v)RxUb59Vg?jVUAWvL&3gXvA0;c#r^efv7*W^?GrRr{
zT*LZH$&LYD3W`{}F&q;38eFYSS9SKiadqRlfSVke6{hy&shEK9DH~a7v67EQ$3X#{
zEYtC{V7`C$bjEeXMje2eSe#jSZ~T5^@o*nPtF6(dwff-D`rM93)M_@?X=%S}i{VV=
zH$;scPhbn$Ryyg92519c7VPHNz`^eliyA0ag@(kwN7%9nncNOOGxW2-Sm+lgG7O95
zO(MWx@dV8X+=;e!2@h!xS7ib5Fl{Sq4lG>Ko}O4GI6wG^zqBcnTwj<z`g}f2AlT#%
zXdCjXmf}5uz8D{&PPa7lL%e5U4`~4fM4j@Jhy9D?Y5v%HqnZEWWMf7C3-!hXh@C4Y
zq-AH6t9oQ!*j$WgLy?hk-a6&Rq^(np(>-K|%n8mFbUsE3Ar4lIZ?#eo^Zg}HB~HK*
z2KLpNM@}azTG_W&XCyPHQ{;_-x8=f{_DFsxT%Gl*4L?q^`5z>W4gG~9abJIggq}d?
zWY0ZRPk+1Y=<LH1JHOCqteQ$J_F{xEx*Lt~x<=zE{XHfz31e)L<itB(AMZ?4lY`<E
zDB{IX`$1xJ5{b_i)2(-=bG##j0y#jZflAOgA_Pu<m`6pd+7tb-DzlcR<^|+GHPV<d
zy0d@-^|KW`&Gh&qeibi5VeGHJMeh0fj`VL!Ni^?>rBj&tekfRd;js^e)QJ!kH7?0d
zjx;{@L~#NQlXz6$Ie!!nmlyJpvBpi&m-DxcHGXLkCaNH%S`q6SXFfCDSpO_EYnryq
z`y@C<ScLI#ID;_<-e~7K_(q7Bl3a?qcoT&Hy11<=Y@K>^5r075jdiKLaqt)CH;y;9
z4r#pBJdM|G0{7Bx%Wn8PpFz4Q%p_g+kA8n=D8JjoNZHNdzI3M%j>xdBwHxb2>Tr!9
z${S?NKBTVSmi>6jKL1R!aVd7%x>jS?7)yFZWA*$+t;R25<R5J{Ui%`8odQBq@$2pf
zVmK`cE~4nvm-?8xz<sc-Z|#Puox<T1l02u~p5SCp!48fgm-TBqYx56HG*%}P&iNgk
z#>(lBI=^GChge^J_C$S2lU_hu*kJYi^PA$OOWo)h7Q?lCN4>HB5=><aJ8IIiBIOBN
z9<A057iu^#kf{!Dz!i*#b3W8=FgdG+^5?Z1%kuBE8;kRQ>NKXF@Xsz(2Yr-n`ViF(
z!fB({&HOhf$%4_;6*lFy>BOrv8Bl{6O;gn!7@wKnkOAXt@2kxIN`D6pFdmKjHgO%^
zTrq&>5TEsUEZJc&KRdU~gU`^o9tu8#_Qq{MeWMlvyAzt=Xwo;l_g&EN%wTk1kDz9$
zaH-&G<EY@bo&QkMr7B$JtKdeO|I{(!snox<hVZ2`MLY9U{k(SM7lOP~RJ}Qmde|YN
zj5H7>98PSaY{3ATOMquH&$r;?Tkdc%Fktt=)dOMjc~Ej+n656x$}NZXU&Wk(CU%eg
zdh+W`FF)&LgcZu?7L`US5{sCvwZ4-7<#c0X{EjX8KTS8b>7(|d#>LUw4?Sa1V<f_i
z|JlWjck%ep#FECnQS|yl_b+YyvdUkyypgXdE47*PL8rc^NO}JGCngu?&tK7aU-bL=
z=PycD<zIYa@`LD)>^l1A{7v1)+3{z0<R9-g9;1fGdX4Ak{^0t?WAdANjmh|PJMw6@
zu_pg$uhG&QpY1iC79X`QX7m2$#u)o7?8u+9zVS?z^4*SQ_Yx((!qc7uZKv5st(r@c
zFYU<2@=tUdz5GAVHl|hKt7aRU0njb8h`4+5@60w{7ZWde#RewHzZc~<ZD@Qm{#2Zw
zJ=<6we|>(lcWrDuH~P|{3pO?WJc_=Q-!s>^Jld2$dUIn#{H>Y%XE!%~ji;a7+<0RY
ze=Ev=>CDE?=@ZBsO`+S*T<4one(21`*0MOZ)00&EoiiJo^;Np1aaMdH%AdBS@yutI
zz+RAQ22TfQD6cvjNe9>fy_F?J9fv;tvgGF@I)290$;S?L`^k|gdgq}p?@3-3NB^4t
z{Hv3*;`^ff^{-A|uiw?zB`^6;M*_ta2@to0X^|pfqDYVki4mRmL+GA<yQbFq>#2CO
zpS(g#P+G+j6qfzMF?(!{Uz8oI?>14KzvM}cmHh*-Rq6#yDeG><&|PQfZmhUd4F~ET
z?J(g-o;a-QH5{&WLeBJ&vEAL8r}LB3I;hzaTvf+YYkb4qP{m5a<;z}pmZ~<SRiuf7
z?a&@1s8{%`mMNz)BJ)Row&%}%a^uoIuW&jRbDs82>S<!-JH0yU!O~jv1n<M@)W~@q
zNOj(9Neu_;#rI6L&&3Dpy}DXLkg6e)1(m|LozR{t?r9Q`X(mgS>{D`!rCQ({Sfaxg
z>`8oJ>KBY^oyl%ZB3TxYP4pVny!C*kS_n@Jy5$d~E$;h-i7y|V1H3@(;SunIcCO`r
zbXj9X-;gviKoX4tSf(BYSgi#&$il{*KesU-#z|)agu8B>jgo0X7kQw31J-{>yGGBC
zZ_z09Da)`N@_GV%Mu0)Dp4H}RpSaMIh7QE_-TAxkjhAiw)P-6oT+j5`*4mvHDzhO{
zI`08i$Q}Tqa_bM~*FL4Oe7!Z44mA`|d|(8BS54*b{>jG0XVR&I*7PkLaIH=WfkG5`
zFp@Z+xmPR6&%UFvw0{tCReTZqKj7sS!?6-a)T$9bROjcwyNIK6iBPU**g*V_n~Eyd
z{P`$=_yJ}1>0w8|3>2S-=FG}<9A5zW1Ka!ggewSMhTfQ<u)@*;$989bVZlXe;ykBb
z^Jj>|D%mZ+_o<C;*Wf}TbOixpLkP&X|72s;I)Nk%#L*%XZvgB3ML*ft@Ni-Lq)jD&
z0|)|uYx4k{cQ0=&bNCL?eSj}%->QgYLJ(eduSZ~37N4!4F*tKQAI@bKzER6UaPDXs
zl_1}T$?W?s2v(#Ku)E{|ca+&n<hbhsd1&IJ;2URt<jG;1pto23y=>o5$&tqH&MmTM
zg3SaW%f74Cvad&v$=gqB^wtf})|$*Z01ra`MjH9$Pirh&cR;z}Ms^ETWi@pl7kU6C
zado&g&)%755!~=eH)`&=(|-RYKlaZg$$jF&{H4FvnCUnNG7}Rx@X*sg7dN9REYDhy
z-ZpFcS64Njw7yhyYT@0Nk2XkeODtV}#M9jNjOS<flO1n3I&(3>jjascve6$rcRo92
z5p$yNwX9hzE{d&GX&IC*8ZNa=kXp8?Eaeq4Z?uBvSfpmjyic`g_8=9*S_Mmbfu;b1
zOW_3w-h!BLJ~vYbR0(^zl*=T(&x?-|+1&+`-KhxgQ8*IpK<i9d=?RmZV`z_E-~QM?
ze)@~Af6M#H3i&x`4a{n4<}Q6hT%Q|%Rh(x{9fbj|M%J1<t+s@itF$CBXDtB@Yb#%O
zUwr8%)jP*~%-mW1y4w?_A(!@Q0BQw!`sH{jYrLQ|ODHj+!;@<)#G$baM4MUrj7XB#
z#))W)!_3tHj)Ic9zE3Y{T1(Rv0(J^P;+~&}psh`ur%<GDi%VJSYq7FBa$Yz`Ay0<N
z@Jegw?x8Y?#zADRAPdUM0G*dfeGcMu&WKhKB*7bfX5^yIcVN11JtM9#@p$<-CTisf
ztt&pp6^k<xwp;=g6jQw`>=6UiK|$5tN{MD8O8f>ujJ7vw`~kd?X<V?bnvRaS8#N!m
zAWRe95`86g41xHB(VZo)UD8fnJ`U>q`eSg-iaO_4)gMCFP~u3Jk1(GMP6aZBHUhyu
z50^ZZg9ag(V^O<D&)8hY-Ytd}fD=Y`;{}yo6r|Iuv-0Xehh{RMV<8{9L#iQ7nEW4%
z&s@UOjc;gp)S&tzf{W)02_&}lp$(HI6|$k&NWZ|n13pm2`SoWj4f5GoE(<Lv0T5ej
z&p}HAm!Io0c?%Ci`Hu%aSS*5%q{Th_T34X|ATIQ1E<VoNo<#QQPuzXTlE@S%le9Rl
zZ^TS4Esoog2&0D}n37YQA~SZ-l&yU*boIz43vKm1VOx#3Wvgc9_zDZd>6g3Pq#8}s
z9E_MowUQo*ujGk(Y9HKfX7Ozzdlm{4+m^w^i|^qCI4TM>F+M~S#7;P2yue&R6T@3c
zoFYz2TJI*bWyV=kZLyv2#qAB$#yUVa8l%ZBot3*5iM`aA_yRp<;vHFa!7f(*jb8g2
zUM(glcQMU*Z91wc$7^46okYM!o_<YILRFzlB%`zYtiUJXt>6JGfQZ5yG7*JR$Xg}%
zxZW60!a<&i68i7q!q8eO4m}dg3rhIny>FJ{5c4}FfQ}NPCirg~(858Klr)d3<S*pj
zVaDGPVF)>>i4^<X=JtWVwWT?Ku8xi=pL#APGg33Hb`}#^AsoMC>yLmq>0wNo2kfF_
zz~L}bS#s_5S5-u*S?8;W|J!uLFj8&V>v%xwCG88Sju%Lh`%}o>V1=faS?J)FShP|&
zxk;&Gr7T5>jps){887KOU{8*@w!Clb;`Z{1^Mf1!xh4jtOXES(LBc_yqm{#@)_g7N
zmZiKh?l;fo(%0KDm5E021!uMbj2#T|mJkpHHw1IGko}5<_`@pXhD?xQZWxl*?4z@*
zb3XhAnHVeK?1)aF0RBP^o&I`Z_?Rs_X0tXh0a^C&(5~SI*Ys)-H@b_-*j|%-NX!=O
zhkDldb+XgR^<?9R`py(V&|@&{^$DQO7u2?&B-<v^bL_M}C{E@V_vMspGxh~vC)M2^
zT&WhB+l8g;*&ed0NQSwjJ?g85_QcZWvzpK}TPZuq=xT%9UkJqt%4{EYU9tjY{Pcqc
zRjRrr4v9YvK2hg}7z2RiM$B@OelxMd6pk+WF9Hb5;Vx-kScLuy&?4r0iE^@m?FkG_
zfLxHM%rC%SSR@>$P|#_3P);9uIV337(I;krlnUPkJite0fmF>Kb{?RuS>Bdp#TFW3
z29;sX4za?~F^k(eCm<ng$&>(aBoa6;W*YY#@q)gkBaf6e0izU$*$YGT2{20fWTJ}~
zP9e~OKCwp6PzIE6CsD-a7e<bzc}z16$dXgcX|islNkHLZGV<ks8*!3KP`hL|PM%VV
zoxG45yux0l7F&UUdpev|?=V4%yb}rfJO7SXih3%f%ud}(5KNm!%EY-X#hR0rL8Y{k
zsORS-Vy|Y{bGx(OKTAnNpnEQzz~1n97w?jwKKg8?bVr{)BT`c)&FBy*oQk?Popp-g
zrQ^O9kShREI&~rJiF6;z79?L!;ze_F(o{mQaaf?J5G0Aw7JZqz3-n7u{voYFoZG@P
zl4d{??|S8)J$sOSHPFuZn`qqbq)|UxTX3yCN%+x*%g!k{pJS9rr{ZHXvE^4ZKWSHK
z$JMQNR|O05^G@hj+eab+X%!yr9FU-uV10`&C_!DmQ<u(?(2+G_iYRcTx&v1~AL>>w
zox#mQFr{sp*u1m%K&G9EZSqAfu&~brSLPL&4I`(Kp?Cs;aH9eSQbI2~nZNb_VyW1(
z@gsRm^yu~-m_47Qdqj_V)9L8Xc(Dl@_Vk+g8PXdkL{$<h$N=8AYV8{p*qgwW3Ydp3
z+~D&aJOb0OVQY46-zY+Kfnh5@`1or+{kE^YxiD<q4Sq<&Hu%BSrtpLBp-GdK9?`Xy
zT(i>_!B%-X`KJ5g$Mr#9Y1K-=nrUQKt>S)sh*gWYG3Ymm0^p^x=7P{a8`^38tXZ{Y
zX%;RrR;^|;ZLc|(mm|YQ5So*Qz&fhjr5*4a;7dSsU4D9gQ-#JqRo@F~<-XV0Q`;mJ
zC@9gjupySEFC#b=G5v)wW8nJ#1~GjzI?PZlFhj?$E_tqqfr#@9jw~p;EQ8v;%>6Xp
z)1kXa>xV{e{}EzWdlLuQ^&r@FY58EtCB!f<<A}~bBzDPyHta5LK_Vq~$x~eXEZiLS
zBD_Ys`aKH;FnJB7qe^X^N++Mip@x%UW4SH+EncCM<JpLmUVPxrU^bmtc3ymw_=kIo
zB;3A((4q<uBvO&Y5B<iCJo6m(MeWTL_QNM|(J6+9%H|s$2OAU;ldhQHH$^NWJh6<-
z4eAqlTgn=C7t7K|Wbm;*j;mC5C>bKA+_5?l;I7z}g9eux`Yk(#Y93a1)Sh0fc1H#1
z|7JS+4oriIIhlSs$z7A|b<#RElDe+Tv?2Yip1B>YEaL@D4G9jnWkco;q2-D7RNKaq
zxg{i!oE*Vh?_<MlwYsCMwj+{DV+fKOqo=5p?1Z^s1(f_TPNmS-lEl6?MV3F~)@$)_
zxwzJB37#rQScE47jFVp#uUO1cx=OU&*AK(*ygO(xkcYw574FrzqXnA)5;TFKTtE?%
z9(uN=$<2EPPCl+t(<_BI3SDk&gez5mzp#6Q^G`dhmnbk(d?flWy;-@}w!fk|+t=X+
z4AN9?;I65!^h{9}X$CnolAiLzCHw_4Il?p}f}6lNIT6u*ki^WS^5m{Td=EU_PLbHu
z+$eDjOPFow-qp^3i@TAg3vfDksJD1q4p;&nx4)RoZ?dz8KY4F}bLX!tlemvT!HkV&
zCuO_9IhGlA3XfGKpE0v&n76A^vMe{!kv%Z%LtL$a!~v6m0d1*kL0dw+b{=BCYe+Lt
zriSuJDAV9=L<l|<j}S2q(VlvbNB$7BS1)>eEIO6;Or=13aurIOtB?c*85OiwP-Q`T
z`UX2#v{#VjFu;arZ$NFLy^`88(O$9i#>Qy0SHyl8`)O%Uq{p7VSONc`v?mGqaA?nH
zj^Hb%u1HYS#Bp-sZBq%NYL^ml3)j$7=Ob}}jN?Whylk4CCjAZm@^<IHv#NmIGsj4+
zS2g?D7|xxXIfPah8q|09Kw!0Jcnym5aN7kWL?aA>aI3i2;y%`s&e3?HtLntP$*&Go
zqge$#5?3JEyKiqS`FUenAAyLBJVLMLeep!9cNyg#8W0#{AnVilUbM<iQD)vmsmok>
zs6s(Vrt=>2S-X(iTzqwRWWx6QI7}DxkO>5nuigiB>{A-$ZC+fTSgV>&U^VJxei@Fl
z<+@gOW6&JMWLtmXRHfo^tITCQ5|WqhJ0*$fhGO50kmXopH{KoIyeE`D5PtWcmCgD}
zmyiErt#4a!+!P+YC;Z+QdU=CSDrPr_-$A#^tIn;qJ4}E*?vjO@SRW@h&Ad1#NXG*j
zLcUtBUHDD?fbSlgl!}X&77uW3<yt`jjkKkSM#T?sz9~gLDumiwrfa-!Rk&Q&lcuw2
zc7?vJk>2jE;8G+qcPxp}4+6(@5|_);zU5PLx!g4qSH2!WZ?c&GJded83q*^`ZMC@V
zfF@azBfm(qZRR%zk3sz#wl}i{BZK{g+zH4=3?fS@q!R>IGaiXUaNd?1m&R>fN{%k;
z2fzHYO0%?w4<3f>2W{dF4#j#xWyglzpiah~RXrHqGaEOwr;*R=j3q5E+!-@#gZi$U
z5o;qK>Ifj!s7#bNTu$voB=Mzgq@&k#?uZ}u6575+DA5^4R-#QODp9YKR4`yM8;v3%
z3#~hK!V>8@ZHXYAyj-0N2w1)fp8%gg<Y^r_P)-k<E|>B2u!yM=coBXVB&I>+;8cj7
zhL-v}MYr#f9M{Fc$i(=rJ}|WCss7Y$3o|`T>%`O94kEzX3?A8PWL||9wF8Yn5ilf%
z^*K*dPF`9nZ^E5syo#bqJCmSa@p-vqLrEK<%DKWGjcft483wNMEpo)3kh~~6!dtPz
zk5gFc_d?)kFwt)OAV~z$g$9U`&0xevzdCFV;Eb(RVK%2?u!;l-xf9(;js!bws6>_`
zhY=|)Lh1f|!MCO)eRBX;F#ANF^im>`6IpG8*D9eP&a^g&8YS@x$U=AlvKpNa*~-j>
z9E{k?%+Xfaz|l6orF;-w64*JNdLV(EwFN+R&6|)+5pDxe5OaEqu$h+873!_0nL8hX
zY%Bz{j4Ncbpsr{WQFWbdYZ5%vMn7RB@Ndz&2jir)RmIK;%c=-7vIK$_o{>G>gzOjp
z%OAb3It|x1+pgeG`gz(J*=kb{JtO;YCuI9&?5Zg!F<*GfjI8OLc;OjYPyrHTwG?^?
zGuY#|lslpH+C!=V9Vx`|Oq!u@f**#p<?02phi9nZk8#gxD~MSUG<r0cx24T%f(W_V
z&A5j-*=h#@p{yZy^YX-Z<!mdL99nX<1;gMvJOnv_QpAc<YLd(lcj}xg9-y{xsm!^G
zb%O2=P~mIf-KW9|g`aNH)sVxaYj9FbUIcuFId$e-@%$mw-Z(s#`aV$XrsGrUHK1h^
zqOP<puSeZ4oR?wgPS8Yr7En}RsASv)gu5#pQX*u6+q}J`8(|J{DObUYM?ztCvrUtU
z^$b@L`;$>w#(s@(PPwzbD}DBwvb>kf_R}ZFubvhYqg1II3pIGTg%WIc{XOHpnH2%A
zxcY%^*pBoKGULNLmnmy0qTKetw2s;rLoeB`XW^4pvzFaV&f8y-{9L*GU_Bbk-~5)w
z+Gr&I?{8`B{^^k(6>E>@5iLQpy<yyJ?A91J_dH;yRW)rBNP3xsQf<<%$uA6?OWPc?
zM~PNtp_96`{5Su&v8q3^ds{>W41wkCWF%~@O|TN3rAoxT^l3K6H|(2*@mP7@Zn89f
zMB7@{+b!R?ku;df=XLNfqMgWNU^*+E)F@m)Rc3|Sl{eqAzi~<bbE9N?k0{%F&)Ai{
zMDJ(Ed^*7vbos1=mzjPryGHuj%S=Nf;KO@Rl&-Fbcj}*$F|wW59!iG|(QKnP4=E_c
zGV2EbDB1-a+{U3!j@L$Uc(f~0Ihs`q!7#EQXl+l&uw*V!&enAPK7Y6CQ~IwEmV$0D
zD>=WMHjCF8n_a6DVdEQ7%&D~CqfxZ<6Lq{d@`!?LG8Ab6g<dhKV$OjOf2@{I-^d=>
zf)cfx^Dl5{^6m-;3>$s(NZjR3(k<Ov)W9IeJ-{r^1W~tT2^M^5Ri)?GpXQZP2jet=
zR4QeWE-~CP?v-Tk;m&GA3?<nIxU>3nCm8KlAc`(h@7{2Uu)LW|!}lChfY?T5k2N~X
zr#gQ^nf3!MZL2YMV`m8A5i=u<ulP31C0^lu_WFsAv2E3^*x|EhEU>jTT^W@1^jFG`
zUSU<?=QBGwh7rI|hYc#g)(g@;e_t%ZM%e6OVn&1~1EK6?4T{T7YMU%Q;S@p+c(F2$
zWAU;!W#-S3R$r9CNZPtoAQS}}`9xYy&ap$aT95FEs=dC>0dO{pD8@G+LH2wlpA{(j
zjp3CV>WZoe4IBkwu;+KXdRjsZyll5;%2&jW;ceD7YP)7!Peo)%L$X5QgqQb5=l`PK
zp{)v)1+YrUy)%g>!uEu9cpBCl!?BcBLEuP*S;jky#YYQ1O?qS7qLJP>TRAklO$Gjv
zeE*vpXZO?Q<V2%6R*T|#GCDreVtWQ$X*tp`AR0nu6AQyqZFLu4wOi-oNqO1!i(aLR
z&!)uZIF=ju98(Xp6+ZVgrj4r82@{`esw(l>bn!Wvw)=(rY)XFe5+70xLHcpr`73be
z+p4HJF|BG{rgE65%hdWjnaVabyongBr;`$z;kn7wretcvWhyeXc-%LcETP(zPzA-d
z<+#f#=`i1DQu@dtAywwbfr&$WFGk`@!06$<ZQy68GqzeI%O&fN^E>LdBhs-=xuk*`
z^ANgYU#=EEXyQ6Q;7vosXZZ6C^>#mgMNedKu<6@WvbL!MIm&wsRyHLQPzFC^PzFER
z<eDEgb4MVPJSV$~!;os)UPq!G8%M<qjS!5IZ-z>t_HjzteJ{MrD#aSd?p(@OI*W8p
z^8s?g0_l4x^L7x`K-73C?XvC3&_R!?LO~y1E`^W3Ov9SvFQt%dKS|%i<1v}@qU<PZ
zX<sTLA?7_8?+7EZw%B2lLhU~&1?^(ACWNivpf{Unusb1EwQ_^H(lG*DsX~b%mMGSh
zeI!vLnLv&l?ZWm~^4P0JjCiovco!j(wgMbbzuZlfcgU?^NRuX1vlFCr7?!|~9`sXL
z)wEgwlRIb!6SgURA5CFVyNWeKvFQ<ee#ECuQEZ%D&&EyCu9_gS8xW(2+QG&EGkPaQ
z&WW22%qs^sG6(n1D+V_(Rkm+lF+kR#(HvtJ#vm!pF?M!$Jw_b2I3S{#+O7B<-2Ri_
z)(`ak{$r6g5x=nZEx#pl%E)&_C)Bx5+q;PPdiD=~$pk1j%Jnil)C8rMOH+X48AbPm
zC7#`8TegE9ZK{}!2#k=Y8zW!gYizRqx3InhU22nXMw{H~+s!L2<f~vq`6A!eFGu~I
z;PhFG@q?oSyk>c)I?fqEJvb0d1&~=`55(cX=aL${0BVCELYkVr0_ujmtLxFHdz$p^
ze(khtlAJBvNtP?A+~OT#3o&b;Mkn+T9T6*+uD!CxsLk11$YJ395N}bTa~Flo;LM}`
z$f(~H>2%qY6TazB>U9B7kg=3#C@gIZQ{|yB*c#Bksqs)+vOP1#ps-;6Q0er5H(;BR
zH#9BBR-WSf?C>j4uv|k9V=f4w26#0RbjAi^pnyane;Bn%_IcnjneJsJbfA_1on|Q;
z03YAOHq$zu!dfb%!eJiG1CG*sLRr5Ajxv5iVQGiC1z?aZA!8!!^ni)111>b=5A27o
z5m^O^$IfTEWga49QW$CG1UV3{_6TN|b17mj+xCwbrY3NQjxqNqNO~C9o|NPACkP;&
z{ph?B&?%Pc!%sV+{l;IMh{+}yikl;%rC_k8xXh3w5*=?;N59JCNsZ}xF2CWIm~`2<
z{Su2W`>tQ=KuPkT;7i-?!1NmTLu|>t;z|R?r2wwP01Jwcdw8;3vcTRtfYMepnamI!
z+=i>MLc+nUHZ{W~T|K|1C<G!y2OuqpcNYIlIcq;vn0Q;1bWQ%T_udV>OhO`QgIHE3
zGciQ=s*tIL8{>=v7R*OScor`Yz1QHNoye!)B*_-<W(&R8Y}|?6U2RAr$dlx&?e=sz
zy1T2h9`^LPZrSd8Ry?)4%V_L!F-HRf`tGXwPD<QbmUX1v_~?^HN>?34bWzB`M-i<F
z(FUsCj0trE%C>09j!2;xfeQErl=o|m^J{O{$0A3lL}zsacdiCU5bF`7r9F6f#MR)K
zRXu_pQ-8!&x5S<vLBu_O#MSztM+nVX#kCB{y$!`Pb#H~JP#8-`F)gyDMD9}NbPy8D
z(h2=6Puu!g!3nJVkXB|#&u~d5*=EKg(duA?U=~%O@E+*Fgu3+a9QKEuS8Md?8hLQe
zvT1GvRa*4T3ZT&5Pyr-5TNJ1xB1ut@aOR!hFLjg0k3JhmKaRmaquAMvF7`Kpph!07
zfl(3x2;IoXu_OR~gl74EUO~2h6!j_;j%Gs&dvsgvc7}zv)}vCl`)x(@k4k}yeK+#j
zC+)J|-NZF2Ud3}<e%3EHhbEzeGblaPaOs^%@d9?s7K#_JTeecXfZcKyD?)}07hLS?
zIb0X`F+(Jyz(|0-%1|gZvoBTw5t$dGW?mq*&Ah0~F{127HW^B?-^A?1Taw+u4yZCX
z>Z!rhc;<)z0~^bD)z0w>kK*H~if&EZ#_IHO#B$9%E#{MUMELgd@};Ek>Vy=_l^?Mk
z?|J{oIED5dvoNT`u`Zz$CqN*Wq-PWaVyq1ZjihH<k)^4-B<JYsEkm!tGTSR>59=+M
zCaNB_4YY!hQkX{%XmA)-va5b**Jdgyl~$~8*45X=?;pU}kFh_`*4saHD@>I<fQ|Km
z@ZoVtnU&M_;n!g*S&xOIaZW{0%k*GStf4Olpd!S<NcDtocQ5>eZ+CSL_bFpgOiUGD
ziiM<y4y#=_;6D9=trK7iWR1H8<_062VG_~ra1n!GM4(&x5dxBNKbYtsT~u(bNQu)3
z6M-hkjx$P`ab_tjwv<w0YbhSiI*nWqRa>+C?H7VURO5ZoFd%mq@eKUBrUL@0CA^&&
z4|A2$GuU`0799Z4zDY;FV}injq~A?pmq}LoT{&Lp4@Ff-&&4Pl5lIlB#h8KNzjw?4
z*_-BXF=P$6e*>eSH)j_z+RS6{YDZ?9Say54LPsh<EDvZ+1y~jX!$Ade;hc823ARDg
zJE9w$3FJE{5rv`ljUleJYe>#qX(qwOyG<lC>l6^Tn~~TXk=UD%*mK=BNs37eLevJi
z-cF$0b)lfNyt<*FG$+@Gg3_Mbpmb$bQrdnqyy74!03z&MS{gY_MuS7)=-Sf6xxq~w
zH*M_XHiE6YSrus(&Unf^pX`@dBxZIB8iz2GA)-&1z0f=+xvaEOX!8=M=%bqJA_QTo
zQ_IhbPm+HxE|v2_iO(`3I_G$TV@L%EP=CRCkJa%S(X|em#~P_<WTGL#0x2Ydsa=zq
z!TuO}5UgR$h!V~=2H74GS3D@;?GKPQniep_qd4fDktm80f)^tEB|G4jnrJgvQ&ogu
zp`fA&8=hAqcq1M}!HC@y!h+A(?pGuVnqJeaMlsx1D<acGIyu$4BxHBb3Uk=qvcidV
zf2;^$n<FT~ko2dQx<qEyI04%9pums1BwnZ^{DdXLU{gOyN<5iD5x~J_Uonkooyk{g
z9a&j#5z<N&(mGoA=?Zk3B3Jw{L!%#vNpe{KeEwmqI{%=fVY9t4mJBO=K)cV-NC7iZ
zW7HvQCb6lq>$P*kHr!7hh&U9|6k}ObQ?V6hby^C%u^*nQ?Q!C6{S6<Uc~d`aO`g#l
zZ%wpEJ#ISEnCwh1Ub1w>s+rYm)~@TWpIy0O<J{(6x@p<+MN`BhIn$iuZp3Eruti5>
z`qm_t*P6HtTg(OqJS+i>U<&6<rR~dRSg<t7>Zoj-*Pe`zo2`9W*8jDvAHP)bSz@V=
zBAVEmc#^iqW1ejbk;2x*r7aqR{h)4wmQ0UKT+%*cVl#728OEL}e$tHoUOdxlx3^{F
z*-cz*)AASA$g4@V@|T!sdzK(%YvLk1Cv*!T+t$Pr72jn`#BpL~G@)Sd-q?e|BHd=Y
zYmoX0RYoYMQrSiAO=Mb^@!RHv#RCBb$<w#$z|iQ{>xl1Q2W`sgw6qhDu;*dI<r6d`
zWLniGhC1AhEfu~J1<;i%aM;8b=V~1LOk)XYDvn%utVuVgw8BxK=VZAXp~?0fQGOws
z5I17ZqW-kZgwW>tPB98Dq~r-#W~wQyPdgfmes@B<_M8fAx@D(5BSxnx6(ok>O&*CU
zsB<5YVP1rsizyMzcWXbgs6B|X&EfHv2B2UX!s;ifS>wc*P-~4_eZ1GBuozw2$9p|=
ztM~>2gBfMTK<Bc}!0mAYw*jGJi##U*LT^F@f%0#r{5F|%p1hJ`1uvV*pcZFZV@+8#
z$Wa3kTEF~4tyDfz_`pu5Q4gCM@AVc5N5b+VV<Y0G)s@DO6T)tXu5q#)A${>AKl*Zl
zjs~=eC!yRDhiy7>Hy(j!-GKY-PC|g1>H{U*^lQ2UgJU{=SJFYb{d_~vrG$%Y_i>GX
z(%hE`4U4BZChU=_cp>|qC^pE%gL+kvR5>!kG?)ba4oo6Smob>RZmU0WVE}a7SX}K8
zss<|QxT2y4ux0^eR#pqjZHF>!K7cYiw_;1`BZQrxTz+I*!Y7%dJpjV!Rj`)%UIq3h
z&E81X^l+$=5#$&|4DS{$r%e`!R@zp-pi(ws8T4?N_slXZ#)zZw`DAJz`ZvWuB&mSY
z^-*867&^s7Y(W6+RPQ?hWQ)N01riFRpNJ$iVe3p=qSd$$izva2Qq@B|hRKnpop*E>
znX2!x;lRdhF?F(-d#tY*3e&a{5jP>XKqk7!)~qDyqA)EAP2Y@^7yV&JX-5*HFXS)V
z`9!_Aea^($5;O26%VZE<L*FmzP7+y}&6e=#qxGr!PEcj>#D-Sd=h<!=9ru24HhJ2C
z8kgYAE#-aI*cM||Z)EERZk{|Z-s#<bBCq(2GR{f>KySJVnpAVev@nvjo<v8MQSsR=
z?|YwV_StMXCEKM>jjQ-kQvpZ&5Er*OSB-CupTR1&aUBS}gr@Wed=L{D;xS&k6Jm$K
z5D~^nY8wFx!L&tMW42(<xTrsFY!pgR2Yhi0e;aavIak_TU|c5g6*IKPUf3rrLN{@K
zwHD&eW-I9bHYG(6vtV8<Tgm-dfNn0n8g^)kz{E?k9gJz<4!Oa|Vl<ivYV1kv_1P-E
z+G<~2gT<hayD=+q(#dWko8j4+LPn6D2(>DN#oS0zpDUMeEv2~eKAcv+f*!-KS9!;O
zMSlHd?Os1yPt9kD>kPjRR6MAFW+O{JVaP#;*wC?mt_Hdz)jm8ebOEf;5qQOW%ck>R
ziKH+GRR`xx5bPVps$*2I0i39rcP4H1h+4|lFdlSuF}dxhkBOcP5?5HV!d(0-*fG<v
zX}=K6a4=Kcsfdfs<S_--Q4i86a9Y6?skq6x?jl}FdC4}&IfZbW1<}Uoq(O;TD1urY
znN&$I@JWj$w<Cr)sR0D}8xV$5EX3NDrUMufZd|uz2GA>$GwQ1;<F*kqV@P|vDqUu-
zgve2}42_w+gSjn06p2=RYVx<~WbJkWdw{DaM5TFG<Y%bB@xvJ*Vk;au-*Mq=KaU7R
zCz3Jzg;@P{BZ908v}ToLWc+PLMPC!pvYpLV?P?ym#d3qJ%@3;xWVx;tW3^bBVAkep
zFPv$adAG_xSgHJ{)&zTqPx7<8Wme^~mf40&TiFzaOU(Y&wEZ-9i&`etr(6AO6Su6<
zmSCM~nUI`pne1bte*=Y_7l+|I!JgK${E+%2<{obuM>7AtnmeYyMRiPnujPkOq&{H!
zTR%*Hi%77-HF~UY{V@IgxlTQ1&#|SWauyEP%vnI9Mp*5f(fQ@wjR&IWU-B=$xN&3j
z@k3Yta^n{o8~*yyaEC2u02eiKac5R#gR;)wkto*r`~3c2ZETAU=2sp~uFCV@PTokK
z*jc}mT*S{`-;q2o|IF_sE22aBH-0Di=_ec_NQip^xzizYNHnuf<j)hLY|<Ui2mI>r
z40<PiSGpPV%jd9p^Kbob@{|?_u&AJ+f;)dV+4@9xl);%!*9O;ema#mFZ_(7`&XJWy
zG6T(~n&`7E1Qq*DYk&TyM;cG;k6hkHC`g}L4u=kel%&vWNT@nwt(zhMfc8=7SGKY;
z8v<3vrU2^Vnoy$PBjEx@!tx!NA9XR0Y_j+n&?c=}U?i^Pd;Yd@5#zHh|7?7p`rF2H
z0OZ!cYdn8Zt%pGfAf!JDk81cg|6Sv;JpRJpHD0xC(1D^k?dchI?xASVAM3!Oy?@_$
zdK4Wz1m4CYDtXx*CC;M1%-4Miti3<K;8V#>eOBe+zLG=sSGu6Pwa)tiDn9+Lm|dM6
zlLKrP>1{GeG?YjP9n-`*T_(n1_cC>QaHVd?<j{=XdR>qFV|Mft*CPx-j?yxE@lxeF
zYPgsRm}YtyrM3KZpH9|36EqjiAg=TY9#TD^nTb5Zv&th)>)9QPp(=NkXRSYP)kolv
zdj3B?(0Ek8AyQ>G7v!Q-1+-u?u1X(Jg@m0`g@hBa4a63OO2{68(lil=!%xmBPYH0a
zJqa%jm7+dJDJA9+-sJ{A!S0^MmwT`}2u&btLscrkD=Gu9_6B$<q7-p<06C~$C=a8q
ziQ%Ddw~Lm^s3;3>)9V=-7iG!e^Q?#|>9Xi{D<Ng0C{YXp9lQsm@HG*B9^`-eL0~sx
z)L`f{<~8h%@fyr@onE(jJ4}1~*6^P={;!V^S!r@BlXGNdkx~J+l%ffQj1kT3p0Miq
zjJ<dmrC~^~0VKoFh~hu#SpK{ZaSDkdO5{j2RIkc=css_1vU+jZ-qD3}plYp}^XQW{
z^S2iK*z5|^i6=#@bhbNI>1bV15M+<CEQ}W9w$MvRyRS|nCPF8P=jjFdz;P~4HpT^Y
zOs<*-{6hai$E=fjs<}#yKx3g6k|iWS<d%bZa${Yf2n?QF317?tHEl7m1!XLH42y7_
z9zEqUti~ye1i}i{azn);OY-x~#9{$LpsETb7;zKNC5dG~9#*(wW<F&(AMonQ_zf>z
zw)mM9;-t{2Nanj8p2>jO3>b0eTmYxw-O~ewQXcTUIwuQBRB@3*zm;G6;l|q87Kb2N
z+Ljmw^fnO}m^>EYw9oh;|ImjU+t;wL9^*YgRKngZ24nSRKJhn=d*YjZCBNzo$;%gi
z1bm&4M+Ro@vsBv0{K1XMfzy;<^jB|8-dbN%PipOUo2b`l6pyic0Mps*Ov9lW$itER
zj&If<y=+diRAV~RVvJMY+Tfa(TKRkTC4V-CF`&C<e(=r7pQU6RLRy1u<W_2H9-Upn
zD0piu|Ii;MkD4C$Z$@cmN!iTG{Ju9O(_>@)Y$RX#=H$PQjrv`~YVVTJ2z#<SS1scZ
zs0al`wmWXF<~iAPY@%`K=Wa@lM$vydwDm2?E8_f}`;(>7Wd5Q3$*(K~gM8Opli#{P
zr@-2(SJK@H8c+>ZPTW=PmfTK&9*9B;kXtY8U&#Hke8-<8Pvs=B-~N;2rR~?r&btd#
z@=h)P;h!WcT5S-e%mUn;y!*CfNu3(=3*MG&ihn!GuXtOs`!R@dBEng1Ywf$|>P_6*
zZME;5OQ<-jd(e{;v%?$Tw>OYH+iEAz&FeQO&yW7=q5pJqvNDNYoxk!xa!K^^{9^}_
z-$q+L<DJPa3iEezwE4^PyWg4obTo2k`=2F?BeLZ$`t#(2yp!CLT!O^OpL|R5R^I*E
zEy)_*ZQYujGfiIUMeW5|x4TwOIV_xCerxhgUOx1Mzev6lMIXt}J(%o|e>ciMb1=Ck
z`CVjJ{?7-Kb%(BccQP7{f5dmDz2zhMb^k5-w`d~&t-nmZ9KA08#rGtCijNJ-t|F4I
znCLiXEFxJh6#}%Fpuw1FdLrNY-sCsv>f7I&Y+p3O7b5^i)?TEg?IVZ&^}WewBF@nG
z;GyJY!2jIalDD7zopY77-psypE}$EQCP+-Z#ATLUMJ5Hacb%u#8vN$1_a$@9sorYs
zJ;;=K{<!xg7cRDYw#AkO&baVrNAk7%lQWps)}gr^nGBlu=r97M?q#nT&(8Bjwc#rN
z;`@@99D3UOlY{mA?hhsHi!uI<D6kgD;lPbO5_MPU_i#jRhD9e*cH!fQJ>7|bYy|to
zydt@i8qfaxHx4H+L+kTh+QZmKUJ@+bTt5*@%33gd1wS%>qyVj~P{MYzdUs|*MJLlB
zj96Sms|z%D|GC*zhsK*`=t^Ljqo{W7$zS|onK^`~1+e;|)(4Y+j`DAOC^@4~AlIRy
zwF+FX*xk8H3}KTZ8ajn@@d|h3S9jYo{Y%(E38x>@&?tt+$B;~-(#mEFGug<@0bFQg
zzjK~OmOtym$%T;C6@QZ~TLK8@VtNz$CdD<D_dk-XZaVDI?5+IZ-y~=E$;Po%9%27f
z9KGqhY(hXwwAUntw|s<Q&_zJaztl8Ruu+Q2kQjw=WWc_Q_{0fZ3<BP5ZP}4z>l~g<
zLDD)sfaIXlQ7gacBS|`IeMSBk)eqCt+t16IfZ^Cjk`=Jspev(!<4AI0BJG|3#1Rg>
z7|UOIBw4vlE(wD=ZGG=LFB>Vx4){KLB$?&gdygb*^HoQZsYP1Fhb(pUtG7|U^>35a
zTbhATJ<qzl;cV2^>btkAtJR%O{=0vhJg;vxX&zye-B6?68d>janA5M-%pgL9z}ZL(
zxP#~-(I0$~F@N2)t5AoKG4{JFV(vBSB5}Kt44QWASq(J_Bs@w;HV7PG5)rBDa};`a
zl6M)(-L~GUtu=3kRwN36;+eAQmFf|%Qpc4c&Pi@ZS|bDtxwU}Dr08Tfxklp(zgd+q
z71N`7hlo|}NvJd^`YMca;;(7+r2dR%J};#>>ab`?wVU;)b3;c6qlm`nDf3K($LyFl
zDqE-pJXE%Xoc~OYX}VG)GI0X+XnzH`xB(XnhXhA#tetlnHt#}K`_M=@3*+@sJ2rfQ
z&dMy7VjFX@V_eZ7;av5ZG`l<Mtpr9Hn?^>Uj%9On`bkjcN)3I|hBS$qn9OQ@>4`~(
z&O>=!jDCXWOnU&umFc7gzRJ{h-9CS~?ShuF-R1)AUTOwR)Mev8+O4Zy0eXRUu@f}6
z2fgqP2U}U7@NUB@1swVl3Uq-4z6*dGiW-`r8uM<rloo}F*8Cr+ZC{!8?eJ<MrWhE^
z`hj&gQ>xVH3K*>vb&P^T?f<JhFqvU2^Z?g7$|6cv8g1a@p~a|@WDmFjm`$Q5ftjkt
z%!|4!*~n>p=()zwS9K#)SNYJ0M#s07UBv*tGOa0h9~EMuSM_wXO2~nZDODdK<{r?2
zLSSaHwD?!h@EY|K-@MgZL)e)1;Yhl>(z~nrVJ1BqJTYMF8&!*h7#V(U{k7d`+r*n^
z<Z(69MF?5Or>I$*fn-e*0d-<AdO<3<GmW*0jqto0EJv4XDg9FTE#khGz4yEfsckPV
z(j+dp$*#qMAR-5TYaNt+c3oW*-$6@C36AldLY5Vg!#W%0#?02v5C2`V_Of)<MF^o4
z!{$b{{ZndHZx*UGDr;SJzLxnj`5USBdbRd!gt+5YB4&y`zQ@lNptfM><oEr0<EN%>
zx&zV37IuF?WGy@L>HL{5Yup?y$-n=y#_vT-4&Cq@|8H$?0xnloCHhxY?m3xB)x8Nx
zNPwFG2xHEvGl%ga5M+=9K@pU2MiR&XNtjf)0TB^F>2}!dfCRPGR@6AXi*vMTMd4|*
z6$emJQR!}5f)8KQEw=Bs_C8gq1l0F^|M&mk=G58qUVF`Z?R~6QG@D;m|9Y+UbsnF(
z&N}4m-|X6}hS3Y3B@x8!HDeNQr)})?y%T?9G)X<C-~6LG^p)0a^!M>sT6yy;YR;>y
zLz;8cv9Gd@wr`5YM%#1L##dQqt$yhF`h4{H`mCEDyZL@IhWhz|gIiO_r^p%0$MhLX
z)j6qofO^wy*0Ji6S6km+I2+H&4WdNa`Y4kKfF0;1t+CP3mOAFiNpmM30Y4{AU4FfF
zz{%vnKed%A{4>_h5nW}EPemuwhDok%T1ungHE8E+*IVyp;+NlGE#vW)8!Y$o$IO|$
zvD=?-w(okr+1^Xyb0GYA5+|Ww)=O&O(1XkU<~A60&x=|k^KgoqyP_X}`Jar*y;Ib?
zolSMoxOG6ssJO^*(WN-=(p0yMTURwdrk)+Q-o)efZC38;^W54yN?;%1lF|^)j{8kR
zSV8*mJ`^H3%UTaK)t_#%=D%1v6bOrQtCRbh)lTHojwvj?z7<*E)oXTiuV&>-3%Xg^
zcF_&rd82jSxHPQQaWpEuguLB{#cN9Mn6j8VW+a9CDB(@@ZQ53SoA!M|#8?L?Dk3r|
z_$i`4PS!ept?@6OB5<m~#+<koL4!;V;M3t6Go@a9j@JCljB2KDX1&jM_6C42FcH05
z1ApLZNv5Tj;7d1Ia}P%;?L+1NA+QIV{cFI!{596<|DS*@+nxsZ{tB=!`U}98#Sl>L
zb@|MmWvg?0Jq-XFAZS3Vo2?ZGl23qkz2b6$dF<Zr86!YE1&6-YI(FQ!0t(`;7M@@{
zrgi&5{gU1fE;H$xD@ZzAp)N1It`*D|JQ2*holWn0lcKjHD*BZzMwY%0j$LI8&2jCi
zdd}9IfuK3O-K$=2Nr^xEc7)ih(V5qCP33-aRpCtealLHJOYZwXHo>p$@-(%%s*r>a
zk|0aNzuWb{J8&ACbKbIG=Bh%mn9TCYc(o28^Vx}bFm{h*nyU&mE#BW0>qi;{d<bp>
zq5()s4hEK{FImz)%%l!qYY;D753YmY+<|jnrXU;V1IMx-=dEX^Xxnb!kT&|8a4v~5
zfVSBo)OQYQpgbh+1{iWx;V%8k*|6<Iczl<au^&w7BMK<;0CN(&*&%b&R~5<+rp~{h
zj9gWyV=Yall%h232By>!Z>P8=*;p8?!lsCR)mIg=(<-4xEl*z?M;%ORjwyrTavkWc
zGN3+YBAy1oiR@YRI{B2Ap`Kby4FWFyzraJi&o_XF=<luP3vFP=^&JBHpdq`$1`qe3
z9MIP&_xzalR}jr?0Q?z5)4Uu+lMBWKoj|m4Sq}rE-rRK-nAXF=y)jJ?t%rkq)9qe}
zwg<HY(fa5A#fe}}F|}ADsB7F{8W^TAjk!M{C<Rdd45s}*Ml>!f`@h7r8pB3MG{Om@
z4I4xQ&2NQ~^l;Sdgvb4B30aE=U}7Rp^|D|a3kJtR0=G67?Q<=m=CrJYFd^Z7d=(fc
z)ZAsdz8rwm+z$xtXVd_J6p-sl-}}`yujiZB_iGa#Q%HtYW4LU!P}yi0d}5(Tm3xSh
zy9f<seWoS$nl8!h@7z6${m{Q1Z_lq<dDWU#`=dmpqB-lAv&R0+ZF}ZsJ$)-8v*U}=
z8YaukIJMq4{jDRDrt;Cprfin)Zn0Uec73k7RK4*w>p0O-5BEpm5hzFVw1m)Figv|e
zWE$m0T#ZCP>*$VYd=6W58TEx%qhC%@zk0QGM01|%TyM=g9G5*ib*=Vnf`7EmI|Y+l
zGb`dZ^pmh<mZ+sZ{|4)Ti*D5}a#<Oz2Hx5tI)u$~N&r&FjA@y~g$mDEhQ`-Zww9T9
z6E90J7NSjd;n1?BJ{u!blzTgjhz~$B9&=0v+h2#@%43RlT8P0ffi6TK;;~}Uu^zGT
zSWw(Tz;c<O6?2&+b7{#10{DvR6<nwj#^f$sjA9IwhAGI7K(835d!!Y;A_i@69^!-0
z9K%>@Sc|faJND4G82BDj$>`OOl89v6N7*LvIcoW{BtD;7p6FW}YXo8^S-{AS6|;2q
zwJ@5%w{LXpY^d=&0AEZ=O&yE%?&lP-Y6YO;G3<HK<Rh6h3vGU^B~jPl3;@(m>dM+m
zbf)HNi`sgZkr&wv7gZF3on#=stTnsSl;!BvL1~#jh3n4gPC8c?ZsSrNK^@Ivd#bX2
z7q@FqkuoSHA2#l*(x9AS59GDQM!(Or!CrlzJxdbJ;5yhVN%Q62x&0w-B{3oI5H(x<
zbxCl({zdFhueRu1_YoX_tB(8-veIUU-apoXWWpCtMib`S=Vm|+3TU%Ka?oj760r#y
z>K-+sK4HQw@w9Y=7(0TAdcRZ;kRldSFcZ)(?0)JAO6A^oo)AGm&7IQi6UYrAY2EWw
z6T4;YX<CNy1Wvnp7;)6VqgRKcBKM7;>UFDSy^(6Y&UKQ}4oIq3tX`;n)`uxE9<x4s
zmSxXs5V0(fm0KY7ROH-&=B#p474z(^1*(!(iTg`p5<s};tjq<ilVpOw(Og}7cyw8Y
z!QAx6Zsh6*QLl(g6$Ofz#c^qVpoGYIfG8s{9S!J0lFoAUM$|(LU0y5cGSa<;{RR4q
z6C6r9OYTY+uBT5j%;Y=c;%3342;b6joa4e;lhoW4UMbvFzz2tH2^PuB2#Z6BL!Ts*
zfi7#2FNC1o$C?JfZjEbqYSy<mV5Kn#f*l1Tkax5ovikdVLt`JLDG624%uv)t&EAn9
zdO!lSdu4<*5$K%`Bf_82@Ds!{%e@2o&^X>axwU#`LtaExqUl<?kG)U72|sDI&)2f|
z2|CvoBJ~Hrolp1D`C|eFD4BmBgVeQB%d1vu2Nr5?o%IR6?kqa1te0MwK5F-n4V@LT
z;V{7-t43hbV>#Ns*#`muMo+p2iLv|ijQ`y1?`xhs-k&~2L8t);5c1BOfxrL&&;bVl
z@aSIyz%rs~jm8APTd$7f%(+G;)@%~2P4K6EzicRIHN}v}zQPOo!y{>Qi=Oc6x!tt3
z@@#zt@LRrTR2V)v{R6A1!}NAduEX?bT6VlxQv9Ui%4W?EpKJ)3srSXucG4greH)Ak
zCZgbEb=KSYcJcPfT34Z+A$B?Hh&vXLb_Z@DgScC01Qu;*JC=u$@_MBS8Zl<9Y$=%>
z@$Bo9wnAv^Vc{^47#C!ffCXX_O$dzvaB1RZh{j0O0VvYB$XFe-qDP_!3CNtDg-Vt&
zP|+@zwR{O)rzK`B`?JhWe)f3<8PFh?1L_RJT?H%0+B)!l@w7T;Z#J@>i{?eR%5|oi
z?I9<I#=gs&-o4Xr`hbM=BX2T8p9ew9C|zQn$2^$*aXciZArxc~GUa5-DYW&#<nhaT
z0vCYZ$0X!+yG%w<{(kuZl=Qg!SLd5NDJ1OleZ)YCBGSJ)f1rk@T&G940u<J3FI`)G
z;q}&JOLwCleb|~eM+V;Hz9Q47?!Ns=_0&78<(*xVwUVXvWMQQLqTF{{bJZE|v<^B3
zodxw01wjIHByLTAZmhm63l2>1tK7k4H1Vc-`#Y_d%aQGA`^}v;b;iv7_nXDBul8`K
ze-KRW&yuUM>eF7LW^&HS1_!5d_(eWAA^Iq&L07f*%D~Z)Unr-&*bSIVfbBGioSs>q
z_A-aP2$npAnA>TDOV1Q_b>+<Y9D<lO;}CVvyR4B@=FT8o*BtPotuq%$iyZKpL5%fm
zN)d*PiYj+rS?0<tt}J9fL&D10pE!uH-)S=zsm{Bs1xL#rVH|28LF={p?!vm#sWWHG
zC13q(xMs{!SKehEux@H&#{B-Qads2D#02F-m?L9yY1Kjr!7%}w<RaWS=1cMdlBI}T
z2X=t?OHnm=mFvmo8-WMVB-EJQDS|7e&DdYvbC-4Y=?sA&aEa(<=M!okn@XO(qETY{
zIiV&TMbsG4tlRJ(y@nlg#}=W=b106=-BiopZ7n`k?%^UFc?J){k%xE?jx0BB5soaK
z5{@i4ZV}%h-AtO!@e6$$m#hWuGJ$Smy1L<ShZ5Y@_x<hACt_iP((P+zOqLMkVU9FP
zAZAO9ukBOyO<iEn-VBhVkS%rhcI$u{J2=k+sv~aO_o+z_3|%<RPZE}0MwqJRCd4W3
zYAqhp@={YL>`i!+_SWq{cr4|%AZpx?mj?x4>}j473iudVm`c<5Nt2ML_N)AWT)9F8
zp^6d4$1i!xiKyK?xm9oMAwFosp%Lm(ooKxd#uaU8wQDg7if#+;wda}@$%AXj{Ug#3
zKlR<|@GVmhtz*t;?{Yj7NlMcGI_i%F6#fhZxJeit?-Gu9nAkvK=tMPNG*@eaM8eFZ
zEE|t<I)M0?S@Mv>%i9<x%`F_=f3U4Ouv1Th!S3Hz7|pyG<AI|iHQO~wv~ker9FoRG
z*6RUXg72!Smp}-3@yI?>XHMUJI>Kfd6hCKl#7G?;GOH28#RMq(iXD4&gc9QCdd7?&
z?}Guv2rjp0f%7P*9-pb<ZHn<PYl8IALqZ$d(K14&Ro~Xa@*LEk6TW7%DtoR~ktBdI
zXLSEwDGhe?2)Whe@YbhViw+*;o4sZo<)ez)rkZVnK0z&g=M59naYR}L*DnZ04NLuk
zYAjF`Inx?F7zno5D4i=XJ!o{EJoX=*FEeeA9w3j-=mL3wznm!6hY80g3)mL+SChb}
z9edy)5a9Aju`9(&9G%TSI-+w#WArGLHna*wV|0{yvINgSO}cxQkDoFG<40zzUewPK
z2^?NLM;3UIs9bZ#AuZnI_af1I=Ey*Yc<5n|=zFeY%&;kq0j#_5_&ozQGm(kw1vB6j
z<<!7+^s>?3X|Lh_O3WVZEfetXFJf<bbW<Qo-P8maAlmpd+LRd;`k!s6RIfRu1gZMk
zgW&|=_sAY9kd~hj1yUfp9RvmBBg~q4vHp_#7`fZ!R+MSvnH(~7kSR5(btll2i-xFe
zdTf8P9@m{(>tuj$X)T5{Km;jlnvvHL0jnM)|3V$@33`<2%#;HT+)yBCMC$|cQ#Vtd
zy=d;-F_p-ol4g#kGCT@&6ZWWs`Aw$wy_r+JuwWw?Pz1C_@Q~G-H9kpSk=r!aC~7v<
z-p!<zwJupa6@S*U*4p+{?2CKWq0L{aXFThS`M=YgzyRJs5z{PTx*R@vxo`cv**r|0
z7+TAxeasv4biCgm)U~m-wDrKT>h9QD(0r@<T#QKmn)+jGT`~3Ze40ZpD*k(Qb%HMT
z?L>Vvu}*CLAW=^yR?+%KqRwAo9o+tAV(tX6QC5#`>`EqXUSZ8@wtkwZ^`}~gsm~v4
z&6c{KKGj+@iIJ%PIM#ZRB&<BnIz)Qjbewf!^9c2^<E(c#zcKNm<E@2LTEEhjSGN9L
z*9-kW=aPKzh_S^caPgt~J0ks*kE(-Dvz8tyUlk(~NP-x^6MgDoY&)0Yh~CzITg|18
zZfv*5CaX=SS=|HQAtXQv@_SLTEv-h{V~pmDr&*2+`l-{bx3|8xLfyU+2>ft`K%mJf
zR)N4HD<(d-(yE%ren?u{B@2791X=dypv~qUaL4)szGt>Iq$RQ(kNEdh)}nD4dt+ei
z*hOQz<t~!;Tczo3IyhT`ua~u+wIswI^t6z>5XNpfi_^p2n;F>S5_8fzY488!`f5S^
z-Du&49(6JKjlnTbXPBBKL3X=on-QoFt+tL|u-jTZ<s&C=n{>nCsd7p{LUcZW(Ss&6
zS+&l!RwR^dBiWfiLleFk`W~3?w#Ft)1OiM-0(N?%rTvZPT62ef234y!oog)>)wX%G
z9FgC1!#7NkR4&t#28fR1if|UdeDxSLR1VP)$tFHOK5n2NvOqA=MNRtKc0IvIGbf=x
z4OWsCv|mwt98zCuQ|<J9>ggyWIk&`^jBJyh|4L^P(W55LwU$p8wzo}x-f^1xk8=T{
zh6@l^i(U+=F#YJo)|w+GwZFz9A3o`d#r7)Vf6U6;Cy&3n{S8@ssl>r5VuWqA^TpPI
zMAfz={Pr0^5?MW&EvI7ncSHLZO~H+AmS|w$2sdJD@M+F$5!HlUu&CKzqefe3fcsv+
z4%r?MsMX6O^PFaS=VzbcGEC5c&YN@#lb%-R(5-NAb<KI!l9js&C<AF3w?2kS2hYk;
zC9~`jN3F-vKFTz&2iingkb$?_?}xF;&u5$JXXjxit=`l;P_-|#hL6|IUAdT^0+50L
z#yH9vW51g-wqJV)U+!pIu9Y)6`^zZq*J27#7w20?%5g~zGK!!jKBJ?vM0*8*qO=kL
zWdgfR6V1(xnl#`gSlI&&GiPD{q#apY(s3G*NdRv}1DdHPS!e22+As%=kIZoLWQp9e
zrmOv5!sX~a#$d9AZ&3m)ue)2U+ZJdv2B?9;peuu!#xE9zUsLoFQ(8_LXfi<^7c!Zm
z4+&@@nFeu86BL&<mXWNS`BF_4{W4ARpos>W2IRPR(Y@$EKDVW}yQc`j?Ojmg{-ZCk
z7LLECM&0(^E!YB>w5;_sH+skub}}R(XbTo`sAtcAEDe{of={wW`o|c)fdz~Cv{%EF
zGVv>dCM*iAP9B}18IA@73ez+orEzuT%md)}qhgQY!WL6Uz9WuR2Hs3lvo8QgITti@
zNQ^8@&C#KmwtPEA?nV&;;kqDWYw^Iagf<59_-QagjG2bI@rLG{<3}4H&g9VsBSmAt
z@MJ9s5#&k-jjaqt-<50d;XzGuux~s_Om&<3+6C4N#-G(QmO7LB>WFB^_3;f&JFL&*
zhDaz4B5)8Iom{`mL+e2>oi-mw)*tj5@JyQoRAU`)uUpt{cFFbb!6lMnXqZ@TFp3uL
zC2+G@x1=4?eL53%r0I+n_$7#I+7~V*7~5M)6QL};K>f?htmDq?Pg1i7*2T>A&c5ip
z|C{yRQ~kWRe!j&#+h0aYY47BpJJc&Lv`!b*<lf)57SyVVT*qrv6ZPbU){jJdKXj4x
zp#^<`yhjE<VNaTb47Sy$Utui~E#yb9uuc*!WZ}hDBudNq7hB7vf!AGZoh|Q=tg)6W
zYmL>uxG%@|2zqGe2TA)~Lg}NIf%1R=<Qp~q&Zah3S*uBAt@M&!GWO_-F`_;tkNB$Q
z*iP+^ADyJ0dWFSR0=gwxU@<Gifye<g1iiFB_EWl2M_+<6HCJu8#QN;g7Ua~z2#}Cm
z4pHLn(XS0&S#eIR@T!hWt*)!>-Ub<>dyhtZ6c3IdXE~=oGizuj0BQ1vqhOcOMceOD
zJ5uWafy+Zw7kD%?>zw8<)auMypf+aK#iAR1GqV=fx)I@;wQi*TE3;lpjQ_UW+W&Ad
z@$sw6gr*K)>~>fUejc3%6ef*MRbR@j`RGG>JCdyk&0SB%?`Q7rq=EWN?u?pxVt*Z}
zC5OH|l1&LwF~m0HXe17VztEYkOndz^1seYeMVPch-B(!q&BW(LP_SSqo672+3oC3+
zR?|xBWHz18F0Cc|O&OD8Ekg6G_hfZLX)Pn`10~#Ps``3q9WnQ(32SUdDZ;dd0IgKk
zk*x<?>W{_H{E1bSb%7jo`iD!=$S13RyA(miRV{LG($pnnPe<It#YE{sMUanNEt)1=
zaa12~)`zd;P>}F5Hfg3Biyy~&eMFR~pKU^<Kn-k=FHzU~ZTpQP5A+!nye@Fo=3)?N
zntJP6w6V#cp5B2cV|!D+1}~hH=w%qC?BWnQJ<5Vg?cP9y;f><X66elL0nbbmsw{1P
zkfF(QJCWjA5WJ6Xb}^=%tYq8tBiRo$*#;FnS*qhkv?8-pe{YDJL$zva=FAyACaPY(
z&YD**h;0@`y?dQ?^oe^&eGi#xZ`|`RgPWR7ed|}dHo)3XHr1@ltk+C`QeXxNwc3ZN
zyDqbiYX0ZM*KZ!WswsppcFWM3*54hW-gC>)V)f;(afDGj%<|@ECoX+p=;%q!e^zgO
zaOl|Pr`5L~9C~GQV&bfahW>HVY-3z*GsY!ni^aB7OLh${I*eoB!i%44JAy#w{wA>}
z-l3lQiuHnt6TdrjK~p{R_ttsCKVg~WVk~`s9faNf>BPnFw|+9zd~D+Q4_mLAG50(8
zmkC6ewx}U~3YZPsaFg2KQQw-d4xV-I!?-c2q(f>y|M0{gC#+AlbSly9CiS}yPkiaK
z)<|n&_gAb>bDMBu`fZj0*kjy$U@c|!)$bp`5Za|){&iMkmAdNd*4g7Yy+(BmEdo(w
zFTp1qM3oTQ^WaHxausn6CUS&SA5gtu@sRmw`zPP{WAo8=>S%($fbx1zV=;RL%UTzJ
zaI{AN5?wf^Ee;0Elf3gpjguQ@CULEn-UARMmP%^XH>`M^26WdTSj~?0H;q>5Eqa{=
zAF6xndkOn}f#y1I-`Gn_IMgXJCc2c}3f&U_!qwqVG9U?HZ;YO-2hE5?Q!%CZ!4PFi
zz{wIzrD3RdNZT#4=6m6-`kM!>MY9kaFzqKMH7)V$I_i-Jt%b_{b?cDBKlz(?enNjb
zO!kk3T`mJX=nO%!OnM=nL0CVh%WwL1%U4&vcIafABFGo@8GftPPqgMEyCxxNge6PW
z-c^(RszUBM09C!QYb`zZNU5%+9f~l`x0V|BxZc;rwiuGr8hTbpC<1*Lg{99#Xal)V
zkfZvG_mcqO(uu>qX?+3`n)uPTt%;_(`4P*T%7(jWdhO4sosU>2;O_p@Bi5Gv#NGWh
zt7!`uc1>2>9%YfuHWsD(n|YJ!9W2stM48Pzlg9L<)m|EMQF8y%_MQYcnmE;Zdr!tS
zxV^`v_5yD~*?k?Y1N(b?$yWCF;DEBf2XbI%%Ko0z6X?o6_4b}_%7lr@w;wbqfHR9k
z&j9lE=AO<FTb9orVGGIbp4_OxCLVgEd|zj;-94RwLWyjvVN-iyb%wC@I-|e2r&r%>
z?oHC0dpf#9FiLOkX+2WEjmz#{eG7+~pU(rwlEVWo5cANxdopRWyQkaMG=%49@?}Ov
zm?U(-=AI_h?K04MbFT)GK<5)JVu|O8v5)AOC!0P)GtL0pOj)T!Te8_VPzT?qyopaw
zmag6c+`Aovo*z*!{fTw#YQ2Lu{ntZgA9?3r*hfY?6Qz3(;th$y###>G9Z6;nd9-yB
z3;6$O3t716U%)Z;B*j?_)6@K=#xdFHr6SQ`{D8{!*Q}(a9*XH~a9D86I1tz?US+I4
zlQ*!3EF4#&_4Ed^o_~!<vazf;k2M7PiJ+G38}scCAv;|2m>vwo@FX&R1M=+IHh!A7
zJ=@05^47yTJ*o4kij!d#4>l|=;K77n&ch(qCH$ggFrc922O2eE>G;0*C1%%nlpMjU
zQ+NUd{sknx&#jv*iU<}hg~9jH1&kXguXl{84Nj@$k6BBm?(A*)PF(bub>+}(5wq0R
z0(ErKBKGqhe|X}t$E~In-u!(5KrL&{%YH`iK24<qdO7B$&bjyDiMju3ZL?-QP7x%!
zDSz+7>ithzOPfERc<@Q<#%A+Z>g=bii${Km{MR@Lx=$YaQ{&3^uO`0u6fCs)bM?pH
zSx?V-d6WG?Vd*;?SL$5|Q7Y9G40djiL!*!-!iFG7mc!EgpyY{He&kl2ETqZ}2=6(k
zg&Sqc^qW?we|yH7KQaEa^~TnuOVg_-M*hQkG1^X}vHbik<>oERC2h+y)_eC!Q%nBK
zdfUWT{|g|g2WHy)wHl3yU;V-QS#t^%mcL-r=2GpRW*?~DG1;ECSJFcDv&r@x^~cHf
zcD1QxU%GeZ#Q*-I^^@kr!+*kyJ8RDf`VB6euqN4Cn`)+IpZ~o1>c#unKW;WA*3Ytk
z*HkN}+ROLuK>giR`{|)ATQ_e~9n0q0L3LxtzEEwq?Q8ZbxImpc**-|!KFvO(JphXS
zK+aR^Ej!t(%0l&B%bp!<UAJMy)#>{4)@>-aY)v;@F}mTZEn7#ka<p2vnIGk~TQ{%U
zxMf{Fx^Cm>*0tqmwtiE7xjN9cSE(m0`>=UiHs{ONugi|vyk*OETUKmZU&v$QRU6d%
zrVs?MH+1JrwGUChpSjN@mrXYH8|wDyb~N$T>Gt%dy0~L6QO+#;IQ8ur_E**WXWHke
zUv}(Uj`>Ps`kiwcLyg9PEc#2QG#aybZkp6+Oy&7G(wFjFJiXBv;d!Ha`>?%Wyx`}u
zW}`98bF1BG9Kv(gWb^)Wp3=m7c~0Z`5uUSoez{I>(8Wu6e<Ob#{wm%V^6YheH(g5C
zH<5nOK>EshNUNqbE^aI)<4{UT2RnFP&hr8Oq`|k5$Z#7u6I#aeBL_4Zr}Ny*pESI0
z`m5^n9n_o8?_KI|M(o4p2ecv0^``zSP~75umHPIG?Tn9_S?yw!lKQ3k{o(rkWe1zu
zf6J&Pzt`!7kk;|Md;9^we!3$4MBdr3(CO{{8jXbCt9Z&}51{v>c}}O@B|OLXZK#*A
zZ$rI~zfVKbamk-_+$+Ct`q`}MG358sf5C6&(0_m2ypJ~yqu`+f8PC)OJEZSFkp7=_
z`X2!1VEP~G^dFNh>)h+`**g8PwwZZvnIEJaP1ohd`NcG3WS=90vi$~{b^2ZVG`yfr
ze=X_r2Ffq2(>LssesG<B9_fM?y#bC&y7V9J)4}0&g?am=A5o{bNFRg%+(%EKH`AlQ
zPFAVk(J6KQN15H=lAJ+0v8|298^~BPP~q&l!uh0!1L><shpHOAj*bJFq~1x8v>;iV
z=OB{p2F^0$Uiv>#Uy!edOV^DM+j|lT3-}|ik4$9jmHrk8|4j0G=`Z594E$=+WzBo(
z=ho?`klr0ge{r2YpY$UK($~?yZs<ShaC9K!vbsWVq#NcKvXWWKKz9It`MsOx;EcD`
z?>)#I!~06g_3HnS-vYrN)od8wr{NHcl9Bf+yqVuJ(<kOO8Zzr%`djMsw~;Qh?xnw{
zPTxwp46K)aFTbVZQ%H9P(#JnmXS|t(683o~12~cAD*mM7O{6a!NWY*?{}$zh8}`b-
zt4?1_`m%xa_tojA(#{bB>96HCNIKq_ONL-&uc0^aTSj^m>=s0Ce4J4Xa=soL9$_7X
z4W9(^oXqow{0$Gh|7f50M|fwI`{f_i@2r2XfiIH4So-f@+UI>I?}H6|d7pOyG0WYr
z{}Fx<4oD_8n14I(^XR`{;SPQec5p54P+;Rj%uulQdpu=n&g4&)riVnmbSWdqc^&IG
z%Cna~#&0SALegdJd+7o-P5%qXkR|A4ynx?Qp@;pw^j-%$DUXnAe2~8ue^2u+WH^kZ
zJdWq}{0-KB1L-0&a{gq1QaIsp(m|}hU};Y(z3JdagZ~@73cL6%4P8d!Ap_|@;kV$(
zF{I0&dQ$QnT8E(ekm<G4>-cdxK8*ZcdfcM6bnp%`&KSrzmT5`)I?~-<x;k)y?H&JV
z`t*89Jkz@9zHJ{=r$0G3c6A3$jL#l5wALHOfec%Eb4V9(^h8zfy~ofmA)nS7pP*?5
z*66)|n)i_R$H<rZ$Me2~=X-f)Y5GdVL-aGV(Rf8;8yQmIZz#yx^egt*Rxkep<gMVZ
z_x@3S3kEf2pc-zxeBH)NC$-*kPUDN;X%1~nH<Zm!f2a9tb?<@pkLC=cpROs3ZV<T1
znybsr>#FN!?f>T0t&yRP<u&a$uWBu9cGT{J?0IvBb<r*9#v<Ev?V5EPuikWdIie0c
z*gmK=Ti38IEw|3mzYg6}Zry*Tw0s4+@76VI%WLPh<#o%}O`Fq8%Qc%fZQ45T1cj$_
ziMsP(dqz78BR}-KBnm4hEc5v)y~IAUlX*pvhJKcZZWV@6bbuONYM-b+y2PH^PVy*^
zk|cKn*Na_0Rvhs<sFP<wx7*F!sC45pDB}aw_Ltblx05(63R<qbtn!@rAT@Tjy|Ckk
zK~*JwS_Xa@7io2{x?+iaf?BiGp4#!Fr0ck`AGzH!@ycvexo6o&bP6vDgR*p!(n(7%
zPZp`2tL@`D46vKVT_?!$G7nOBu}MzDBoBNq@Zu`(hF-K}po7f!gRm@9Cv^QXDbuB<
z1E-rrP7p<2<a%8vt`0FRc~ue>L7bIUx9a9qaHu37-;Tm8EwivH!zc?%=P+r1W!o={
zqF|6^=F^m)s7*`kGiG&*Bq}{O@{6t?Rfh{GPoFQ)bBn?+-82sX=@IsZas#V(q|R>V
zahY`8%*lQFsLE7rTWX)u_ML7}6;7Hsf$!#JtiHR{KD6yPepNY1mUi7L=*Etkc8Gmi
zo3$yj1fb+;?j^3HE;+=$U^s}ox#M@!)Ja{p3`=K&+P&PKr`pHZGt_Snv6JE0^$POB
zG>u}$Tew&BOE_x#A@;msCyT(Az>OW(VZpub#(s%e>i5g+XgCj35F~MuAoFw9*;{K$
zyz?k~nQo&4^kdHtqHfVm636TMDm}!0>97mz9M|=OJTBs}aDwL!FG@4Vaq`$ngSaY!
zaG&AL?^J0Rhk5EGrSGSXA3bMuQC_%Z*YASaaS=s9ylG(k<>7WbTx8%!kVIMLrQNVf
zlFLkqyAHDtRVN)|FKjc;JgJIq7Uw<)?yC7m*kL>O!Y*U-<0$A>xmT$*N7!?R%hav>
z!b`HC%4jk<uI_L95%$XAlDS7gL3a*QDy!qS_6Kv;um^LXY95Aul6ygR!gc*jy;_si
zJC3wZXa}*MM@5_$aapB);HxK&w3oG`DvPt2_cX|$Kv#_(Wgj|RX5DV?f|8(b1(}T<
zu72_&d;gIYE7lfy*>$2k3CJ!YKT<ayWnbJ0{49&ApiCk+Vo|ae7;-5q7lL7h!Z1lQ
z*F8li52sZXm#lub$OEsN<)^+$U2(Qu9$omk$6wVAyo7P4ryjF@{nZ<eaRbNooFH%#
zCxrGu`L2K300cT^;*>!er9qU3u$O$LdUClvU)^#HbXCDrqQrwjAt2vZKRw1iwiEkR
zQRR^z6prWle*8k^T!R<nq~*5T?&f(}#yQjt0tDSa-MHL-Mca!4aI{-?gE$VnELFc<
zZs%?24#0QeA5k}S-AJX5ec-Gps;ab`#D$Zy%w2VdV`purOsX`mz=k3M+^+hQV@Dk*
z73^}uD2+grpg2bZs2x(d409(at1QX$RNd&>^E+;t6dqlH4H?uPuC94f=)xhZGN?kQ
zN^<91(+0~B<yq0~78#hDWooo*uj_QPsAL9V9_Oi-`_*}7MWWo#q7>en0N^k$&i}A_
zxNF~ZWab3jGU~>0)`g&|q+XFAghe=E6gXb&M6MG@@k`8La>paV6VBERVTdm^$%qLC
z@A`S3ctPQHFVM*&m6wK29+b4*WoGHiZfUBgmfLd;r@7F#U)%}uEUs9<ZjmNw=w=t1
z27!x{M{XA7piAxt7wP2T+)q3Qt`3N*0G9jms|_uj9oR4GgjL~2SrPlJZJNi`D@;=e
zw8#S^^U}%EBCjsi$!!`Af-WrGWzAeaRf|Goo|n1Zu2Tg$5b!EDzeN4)WY#h83gl6d
zz}G=5A6BfB(<}+QWgaJKf@A<5CfRdA<ur`KNa#He^SY4&Mij-V=XdisNV`Q{8r=3^
zRau^uZswI`UApV!S(QMy<ao$Rlble@DTIvT%*&GMQZvakcM&CVm_Z{cYq{2xhPfj{
zoLJ<en`PNLlbi=oS_UG(+1%7AFEhzVt}JmY1aFX6P8DBXmrk7`i9slYK^}CA^(NUX
z61Pl~3|dZo$MZMTrMuk_K#QErbGY+HlZ;S;@{2C?5Q~zqNhh~UkNFfOl$-e(GFN?T
zg*|%IJ`|Ss8HEc{`dv3j5O;n8uEkfXPHBJU0MG04f09K)tG@4To{S{ju<7b@i_Y)(
z05J4Q*GGdWlQ7?^Hl1x(M^-_Rd2WD^N&GN#;~xGeFi;1b2l<Q$rA~O2so=AwFe>OP
z@KWE){(Ob2O$Fp+=0q%e7G@z7^5-jDV=BOQ(;^GPGz(%UbpAqxYwI4o5bSiFz;!Fn
z`%67sXK=+~?67wfIQk0R^p$3X{36TKB4w2khY0Og)#T%*6{>)jI9;f?tX^$OrxA)w
z90RAs_rfH(-jt4fIJt-DgZTsP{039nh5Wk}0}PY0@KbkOmu^Q<>7%d#>!=%KZlP9<
z*-57;X`*6`j?YiOyiuiVAkD<fQ5XZbD4noaH>uTQcHD7_yr>Y*L6M>;CjM(o>9iZU
zL4Z_^OScH~=w?$oMu7|wZdJGI<zD2y)|Ad82PCgNBu{}tQr%)occTEl3mJNDRYEVX
zt4k+ojN*c*uDT&S>sC`b^gTaCU#-fn>#=&TuS>(nyvm0{At|RwZ!@K<G{|Azr~_^i
z<c0r+x^(GzIh+gzm!Po~x0}+Lk1|oBLg$VX#BOkhDUDVUp;@Dd1R>HZdSl&o0AR~*
z9KpX~70#Qa^ik~$-6F11cq1BbH@{OCZo46Bpo2bHl|>LFmHP6j_R;OC8@nzmp5_pL
z=!WXQPeq;Z;khAtQ7Gt1B^91VDhwL*_EEK>6mb@)ji=emM?@7#t2~YoqN2pUwK=A)
zJk4I99z4z7zg-G1paeP`QrE8tCASZs1*&CPUd8aks+*MR@Rj!BHUul^(`A`qc~Pb=
zT4^6S41+3|X5xl^jQ;Pxy{SHax_z*kSZU81h6Sd+i$39}ej0}FXr3#Xhp0cUv=3}&
zaSWfUSSBa-Vr2ahr`yN1v&eB1KY@gRM3PqO>eKDJhGElQT;{M*6y-Q^?rQE)B}THq
zb4rkiHALp7#k-p)ni;<Rh4$=`N+yCV0c)Kq3zNH>r>QHKApE}nLi^y6pn_k!fDP?D
zF3V(l^UOYUW+>+j8t~Gf2#c_bR+o0;qI*yC1m#|1&lWvqKXu(1_RLvu7f{X5OOcCl
zq279ieRK!I%t7Br8Sy+PO{@1BTnS1nn9NBM<Q~eT`#!z=Bd8B(M46B53{eo1zaJcC
zJ1XG$S=LRl!kjpF)%G*(OWI|(K)u5RgMGjRBh^03KC@E<9*UzYLJM6jcR!>%SQI$e
zFm8@U4}s=|_u;0!AzjZl%)QN_YI9kBM4fcDec%Xq4F?ZHr(5}GXWmDfMr%B(^qnH^
zCXQPrF*B=r!oZE-*>IaUL^s2HaGdC4W~K>BJB%WPEXptmqaAu6sIIVK7aXk+L}^ug
zytyQ2=WNA_YQxqQE3VnRZY#gn#$lQ#g%61rVUYXoC)9^uWRG^xX}egRh+j8{=Auuk
zM_<G;ig5sUgikn50#Eo<^AdICIra<Z<!jT;w3e3G$c_s<!n9jC1@TVj*k{hwJ+39m
zPty>UF?aYc_#cwFdIZ4}W8(T@h<$=GJOTCwtL(#$!X8dRhaC8%Fu`sQ5@FC~1eA`!
z#RN0Kb?#HEUxHDP<v{^;y1oMy2hnHLmDsHvC>Wgp)1)j>%_`@!I(b&=hklU6zVEtX
z*{emX?GxL`ztWGpT~yVu3L{5dvD!YNgT+RtNg=3)Vw!!yG@MtE9K1PU#mXefzG#x;
z0PC6M@51K7#O;2m9tNtMkGd9yn2`|U&N{h-O;!Pj1nUJIzHE}yB1lkTU57QyeJ}rt
zNsdy8$iX@&FvbyV|7enZP_snaO_RWbZu9%=WY<gKJNPWn%%eE`CzBj@GfJZSM;Wp{
z4!$bMC$w=-2m^IpR=3+tzgD-AS6-YVLNYWOH_soa+sF_%RTl-y$7;;duWO|1z_qa~
zuuo9#k|++oVNlemBKQp045p(adJop6sSI+0s3N|)*+Zr@A|cLrPy8JHr%e8*lwL6l
zHr542Fp~W+_rF<_d5WTeF&#1PtZ?IRnU;Yx;y6X4iE<|ji(RI4i2mjyau7mpS(M#x
zo6-?$fO1<%!}x%z@0ijFDpXRr1+0@y&--Un+D{_!I$*S5eRyH{-MTc`5eKgD9V*1p
z_e|-~LA^n1a2UAbXX(SHGz<%*XP(Fl2&VeJDcvnS2Tj6(*d0HuoFACd$P*E&UFL|G
z5BwjR(l{j0=P*$j3@W($qq=levhFEr8;%|3_J}Es-wH~mH`l{Yln0NRWNZ!ukb~Za
z&gO*ak4+;uaIm)USfTl)^zsu^+KJF;a^x^Q<k-kRmC{GGBSaQ<w;1iLW%ZaTjPVJ#
z52#R}5a-#?OyR5uoCvo862mE+@aLv52<_&ABlvYHMC32jC70Mob=(xE2+k1)eY!#=
zf7~Qvu#~XM(4|-WWd1Kra^z<iKnP{cm80@kCONI}dX;$zM@CYn>90+4RzwcV2>mkn
zB(9#&$s?#;&_Dn|Lc?KR{tHozPaQ?P!Isos(!tIw88@R3s8$C5s>TZYiye^Ag%_~K
zMU~)j_&1$A;^HjvD2I2(MW9B%L8|pUk<&+9a1rYXmdb2GFZlQ73sq+wGVc%9+lP#x
zT+lu`Ly^GP^W?Y4s^(4h(dv(v+fzq8FTw&$@)+8|n5~|KZ+5P-m#QZ(wGWyD<wqfW
zFhjSkAeY_EGmkq@?Ya`bfVa(FIuaK6&d>+2Y?ChH@TulGruG}R*$d``fy0s~U97h%
z$*Smg`_#rP!eLc7IIcw3PySbPwR&Pb5ZZCQy>yr*6CDtp(=Q`@iBC7x@T=?>j07b@
zEJRi%ekIP(-}BLi8!xpNss}3j>|xKZ(1M`8oK=dP<bOBS7hh+eu%Ntl-IlFe5H28X
zhz2f-HfClw`46n?Ex>B$IwtiGm)f&N@GN2(z+Y%2a{cg`L6D3feef-HF;yu6-~Uf^
z5P-c*oxau{8LkqngRB&r56dO!{+I54<uFEURfR?3$FO6x=|9xHuDaTus?NCq7vhs^
zQNd!IkjV1_ltF3jRvcMsud|OEu42p-*bru4l9$yVn`g<Cm#JG=<>3gwY>5y9H(=>r
z@ZWo8v~)yl`XUnV6e>J6{hyj=o2mz2X3rUcp`%CRUZu;RaGh<fm-SbFwi>_8?sVKN
z2NpTJ&WAm?#f|Eo%k1lB<CM*CD_1zOAcfewsdaZ#tyzbr`ohcYts`(n3}~#@(9LmE
zgs*9hX(%1AxvZ|*Sg;NNxtrh|^MVp@win*4+a2+6KB4*HtUz1FmG;`!OVpP)+DE9)
z27BQM{&w7+xTy+MC6xGES_9bH$-TUa#GQgO6!&ZKI^AR^!EFhb!OaZ~C4PCUI_C;|
zrS_SRpcdds!<NQVEmZyb)&OC3L`uT~9oTj^M+Le~eQBe8;&6$30n-uV8+9k{W^ZU|
z=ltvp1rZ-o<iP36Zs_0My0K|c^JQD@^E)UIG5!regJdcL=MEXis*x<ueLUQt8ma>9
z@{O%COr@J&#qIzLj-x4IbuiY-uy~XD!t3nQJ2?(BPy}KR!Hq1sQzs8&jG!2xsH4Fm
zJ^jCFse945P+sudqWh!3#04(AzZJ-Anal2ntb`A8;Js%nLsatY&1%OL_UPPwXLIT?
zm{#6f3{0W23=OHozGX%7<gIGwCi{lj;3x_t%-ciZfc)P^XueElL>+mheLWsgW{Ey1
zp6bX)^;Vy`(mtaTB1HWdR|7soJS*<s=>hEjJOl6(M}6!Hd(i>Um*@KL80>DV-gFs(
zvEiKszu_9VqKbF6E>x?pU_^h|jE^ddBFDi<flVQyqv&048@JCG!MTQQ;077msfWUL
z*K^2X1VNH@T~NG?BW&~P-Onx3#W+lHOH_b}4U+io)(TBrHP}%LKs*FblHfn;X4};d
zUTH5I!HGsS4|49J8kONat@T0x2Mw*-yzXk1ZiP$j*bKLmEuRCrD7+$AE1_^~$M>`@
zIBwb4QKKgxuI||a(OiGIJ?)?qR;(zmE%U3irXKhV+{ebmSBifzeXrWR#Xd^?+g5vK
z2fV?ffJ@rNW^kSIed?)K+b4}=F^&lru7~lC7ufmx)>(!mH(qZKcaS^<2Cge^ahyTj
z_e+Bbjt4J6_w^mNbiC9JKcL(jY`?>%06>c{7nq(Gx*ybdJAw-mZz{T7j9VMa=O5^T
zMLJmh^eU_zj5WNzsfX%@<0A?_)VkIn)$4DBtZ>SRjSurfZzzlC!!m$5%DEAy{*u?&
z?U5LddK5cYub!Kwfp>3fLmvZ%)!pmuj{0q7A2!V94u0qe2PXSpi5Gvw5YMpeSmCzL
z#EKWe{Lz}IP&obEVdnsY4hMAjF%EEuB`Mz4K%8dmAfd_ZP|Y{k&KbC`bJ!9JDV|xN
z`SF&o4Z0O8vaJ|&D^_eN)6MzX-gAvfTpOX5;Cb{h<k-^koKLh)HTLXX*NBzxV*la3
ziUN3O;(t<iHG(r6_JAcDh)3EjJ_Yk#gmhB>eUp8VnAj+2_>f{03Y79sx5~bSJWu`p
zYWwgGDu|El#v;x95T)UNsO8t#D@V{*A@#~FD|WYV7f-Zs3tt2F-1a(q@kkZni-cgX
zzPyAbzwf#2!etZT`zazrwuwGt+6_U<6y*-6MX0XsXZLCs-2h2T5zH(v=!Tzbov7})
z**<3WT5*A3)3I?>vICRGpKqNmIo<h}rXuOFp8){=Q9RAE2l9p1DxIy4zS-VyB*l2a
zorIS%VOO-wzSzs%My_Brw8ugMM(h&zOX}{M?GrnK7qDm#IWGGdSYJ=xjBSWR#KGGf
zV*cVoDpIVk+wDsi)LX|4rSdS@Frtbwa&cfK*kQNZ`P*JkPrx*0S1y7><1>n?e^lSP
z#@^V$w!+2Zq3~6O4}smU#&5ANM?Z$S!ZBQz{o5jo{;4%Ry=v>)P1xb<$}L}QwbyOr
zSGs=PmU4}b+WeaO(~b7wC+$gQG~g@tOx0yyjJ<(4d7w2bz2b`X*RAOXetx~hR=8#v
zrj>6<D`6*hkQGrGvB!sRICLHqqTXNK23oy<oiy=vVCG~nku-X!wO_Sv<G@J%XKNNQ
zr|XK84fQqormHq?{bp-gKV{3eTGyyWueV>J)?aN;>r_$2UNe+ed3l6#xl7%7t(|uY
zJVPG+C*(W$@xE=OVazT<*Tp@Nr&#ED_#JiB>yUbB3{!_@;b&|DMp#}VJBJH4fV~Vi
zWr8)DC*gOE_(r+Nz=RlVL~CU?^?UV*2G&u$K~Q3zblInH%lKi{zRkXfbsSPRyxyKX
z(nZflWuSp56>IhTriquS?XP92W$|$fmL=mvRq=lywX2Z`5_Z^Y$Xurz;b;EgK&7FD
zS-L*mm}@6XnX+##^TV&1dhU<RxI65Eiwt62(8%D>kMxjh$iR}$;8FlgG<`_uQNgfW
zhBTx$-DXejgtD{9_5ivr7O?04SQ^;e#{9`JW+5^{5d7dL>VMsCAKF3p&I4DxA-Fo-
z!u_c_;tpIrSk0AadtqF97%RzR>Y_XB<u3#4BX(JEk|ijb?$26N*Q~j!Sa<c-b>7cg
uGtBP|n~JUL{9ouS{o8xIHD%434OgwF)GsAD-Lh7G|4M$Z-?DZyzyA-RFm)*a

diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm
index 6c962c62d8156b4026a958286fb6d7bbd6cbc0f0..7bc43f97d55204d60854c78bd42f5c0f5adb81c8 100755
GIT binary patch
delta 145198
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
H7SH`(8D*y_

delta 134078
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
a+?U}fxwGe`NQmvy67{H#@tL3w2mc3&m6|F5

diff --git a/polkadot/service/src/lib.rs b/polkadot/service/src/lib.rs
index ee24cd0eb59..7ed649b672d 100644
--- a/polkadot/service/src/lib.rs
+++ b/polkadot/service/src/lib.rs
@@ -351,7 +351,13 @@ impl Service {
 			// Load the first available key. Code above makes sure it exisis.
 			let key = keystore.load(&keystore.contents()?[0], "")?;
 			info!("Using authority key {:?}", key.public());
-			Some(consensus::Service::new(client.clone(), network.clone(), transaction_pool.clone(), key))
+			Some(consensus::Service::new(
+				client.clone(),
+				network.clone(),
+				transaction_pool.clone(),
+				::std::time::Duration::from_millis(4000), // TODO: dynamic
+				key,
+			))
 		} else {
 			None
 		};
diff --git a/polkadot/statement-table/src/generic.rs b/polkadot/statement-table/src/generic.rs
index 11665fe1146..4436730b3ef 100644
--- a/polkadot/statement-table/src/generic.rs
+++ b/polkadot/statement-table/src/generic.rs
@@ -268,6 +268,7 @@ pub struct Table<C: Context> {
 	authority_data: HashMap<C::AuthorityId, AuthorityData<C>>,
 	detected_misbehavior: HashMap<C::AuthorityId, <C as ResolveMisbehavior>::Misbehavior>,
 	candidate_votes: HashMap<C::Digest, CandidateData<C>>,
+	includable_count: HashMap<C::GroupId, usize>,
 }
 
 impl<C: Context> Default for Table<C> {
@@ -276,6 +277,7 @@ impl<C: Context> Default for Table<C> {
 			authority_data: HashMap::new(),
 			detected_misbehavior: HashMap::new(),
 			candidate_votes: HashMap::new(),
+			includable_count: HashMap::new(),
 		}
 	}
 }
@@ -294,6 +296,11 @@ impl<C: Context> Table<C> {
 		let mut best_candidates = BTreeMap::new();
 		for candidate_data in self.candidate_votes.values() {
 			let group_id = &candidate_data.group_id;
+
+			if !self.includable_count.contains_key(group_id) {
+				continue
+			}
+
 			let (validity_t, availability_t) = context.requisite_votes(group_id);
 
 			if !candidate_data.can_be_included(validity_t, availability_t) { continue }
@@ -394,6 +401,11 @@ impl<C: Context> Table<C> {
 		&self.detected_misbehavior
 	}
 
+	/// Get the current number of parachains with includable candidates.
+	pub fn includable_count(&self) -> usize {
+		self.includable_count.len()
+	}
+
 	/// Fill a statement batch and note messages as seen by the targets.
 	pub fn fill_batch<B>(&mut self, batch: &mut B)
 		where B: StatementBatch<
@@ -622,6 +634,9 @@ impl<C: Context> Table<C> {
 			Some(votes) => votes,
 		};
 
+		let (v_threshold, a_threshold) = context.requisite_votes(&votes.group_id);
+		let was_includable = votes.can_be_included(v_threshold, a_threshold);
+
 		// check that this authority actually can vote in this group.
 		if !context.is_member_of(&from, &votes.group_id) {
 			let (sig, valid) = match vote {
@@ -686,6 +701,9 @@ impl<C: Context> Table<C> {
 			}
 		}
 
+		let is_includable = votes.can_be_included(v_threshold, a_threshold);
+		update_includable_count(&mut self.includable_count, &votes.group_id, was_includable, is_includable);
+
 		(None, Some(votes.summary(digest)))
 	}
 
@@ -701,6 +719,9 @@ impl<C: Context> Table<C> {
 			Some(votes) => votes,
 		};
 
+		let (v_threshold, a_threshold) = context.requisite_votes(&votes.group_id);
+		let was_includable = votes.can_be_included(v_threshold, a_threshold);
+
 		// check that this authority actually can vote in this group.
 		if !context.is_availability_guarantor_of(&from, &votes.group_id) {
 			return (
@@ -716,10 +737,29 @@ impl<C: Context> Table<C> {
 		}
 
 		votes.availability_votes.insert(from, signature);
+
+		let is_includable = votes.can_be_included(v_threshold, a_threshold);
+		update_includable_count(&mut self.includable_count, &votes.group_id, was_includable, is_includable);
+
 		(None, Some(votes.summary(digest)))
 	}
 }
 
+fn update_includable_count<G: Hash + Eq + Clone>(map: &mut HashMap<G, usize>, group_id: &G, was_includable: bool, is_includable: bool) {
+	if was_includable && !is_includable {
+		if let Entry::Occupied(mut entry) = map.entry(group_id.clone()) {
+			*entry.get_mut() -= 1;
+			if *entry.get() == 0 {
+				entry.remove();
+			}
+		}
+	}
+
+	if !was_includable && is_includable {
+		*map.entry(group_id.clone()).or_insert(0) += 1;
+	}
+}
+
 #[cfg(test)]
 mod tests {
 	use super::*;
@@ -746,11 +786,7 @@ mod tests {
 	}
 
 	fn create<C: Context>() -> Table<C> {
-		Table {
-			authority_data: HashMap::default(),
-			detected_misbehavior: HashMap::default(),
-			candidate_votes: HashMap::default(),
-		}
+		Table::default()
 	}
 
 	#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
@@ -806,8 +842,16 @@ mod tests {
 			self.authorities.get(authority).map(|v| &v.1 == group).unwrap_or(false)
 		}
 
-		fn requisite_votes(&self, _id: &GroupId) -> (usize, usize) {
-			(6, 34)
+		fn requisite_votes(&self, id: &GroupId) -> (usize, usize) {
+			let mut total_validity = 0;
+			let mut total_availability = 0;
+
+			for &(ref validity, ref availability) in self.authorities.values() {
+				if validity == id { total_validity += 1 }
+				if availability == id { total_availability += 1 }
+			}
+
+			(total_validity / 2 + 1, total_availability / 2 + 1)
 		}
 	}
 
@@ -1067,6 +1111,69 @@ mod tests {
 		assert!(!candidate.can_be_included(validity_threshold, availability_threshold));
 	}
 
+	#[test]
+	fn includability_counter() {
+		let context = TestContext {
+			authorities: {
+				let mut map = HashMap::new();
+				map.insert(AuthorityId(1), (GroupId(2), GroupId(455)));
+				map.insert(AuthorityId(2), (GroupId(2), GroupId(455)));
+				map.insert(AuthorityId(3), (GroupId(2), GroupId(455)));
+				map.insert(AuthorityId(4), (GroupId(455), GroupId(2)));
+				map
+			}
+		};
+
+		// have 2/3 validity guarantors note validity.
+		let mut table = create();
+		let statement = SignedStatement {
+			statement: Statement::Candidate(Candidate(2, 100)),
+			signature: Signature(1),
+			sender: AuthorityId(1),
+		};
+		let candidate_digest = Digest(100);
+
+		table.import_statement(&context, statement, None);
+		assert!(!table.detected_misbehavior.contains_key(&AuthorityId(1)));
+		assert!(!table.candidate_includable(&candidate_digest, &context));
+		assert!(table.includable_count.is_empty());
+
+		let vote = SignedStatement {
+			statement: Statement::Valid(candidate_digest.clone()),
+			signature: Signature(2),
+			sender: AuthorityId(2),
+		};
+
+		table.import_statement(&context, vote, None);
+		assert!(!table.detected_misbehavior.contains_key(&AuthorityId(2)));
+		assert!(!table.candidate_includable(&candidate_digest, &context));
+		assert!(table.includable_count.is_empty());
+
+		// have the availability guarantor note validity.
+		let vote = SignedStatement {
+			statement: Statement::Available(candidate_digest.clone()),
+			signature: Signature(4),
+			sender: AuthorityId(4),
+		};
+
+		table.import_statement(&context, vote, None);
+		assert!(!table.detected_misbehavior.contains_key(&AuthorityId(4)));
+		assert!(table.candidate_includable(&candidate_digest, &context));
+		assert!(table.includable_count.get(&GroupId(2)).is_some());
+
+		// have the last validity guarantor note invalidity. now it is unincludable.
+		let vote = SignedStatement {
+			statement: Statement::Invalid(candidate_digest.clone()),
+			signature: Signature(3),
+			sender: AuthorityId(3),
+		};
+
+		table.import_statement(&context, vote, None);
+		assert!(!table.detected_misbehavior.contains_key(&AuthorityId(2)));
+		assert!(!table.candidate_includable(&candidate_digest, &context));
+		assert!(table.includable_count.is_empty());
+	}
+
 	#[test]
 	fn candidate_import_gives_summary() {
 		let context = TestContext {
diff --git a/polkadot/transaction-pool/src/lib.rs b/polkadot/transaction-pool/src/lib.rs
index 68166288b08..d375c7c3718 100644
--- a/polkadot/transaction-pool/src/lib.rs
+++ b/polkadot/transaction-pool/src/lib.rs
@@ -36,7 +36,8 @@ use std::sync::Arc;
 
 use polkadot_api::PolkadotApi;
 use primitives::{AccountId, Timestamp};
-use runtime::{Block, UncheckedExtrinsic, TimestampCall, Call};
+use primitives::parachain::CandidateReceipt;
+use runtime::{Block, UncheckedExtrinsic, TimestampCall, ParachainsCall, Call};
 use substrate_runtime_primitives::traits::{Bounded, Checkable};
 use transaction_pool::{Pool, Readiness};
 use transaction_pool::scoring::{Change, Choice};
@@ -59,17 +60,26 @@ pub struct PolkadotBlock {
 impl PolkadotBlock {
 	/// Create a new block, checking high-level well-formedness.
 	pub fn from(unchecked: Block) -> ::std::result::Result<Self, Block> {
-		if unchecked.extrinsics.len() < 1 {
+		if unchecked.extrinsics.len() < 2 {
 			return Err(unchecked);
 		}
 		if unchecked.extrinsics[0].is_signed() {
 			return Err(unchecked);
 		}
+		if unchecked.extrinsics[1].is_signed() {
+			return Err(unchecked);
+		}
+
 		match unchecked.extrinsics[0].extrinsic.function {
 			Call::Timestamp(TimestampCall::set(_)) => {},
 			_ => return Err(unchecked),
 		}
 
+		match unchecked.extrinsics[1].extrinsic.function {
+			Call::Parachains(ParachainsCall::set_heads(_)) => {},
+			_ => return Err(unchecked),
+		}
+
 		// any further checks...
 		Ok(PolkadotBlock { block: unchecked, location: None })
 	}
@@ -92,6 +102,19 @@ impl PolkadotBlock {
 			}
 		}
 	}
+
+	/// Retrieve the parachain candidates proposed for this block.
+	pub fn parachain_heads(&self) -> &[CandidateReceipt] {
+		if let Call::Parachains(ParachainsCall::set_heads(ref t)) = self.block.extrinsics[1].extrinsic.function {
+			&t[..]
+		} else {
+			if let Some((file, line)) = self.location {
+				panic!("Invalid block used in `PolkadotBlock::force_from` at {}:{}", file, line);
+			} else {
+				panic!("Invalid block made it through the PolkadotBlock verification!?");
+			}
+		}
+	}
 }
 
 #[macro_export]
diff --git a/polkadot/validator/Cargo.toml b/polkadot/validator/Cargo.toml
deleted file mode 100644
index 204c356a990..00000000000
--- a/polkadot/validator/Cargo.toml
+++ /dev/null
@@ -1,11 +0,0 @@
-[package]
-name = "polkadot-validator"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-
-[dependencies]
-error-chain = "0.11"
-serde = "1.0"
-substrate-primitives = { path = "../../substrate/primitives" }
-substrate-serializer = { path = "../../substrate/serializer" }
-polkadot-primitives = { path = "../primitives" }
diff --git a/polkadot/validator/src/error.rs b/polkadot/validator/src/error.rs
deleted file mode 100644
index 1c8caf739f6..00000000000
--- a/polkadot/validator/src/error.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2017 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
-
-use serializer;
-
-error_chain! {
-	foreign_links {
-		Serialization(serializer::Error);
-	}
-	errors {
-		Timeout {
-			description("Validation task has timed-out."),
-			display("Validation timeout."),
-		}
-		InvalidCode(details: String) {
-			description("The code is invalid."),
-			display("invalid code: '{}'", details),
-		}
-	}
-}
diff --git a/polkadot/validator/src/lib.rs b/polkadot/validator/src/lib.rs
deleted file mode 100644
index dc139e77d5b..00000000000
--- a/polkadot/validator/src/lib.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2017 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Validator implementation.
-
-#[warn(missing_docs)]
-
-extern crate substrate_primitives as primitives;
-extern crate substrate_serializer as serializer;
-extern crate polkadot_primitives;
-extern crate serde;
-
-#[macro_use]
-extern crate error_chain;
-
-mod error;
-mod parachains;
-mod validator;
-
-pub use error::{Error, ErrorKind, Result};
-pub use validator::Validator;
diff --git a/polkadot/validator/src/parachains.rs b/polkadot/validator/src/parachains.rs
deleted file mode 100644
index 67ba56ed1f8..00000000000
--- a/polkadot/validator/src/parachains.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2017 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-use std::fmt;
-
-use polkadot_primitives::validator;
-use serde::de::DeserializeOwned;
-
-use error::Result;
-
-/// Parachain code implementation.
-pub trait ParachainCode: fmt::Debug {
-	/// Deserialized message type.
-	type Message: DeserializeOwned;
-	/// Balance download.
-	type Download: DeserializeOwned;
-	/// Deserialized block data type.
-	type BlockData: DeserializeOwned;
-	/// Parachain head data.
-	type HeadData: DeserializeOwned;
-	/// Result
-	type Result: Into<validator::ValidationResult>;
-
-	/// Given decoded messages and proof validate it and return egress posts.
-	fn check(
-		&self,
-		messages: Vec<(u64, Vec<Self::Message>)>,
-		downloads: Vec<Self::Download>,
-		block_data: Self::BlockData,
-		head_data: Self::HeadData,
-	) -> Result<Self::Result>;
-}
-
-/// Dummy implementation of the first parachain validation.
-#[derive(Debug)]
-pub struct ParaChain1;
-
-impl ParachainCode for ParaChain1 {
-	type Message = ();
-	type Download = ();
-	type BlockData = ();
-	type HeadData = ();
-	type Result = validator::ValidationResult;
-
-	fn check(
-		&self,
-		_messages: Vec<(u64, Vec<Self::Message>)>,
-		_downloads: Vec<Self::Download>,
-		_block_data: Self::BlockData,
-		_head_data: Self::HeadData,
-	) -> Result<Self::Result>
-	{
-		unimplemented!()
-	}
-}
diff --git a/polkadot/validator/src/validator.rs b/polkadot/validator/src/validator.rs
deleted file mode 100644
index 354bbf73dce..00000000000
--- a/polkadot/validator/src/validator.rs
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2017 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-use std::fmt;
-
-use polkadot_primitives::{validator, parachain};
-use serde::de::DeserializeOwned;
-use serializer;
-
-use error::{ErrorKind, Result};
-use parachains::{ParachainCode, ParaChain1};
-
-/// A dummy validator implementation.
-#[derive(Debug)]
-pub struct Validator {
-	codes: Vec<Box<Code>>,
-}
-
-impl Validator {
-	/// Create a new validator.
-	pub fn new() -> Self {
-		Validator {
-			codes: vec![
-				Box::new(ParaChain1) as Box<Code>
-			],
-		}
-	}
-}
-
-impl Validator {
-	pub fn validate(
-		&self,
-		code: &[u8],
-		consolidated_ingress: &[(u64, Vec<parachain::Message>)],
-		balance_downloads: &[validator::BalanceDownload],
-		block_data: &parachain::BlockData,
-		previous_head_data: &parachain::HeadData,
-	) -> Result<validator::ValidationResult> {
-		ensure!(code.len() == 1, ErrorKind::InvalidCode(format!("The code should be a single byte.")));
-
-		match self.codes.get(code[0] as usize) {
-			Some(code) => code.check(consolidated_ingress, balance_downloads, block_data, previous_head_data),
-			None => bail!(ErrorKind::InvalidCode(format!("Unknown parachain code."))),
-		}
-	}
-}
-
-/// Simplified parachain code verification
-trait Code: fmt::Debug {
-	/// Given parachain candidate block data returns it's validity
-	/// and possible generated egress posts.
-	fn check(
-		&self,
-		consolidated_ingress: &[(u64, Vec<parachain::Message>)],
-		balance_downloads: &[validator::BalanceDownload],
-		block_data: &parachain::BlockData,
-		previous_head_data: &parachain::HeadData,
-	) -> Result<validator::ValidationResult>;
-}
-
-impl<M, B, T, R> Code for T where
-	M: DeserializeOwned,
-	B: DeserializeOwned,
-	R: Into<validator::ValidationResult>,
-	T: ParachainCode<Message=M, BlockData=B, Result=R>,
-{
-	fn check(
-		&self,
-		consolidated_ingress: &[(u64, Vec<parachain::Message>)],
-		balance_downloads: &[validator::BalanceDownload],
-		block_data: &parachain::BlockData,
-		previous_head_data: &parachain::HeadData,
-	) -> Result<validator::ValidationResult> {
-		let messages = consolidated_ingress.iter()
-			.map(|&(ref block, ref vec)| Ok((*block, vec.iter()
-				 .map(|msg| serializer::from_slice(&msg.0).map_err(Into::into))
-				 .collect::<Result<Vec<_>>>()?
-			)))
-			.collect::<Result<Vec<_>>>()?;
-		let downloads = balance_downloads.iter()
-			.map(|download| serializer::from_slice(&download.0).map_err(Into::into))
-			.collect::<Result<Vec<_>>>()?;
-		let block_data = serializer::from_slice(&block_data.0)?;
-		let head_data = serializer::from_slice(&previous_head_data.0)?;
-
-		Ok(self.check(messages, downloads, block_data, head_data)?.into())
-	}
-}
-- 
GitLab